0

Wenn ich also eine Entwicklerrolle für Entwickler für Entwickler (duh) erstellen und sie in Form einer cf-Vorlage an AWS senden möchte, ist der Name der Rolle einfach so, wie ich ihn nannte. Wenn die Rolle jedoch für die Annahme von AWS-Diensten/Ressourcen ausgelegt ist (z. B. eine Lambda-Rolle für EC2-Instanzen), wird der Rolle eine scheinbar zufällige Zeichenfolge mit 12 Zeichen angehängt.IAM CloudFormation Templates AWS-Rollen

Ex: iam-lam-Rolle-85C94J38RDE2

Warum Cloudformation diese automatisch anhängen?

+0

Können Sie Ihre CloudFormation-Vorlage anzeigen? Legen Sie die RoleName-Eigenschaft in beiden Fällen fest? – hellomichibye

Antwort

1

Siehe den Name Type Abschnitt der Dokumentation Cloudformation:

generiert standardmäßig AWS Cloudformation eine eindeutige ID physische eine Ressource zu nennen. Beispielsweise könnte AWS CloudFormation einen Amazon S3-Bucket mit der folgenden physischen ID benennen: stack123123123123-s3bucket-abcdefghijk1. [...]

Wenn Sie einen benutzerdefinierten Namen verwenden möchten, geben Sie in Ihrer AWS CloudFormation-Vorlage eine Namenseigenschaft für diese Ressource an.

Für AWS::IAM::Role (die eine der resources that supports custom names ist), geben Sie die RoleName Eigenschaft einen benutzerdefinierten Namen zu geben.

Ihre Frage schlägt vor, dass sich die physische Standard-ID tatsächlich ändert, basierend auf dem Inhalt der AssumeRolePolicyDocument-Eigenschaft innerhalb der AWS::IAM::Role-Ressource. Ich habe in der Praxis kein solches Verhalten beobachtet, daher denke ich, dass Sie wahrscheinlich eine RoleName für eine Ressource angegeben haben und nicht die andere.

1

CloudFormation hängt zufällige Zeichen an die physische ID an, so dass Namenskonflikte zwischen zwei IAM-Rollen nicht auftreten. In einem bestimmten AWS-Konto dürfen nicht 2 IAM-Rollen mit demselben Namen vorhanden sein.

Wenn Sie zwei CloudFormation-Stapel erstellen, die jeweils eine IAM-Rolle mit derselben logischen ID enthalten (z. B. MyRole), würden Namenskollisionen für die erstellten IAM-Rollen auftreten. Aus diesem Grund generiert CloudFormation einen zufälligen Namen für Ihre IAM-Rollen (z. B. MyRole-85C94J38RDE2 und MyRole-78DM29SKFJD8).

Wenn Sie Ihren IAM-Rollen einen festen Namen zuweisen möchten, können Sie the RoleName property verwenden.