Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
¿Cómo puedo adjuntar una política administrada de IAM a un rol de IAM en CloudFormation?
Quiero agregar una política administrada de AWS Identity and Access Management (IAM) existente o nueva a un rol de IAM nuevo o existente en AWS CloudFormation.
Descripción corta
Para agregar una política administrada de IAM nueva o existente a un nuevo recurso de rol de IAM, usa la propiedad ManagedPolicyArns del tipo de recurso AW::IAM::Role. Para agregar una nueva política administrada de IAM a un recurso de rol de IAM existente, usa la propiedad Roles del tipo de recurso AWS::IAM::ManagedPolicy.
Tu política administrada de IAM puede ser una política administrada de AWS o una política administrada por el cliente.
Importante: Puedes adjuntar un máximo de 20 políticas administradas a un rol o usuario de IAM. El tamaño de cada política administrada no puede superar los 6144 caracteres. IAM no tiene en cuenta los espacios en blanco al calcular el tamaño de una política en relación con este límite. Para obtener más información, consulta IAM y cuotas de STS.
Según tu situación, completa los pasos de una de las siguientes secciones:
- Incorporación de una política administrada de IAM existente a un nuevo rol de IAM
- Incorporación de una nueva política administrada de IAM a un nuevo rol de IAM
- Incorporación de una nueva política administrada de IAM a un rol de IAM existente
Resolución
Incorporación de una política administrada de IAM existente a un nuevo rol de IAM
Sigue estos pasos:
-
En tu plantilla de AWS CloudFormation, crea uno o varios parámetros que puedas transferir en el nombre de recurso de Amazon (ARN) de tu política administrada de IAM. Consulta los siguientes ejemplos de JSON y 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' -
En la sección Recursos de la plantilla, para el tipo de recurso AWS::IAM::Role, define Ref con los parámetros que creaste en el paso 1. Para este ejemplo, se trata de los parámetros awsExampleManagedPolicyParameterOne y awsExampleManagedPolicyParameterTwo. Consulta los siguientes ejemplos de JSON y 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 -
Para aplicar la política administrada de IAM existente al nuevo rol de IAM, crea o actualiza la pila con tu plantilla de CloudFormation modificada.
Incorporación de una nueva política administrada de IAM a un nuevo rol de IAM
Sigue estos pasos:
-
En la plantilla de AWS CloudFormation, crea una nueva política con el recurso AWS::IAM::ManagedPolicy. Consulta los siguientes ejemplos de JSON y 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: "*" -
Usa la sintaxis de identificador lógico !Ref para adjuntar el recurso de política administrada de IAM al recurso AWS::IAM::Role.
Por ejemplo, define Ref en el identificador lógico del recurso que creaste en el paso 1 (SampleManagedPolicy). Consulta los siguientes ejemplos de JSON y 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 -
Para aplicar la nueva política administrada de IAM al nuevo rol de IAM, crea o actualiza la pila con tu plantilla de CloudFormation modificada.
Incorporación de una nueva política administrada de IAM a un rol de IAM existente
Sigue estos pasos:
-
En la plantilla de AWS CloudFormation, crea un parámetro que puedas usar para transferir el nombre de tus roles existentes. Consulta los siguientes ejemplos de JSON y 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 -
En la sección Recursos de la plantilla, define Ref con el parámetro que creaste en el paso 1 (awsExampleRolesParameter) en el tipo de recurso AWS::IAM::ManagedPolicy. Consulta los siguientes ejemplos de JSON y 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 -
Para aplicar la nueva política administrada de IAM al rol de IAM existente, crea o actualiza la pila con tu plantilla de CloudFormation modificada.
- Etiquetas
- AWS CloudFormation
- Idioma
- Español

Contenido relevante
- preguntada hace 8 meses
- preguntada hace 4 meses