我正在处理一个申请,我正在为一个问题而挣扎。我的应用程序有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: ...
我试图达到这一点,因为用户可以创建一个具有管理员访问权限的角色,并假设它。
另外,有没有其他方法来解决这个问题?