Im Moment habe ich einen gemeinsam genutzten S3-Bucket, der spezifischen Zugriff auf bestimmte Schlüsselpfade (dh Ordner) für verschiedene Instanzen hat. Ich konnte mit meiner neuen Rolle ein Instanzprofil erstellen und ohne Probleme den Zugriff auf diesen Ordner einschränken.
Mein Problem ist, dass es eine generische Rolle mit definierten Richtlinien gibt, die ich auch für jeden Stapel in meine neue Rolle aufnehmen möchte.
Ist es in Cloudformation möglich, Richtlinien, die in einer Rolle definiert sind, in eine andere Rolle aufzunehmen, ohne das Richtliniendokument in der neuen Rolle neu definieren zu müssen?
So etwas wie das Folgende:
"AppTierS3AccessRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [ "ec2.amazonaws.com" ]
},
"Action": [ "sts:AssumeRole" ]
}
]
},
"Path": "/",
"Policies": [ { "Ref": "existing-policy" } ]
}
},
Die "bestehende Politik" ist hier der wichtige Teil. Ich habe versucht, den Kern der vorhandenen Richtlinie zu finden, um zu versuchen, darauf zu verweisen, aber ich stecke ein bisschen fest.
quelle
Antworten:
src: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
Die
AWS::IAM::Role
Typen haben jetzt einManagedPolicyArns
Feld, in dem Sie dies festlegen können. Sie müssen nur die ARN (einfach von der IAM-Konsole zu greifen) greifen und in dieses Feld einfügen. Im folgenden Beispiel habe ich eine Rolle erstellt, die schreibgeschützten ECR-Zugriff bietet, damit mein Image Docker-Container aus ECR ziehen kann.quelle
Sie können dies mithilfe verwalteter Richtlinien erreichen . Fügen Sie die definierte Richtlinie, die Sie freigeben möchten, in eine vom Kunden verwaltete Richtlinie ein und hängen Sie diese definierte Richtlinie an jede Rolle an, in der Sie sie verwenden möchten. Alle zukünftigen Änderungen an Ihrer verwalteten Richtlinie werden sofort auf alle Rollen angewendet, an die die verwaltete Richtlinie angehängt ist.
Sie können die vom Kunden verwaltete Richtlinie entweder in CloudFormation über eine AWS :: IAM :: ManagedPolicy- Ressource erstellen oder eine vorhandene verwaltete Richtlinie anhängen.
quelle
Um die Antwort von @ markusk zu erweitern: Verwaltete Richtlinien - ja, das.
Beispiel:
quelle
Nein, Sie können derzeit keine Rolle in eine andere Rolle einbetten. Die einzigen Alternativen, die mir einfallen, sind:
quelle