Wie kann ich eine von IAM verwaltete Richtlinie an eine IAM-Rolle in AWS 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, verwenden Sie die Eigenschaft ManagedPolicyArns des Ressourcentyps AWS::IAM::Role. Um einer vorhandenen IAM-Rollenressource eine neue von IAM verwaltete Richtlinie hinzuzufügen, verwenden Sie die Eigenschaft Roles des Ressourcentyps AWS::IAM::ManagedPolicy.
Ihre von IAM verwaltete Richtlinie kann eine von AWS verwaltete Richtlinie oder eine vom Kunden verwaltete Richtlinie sein.
**Wichtig:**Sie können einer IAM-Rolle oder einem IAM-Benutzer maximal 10 verwaltete Richtlinien zuordnen. Die Größe jeder verwalteten Richtlinie darf 6.144 Zeichen nicht überschreiten. Weitere Informationen finden Sie unter IAM- und STS-Kontingente.
Führen Sie auf der Grundlage Ihres 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
- Fügen Sie einer vorhandenen IAM-Rolle eine neue von IAM verwaltete Policy hinzu
Behebung
Eine vorhandene von IAM verwaltete Richtlinie zu einer neuen IAM-Rolle hinzufügen
1.Erstellen Sie in Ihrer AWS CloudFormation-Vorlage einen oder mehrere Parameter, die Sie verwenden können, um den Amazon-Ressourcennamen (ARN) Ihrer von IAM verwalteten Richtlinie zu übergeben. Sehen Sie sich 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'
- Stellen Sie im Abschnitt Ressourcen Ihrer Vorlage für die Ressource vom Typ AWS::IAM::Role Ref auf die Parameter ein, die Sie in Schritt 1 erstellt haben. In diesem Beispiel sind dies die Parameter awsExampleManagedPolicyParameterOne und awsExampleManagedPolicyParameterTwo. Sehen Sie sich 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 Ihre bestehende von IAM verwaltete Richtlinie auf Ihre neue IAM-Rolle anzuwenden, erstellen Sie einen Stack oder aktualisieren Sie einen vorhandenen Stack auf der Grundlage Ihrer modifizierten AWS CloudFormation-Vorlage.
Eine neue von IAM verwaltete Richtlinie zu einer neuen IAM-Rolle hinzufügen
- Erstellen Sie in Ihrer AWS CloudFormation-Vorlage mithilfe der Ressource AWS::IAM::ManagedPolicy eine neue Richtlinie. Sehen Sie sich 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: "*"
2.Benutzen Sie die logische ID-Syntax !Ref, um die von IAM verwaltete Policy-Ressource an die AWS::IAM::Role-Ressource anzuhängen.
Stellen Sie beispielsweise Ref auf die logische ID der Ressource ein, die Sie in Schritt 1 erstellt haben (SampleManagedPolicy). Sehen Sie sich 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 Ihre neue von IAM verwaltete Richtlinie auf Ihre neue IAM-Rolle anzuwenden, erstellen Sie einen Stack oder aktualisieren Sie einen vorhandenen Stack auf der Grundlage Ihrer modifizierten AWS CloudFormation-Vorlage.
Fügen Sie einer vorhandenen IAM-Rolle eine neue von IAM verwaltete Policy hinzu
- Erstellen Sie in Ihrer AWS CloudFormation-Vorlage einen Parameter, mit dem Sie den Namen Ihrer vorhandenen Rollen übergeben können. Sehen Sie sich 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
2.Stellen Sie im Abschnitt Ressourcen Ihrer Vorlage für die Ressource vom Typ AWS::IAM::ManagedPolicy Ref auf den Parameter ein, den Sie in Schritt 1 erstellt haben (awsExampleRolesParameter). Sehen Sie sich 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 Ihre neue von IAM verwaltete Richtlinie auf Ihre bestehende IAM-Rolle anzuwenden, erstellen Sie einen Stack oder aktualisieren Sie einen vorhandenen Stack auf der Grundlage Ihrer modifizierten AWS CloudFormation-Vorlage.
Ähnliche Videos
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 3 Jahren