Я работаю над приложением и пытаюсь решить проблему.Мое приложение имеет службы 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: ...
Я пытаюсь достичь этого, потому что пользователь может создать роль с правами администратора и принять это.
Кроме того, есть ли другой способ решить эту проблему?