【发布时间】:2021-06-02 03:09:35
【问题描述】:
我对 AWS 的细节还很陌生,所以请原谅我提出一个愚蠢的问题。 我一直在寻找答案,但没有找到任何可以回答我的问题的问题。
我正在构建一个项目,并尝试使用此 AWS 教程正确完成权限:https://aws.amazon.com/blogs/apn/partitioning-pooled-multi-tenant-saas-data-with-amazon-dynamodb/
我已创建角色和政策:
const tenantUserRole = new Role(this, "TenantUserRole", {
assumedBy: new ServicePrincipal("lambda.amazonaws.com"),
});
table.grantReadWriteData(tenantUserRole);
然后,在我的 Lambda 中,我尝试:
const role = await stsClient.send(
new AssumeRoleCommand({
Policy: getPolicy("tenant"),
RoleArn: process.env.TENANT_ROLE_ARN,
RoleSessionName: "foo",
})
);
这不起作用,因为我在 Lambda 中遇到错误:
{ "errorType": "AccessDenied", “errorMessage”:“用户:arn:aws:sts::xxx:assumed-role/ProjectStack-createUserServiceRoleB9D8AADE-GRDI6MWXA5MY/ProjectStack-createUserC6ED88E6-K0S95UXTN9MH 无权执行:sts:AssumeRole on resource:arn:aws:iam:: xxx:角色/ProjectStack-TenantUserRoleB79B8D3A-11N644X7UF0SR", “痕迹”: [ “AccessDenied:用户:arn:aws:sts::xxx:assumed-role/ProjectStack-createUserServiceRoleB9D8AADE-GRDI6MWXA5MY/ProjectStack-createUserC6ED88E6-K0S95UXTN9MH 无权执行:sts:AssumeRole on resource:arn:aws:iam::xxx:角色/ProjectStack-TenantUserRoleB79B8D3A-11N644X7UF0SR",
目标是始终根据用户上下文解析权限,那么我应该在我的 CDK 堆栈中做些什么来使我的所有 Lambda 都能做必须做的事情?
【问题讨论】:
标签: amazon-web-services amazon-iam serverless aws-cdk aws-serverless