Wie kann ich eine von IAM verwaltete Richtlinie an eine IAM-Rolle in CloudFormation anhängen?
Ich möchte eine bestehende oder neue von AWS Identity and Access Management (IAM) verwaltete Richtlinie zu einer neuen oder bestehenden IAM-Rolle in AWS CloudFormation hinzufügen.
Kurzbeschreibung
Um einer neuen IAM-Rollenressource eine vorhandene oder neue von IAM verwaltete Richtlinie hinzuzufügen, verwende die Eigenschaft ManagedPolicyArns des Ressourcentyps AWS::IAM::Role. Um einer vorhandenen IAM-Rollenressource eine neue von IAM verwaltete Richtlinie hinzuzufügen, verwende die Eigenschaft Rollen des Ressourcentyps AWS::IAM::ManagedPolicy.
Deine von IAM verwaltete Richtlinie kann eine von AWS verwaltete Richtlinie oder eine vom Kunden verwaltete Richtlinie sein.
Wichtig: Du kannst einer IAM-Rolle oder einem IAM-Benutzer maximal 20 verwaltete Richtlinien zuordnen. Die Größe jeder verwalteten Richtlinie darf 6144 Zeichen nicht überschreiten. IAM berücksichtigt Leerzeichen nicht, wenn die Größe einer Richtlinie anhand dieses Grenzwerts berechnet wird. Weitere Informationen findest du unter IAM- und STS-Kontingente.
Führe auf der Grundlage deines Szenarios die Schritte in einem der folgenden Abschnitte aus:
- Eine vorhandene von IAM verwaltete Richtlinie zu einer neuen IAM-Rolle hinzufügen
- Eine neue von IAM verwaltete Richtlinie zu einer neuen IAM-Rolle hinzufügen
- Eine neue von IAM verwaltete Richtlinie zu einer vorhandenen IAM-Rolle hinzufügen
Lösung
Eine vorhandene von IAM verwaltete Richtlinie zu einer neuen IAM-Rolle hinzufügen
Führe die folgenden Schritte aus:
-
Erstelle in deiner AWS CloudFormation-Vorlage einen oder mehrere Parameter, die du an den Amazon-Ressourcennamen (ARN) deiner von IAM verwalteten Richtlinie übergeben kannst. Sieh dir die folgenden JSON- und YAML-Beispiele an.
JSON:
{ "AWSTemplateFormatVersion": "2010-09-09", "Parameters": { "awsExampleManagedPolicyParameterOne": { "Type": "String", "Description": "ARN of the first IAM Managed Policy to add to the role" }, "awsExampleManagedPolicyParameterTwo": { "Type": "String", "Description": "ARN of the second IAM Managed Policy to add to the role" } } }YAML:
Parameters: awsExampleManagedPolicyParameterOne: Type: String Description: 'ARN of the first IAM Managed Policy to add to the role' awsExampleManagedPolicyParameterTwo: Type: String Description: 'ARN of the second IAM Managed Policy to add to the role' -
Stelle im Abschnitt Ressourcen deiner Vorlage für die Ressource vom Typ AWS::IAM::Role Ref auf die Parameter ein, die du in Schritt 1 erstellt hast. In diesem Beispiel sind dies die Parameter awsExampleManagedPolicyParameterOne und awsExampleManagedPolicyParameterTwo. Sieh dir die folgenden JSON- und YAML-Beispiele an.
JSON:
{ "Resources": { "RootRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "ManagedPolicyArns": [ { "Ref": "awsExampleManagedPolicyParameterOne" }, { "Ref": "awsExampleManagedPolicyParameterTwo" } ] } } } }YAML:
Resources: RootRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - ec2.amazonaws.com Action: - 'sts:AssumeRole' Path: / ManagedPolicyArns: - !Ref awsExampleManagedPolicyParameterOne - !Ref awsExampleManagedPolicyParameterTwo -
Um deine bestehende von IAM verwaltete Richtlinie auf deine neue IAM-Rolle anzuwenden, erstelle oder aktualisiere den Stack mit deiner geänderten CloudFormation-Vorlage.
Eine neue von IAM verwaltete Richtlinie zu einer neuen IAM-Rolle hinzufügen
Führe die folgenden Schritte aus:
-
Erstelle in deiner AWS CloudFormation-Vorlage mithilfe der Ressource AWS::IAM::ManagedPolicy eine neue Richtlinie. Sieh dir die folgenden JSON- und YAML-Beispiele an.
JSON:
{ "SampleManagedPolicy": { "Type": "AWS::IAM::ManagedPolicy", "Properties": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllUsersToListAccounts", "Effect": "Allow", "Action": [ "iam:ListAccountAliases", "iam:ListUsers", "iam:GetAccountSummary" ], "Resource": "*" } ] } } } }YAML:
SampleManagedPolicy: Type: AWS::IAM::ManagedPolicy Properties: PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowAllUsersToListAccounts Effect: Allow Action: - iam:ListAccountAliases - iam:ListUsers - iam:GetAccountSummary Resource: "*" -
Benutze die logische ID-Syntax !Ref, um die von IAM verwaltete Richtlinien-Ressource an die AWS::IAM::Role-Ressource anzuhängen.
Stelle beispielsweise Ref auf die logische ID der Ressource ein, die du in Schritt 1 erstellt hast (SampleManagedPolicy). Sieh dir die folgenden JSON- und YAML-Beispiele an.
JSON:
{ "RootRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ec2.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "ManagedPolicyArns": [ { "Ref": "SampleManagedPolicy" } ] } } }YAML:
RootRole: Type: 'AWS::IAM::Role' Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - ec2.amazonaws.com Action: - 'sts:AssumeRole' Path: / ManagedPolicyArns: - !Ref SampleManagedPolicy -
Um deine neue von IAM verwaltete Richtlinie auf deine neue IAM-Rolle anzuwenden, erstelle oder aktualisiere den Stack mit deiner geänderten CloudFormation-Vorlage.
Eine neue von IAM verwaltete Richtlinie zu einer vorhandenen IAM-Rolle hinzufügen
Führe die folgenden Schritte aus:
-
Erstelle in deiner AWS CloudFormation-Vorlage einen Parameter, mit dem du den Namen deiner vorhandenen Rollen übergeben kannst. Sieh dir die folgenden JSON- und YAML-Beispiele an.
JSON:
{ "Parameters": { "awsExampleRolesParameter": { "Type": "CommaDelimitedList", "Description": "Names of existing Roles you want to add to the newly created Managed Policy" } } }YAML:
Parameters: awsExampleRolesParameter: Type: CommaDelimitedList Description: Names of existing Roles you want to add to the newly created Managed Policy -
Stelle Ref im Abschnitt Ressourcen deiner Vorlage auf den Parameter ein, den du in Schritt 1 (awsExampleRolesParameter) im Ressourcentyp AWS::IAM::ManagedPolicy erstellt hast. Sieh dir die folgenden JSON- und YAML-Beispiele an.
JSON:
{ "Resources": { "SampleManagedPolicy": { "Type": "AWS::IAM::ManagedPolicy", "Properties": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllUsersToListAccounts", "Effect": "Allow", "Action": [ "iam:ListAccountAliases", "iam:ListUsers", "iam:GetAccountSummary" ], "Resource": "*" } ] }, "Roles": { "Ref": "awsExampleRolesParameter" } } } } }YAML:
Resources: SampleManagedPolicy: Type: AWS::IAM::ManagedPolicy Properties: PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowAllUsersToListAccounts Effect: Allow Action: - iam:ListAccountAliases - iam:ListUsers - iam:GetAccountSummary Resource: '*' Roles: !Ref awsExampleRolesParameter -
Um deine neue von IAM verwaltete Richtlinie auf deine bestehende IAM-Rolle anzuwenden, erstelle oder aktualisiere den Stack mit deiner geänderten CloudFormation-Vorlage.
- Themen
- Management & Governance
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 5 Monaten
AWS OFFICIALAktualisiert vor 5 Monaten