Pour le moment, j'ai un compartiment S3 partagé qui a un accès spécifique à des chemins de clé particuliers (c'est-à-dire des dossiers) pour différentes instances. J'ai pu créer un profil d'instance avec mon nouveau rôle et ne tester aucun problème limitant l'accès à ce dossier.
Mon problème est qu'il existe un rôle générique existant avec des stratégies définies, que je souhaite également pouvoir inclure dans mon nouveau rôle pour chaque pile.
Dans Cloudformation, est-il possible d'inclure des politiques définies dans un rôle à inclure dans un autre rôle sans avoir à redéfinir le document de politique dans le nouveau rôle?
Quelque chose comme ceci:
"AppTierS3AccessRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [ "ec2.amazonaws.com" ]
},
"Action": [ "sts:AssumeRole" ]
}
]
},
"Path": "/",
"Policies": [ { "Ref": "existing-policy" } ]
}
},
La "politique existante" étant la partie importante ici. J'ai essayé de trouver l'arn de la politique existante pour essayer de la référencer mais je suis un peu coincé.
la source
Réponses:
src: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
Les
AWS::IAM::Role
types ont maintenant unManagedPolicyArns
champ où vous pouvez définir cela. Il vous suffit de saisir l'ARN (facile à saisir depuis la console IAM) et de le placer dans ce champ. Dans l'exemple ci-dessous, j'ai créé un rôle qui fournit un accès ECR en lecture seule afin que mon image puisse extraire des conteneurs Docker d'ECR.la source
Vous pouvez y parvenir en utilisant des stratégies gérées . Placez la stratégie définie que vous souhaitez partager dans une stratégie gérée par le client, puis associez cette stratégie définie à chaque rôle où vous souhaitez l'utiliser. Toute modification future de votre stratégie gérée sera immédiatement appliquée à tous les rôles auxquels la stratégie gérée est attachée.
Vous pouvez soit créer la stratégie gérée par le client dans CloudFormation, via une ressource AWS :: IAM :: ManagedPolicy , soit attacher une stratégie gérée existante.
la source
Pour développer la réponse de @ markusk concernant les politiques gérées - oui, cela.
Exemple:
la source
Non, vous ne pouvez pas intégrer un rôle dans un autre pour le moment. Les seules alternatives auxquelles je peux penser sont:
la source