Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso collegare una policy gestita IAM a un ruolo IAM in AWS CloudFormation?
Desidero aggiungere una policy gestita AWS Identity and Access Management (AWS IAM) esistente o nuova a un ruolo IAM esistente o nuovo in AWS CloudFormation.
Breve descrizione
Per aggiungere una policy gestita IAM esistente o nuova a una risorsa nuovo ruolo IAM, utilizza la proprietà ManagedPolicyArns del tipo di risorsa AWS::IAM::Role. Per aggiungere una nuova policy gestita IAM a una risorsa ruolo IAM esistente, utilizza la proprietà Roles del tipo di risorsa AWS::IAM::ManagedPolicy.
La policy gestita IAM può essere una policy gestita da AWS o una policy gestita dal cliente.
Importante: puoi collegare un massimo di 20 policy gestite a un ruolo o a un utente IAM. La dimensione di ogni policy gestita non può superare i 6.144 caratteri. IAM non conta gli spazi bianchi nel calcolo della dimensione di una policy rispetto a questo limite. Per ulteriori informazioni, consulta IAM e quote AWS STS.
Completa la procedura indicata in una delle seguenti sezioni in base allo scenario applicabile:
- Aggiungi una policy gestita IAM esistente a un nuovo ruolo IAM
- Aggiungi una nuova policy gestita IAM a un nuovo ruolo IAM
- Aggiungi una nuova policy gestita IAM a un ruolo IAM esistente
Risoluzione
Aggiungi una policy gestita IAM esistente a un nuovo ruolo IAM
Completa i seguenti passaggi:
-
Nel modello AWS CloudFormation, crea uno o più parametri che puoi passare nel nome della risorsa Amazon (ARN) della policy gestita IAM. Guarda i seguenti esempi JSON e YAML.
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' -
Nella sezioneRisorse del modello, imposta Ref sui parametri creati al passaggio 1 per il tipo di risorsa AWS::IAM::Role. In questo esempio, i parametri sono awsExampleManagedPolicyParameterOne e awsExampleManagedPolicyParameterTwo. Guarda i seguenti esempi JSON e YAML.
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 -
Per applicare la policy gestita IAM esistente al nuovo ruolo IAM, crea o aggiorna lo stack con il modello CloudFormation modificato.
Aggiungi una nuova policy gestita IAM a un nuovo ruolo IAM
Completa i seguenti passaggi:
-
Nel modello AWS CloudFormation, crea una nuova policy utilizzando la risorsa AWS::IAM::ManagedPolicy. Guarda i seguenti esempi JSON e YAML.
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: "*" -
Utilizza la sintassi !Ref dell'ID logico per associare la risorsa policy gestita IAM alla risorsa AWS::IAM::Role.
Per esempio, imposta Ref sull'ID logico della risorsa creata al passaggio 1 (SampleManagedPolicy). Guarda i seguenti esempi JSON e YAML.
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 -
Per applicare la nuova policy gestita IAM al nuovo ruolo IAM, crea o aggiorna lo stack con il modello CloudFormation modificato.
Aggiungi una nuova policy gestita IAM a un ruolo IAM esistente
Completa i seguenti passaggi:
-
Nel modello AWS CloudFormation, crea un parametro che puoi utilizzare per passare il nome dei ruoli esistenti. Guarda i seguenti esempi JSON e YAML.
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 -
Nella sezioneRisorse del modello, imposta Ref sul parametro creato al passaggio 1 (awsExampleRolesParameter) per il tipo di risorsa AWS::IAM::ManagedPolicy. Guarda i seguenti esempi JSON e YAML.
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 -
Per applicare la nuova policy gestita IAM al ruolo IAM esistente, crea o aggiorna lo stack con il modello CloudFormation modificato.
- Argomenti
- Management & Governance
- Lingua
- Italiano
