【发布时间】:2020-02-07 22:58:37
【问题描述】:
我正在处理一个应用程序,但我正在努力解决一个问题。我的应用程序有 Lambdas 和 DynamoDBs 服务,前者需要权限才能调用后者。我用Principal 等于Service: lambda.amazonaws.com 来解决这个创建角色。
我想授予其他开发人员创建角色的权限,允许开发人员仅创建主体为服务或联合的角色,如果是用户或帐户则拒绝。
例如,这个角色将被允许:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Federated: cognito-identity.amazonaws.com
Action:
- sts:AssumeRoleWithWebIdentity
Path: ...
Policies: ...
这是不允许的:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action: sts:AssumeRole
Principal:
AWS: arn:aws:iam::<accountid>:user/<username>
Path: ...
Policies: ...
我正在尝试实现这一点,因为用户可以创建具有管理员访问权限的角色并承担该角色。
另外,有没有其他方法可以解决这个问题?
【问题讨论】:
-
您在这方面取得了进展吗?我在管理用户时遇到了同样的问题。我最终给了他们 iam:CreateRole 以及其他开发人员以及 PowerUserAccess
-
@sriharsha186 我没有找到我想要的解决方案,我最终像您一样使用了解决方法。检查我刚刚添加的答案。
标签: amazon-web-services amazon-iam