#amazon-web-services #amazon-iam
#amazon-веб-сервисы #amazon-iam
Вопрос:
Я работаю над приложением и сталкиваюсь с проблемой. В моем приложении есть службы 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: ...
Я пытаюсь достичь этого, потому что пользователь может создать роль с правами администратора и принять ее.
Кроме того, есть ли другой способ решить эту проблему?
Комментарии:
1. Вы добились какого-либо прогресса в этом? У меня такая же проблема при управлении моими пользователями. В итоге я предоставил им iam: CreateRole среди прочих в dev вместе с PowerUserAccess
2. @sriharsha186 Я не нашел нужного решения и в итоге использовал обходной путь, как и вы. Проверьте ответ, который я только что добавил.
Ответ №1:
Я не нашел решения для своей проблемы, и обходным путем было создание ролей служб с определенным путем ( /custom-iam/service-role/
например) и разрешение разработчикам передавать только роли с таким путем:
Effect: Allow
Action: iam:PassRole
Resource: 'arn:aws:iam::*:role/custom-iam/service-role/*'
Комментарии:
1. Я предполагаю, что эти роли сервиса создаются пользователем Admin затем или через конвейер, который был создан пользователем Admin. Это так?
2. Да, роли могут создавать только администраторы