Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de políticas basadas en identidades de Amazon EC2 Auto Scaling
De forma predeterminada, un usuario nuevo no Cuenta de AWS tiene permisos para hacer nada. Un administrador de IAM debe crear y asignar políticas de IAM que concedan permiso de identidad de IAM (como a los usuarios o roles) para realizar acciones de API de Amazon EC2 Auto Scaling.
Para obtener más información acerca de cómo crear una política de IAM con estos documentos de políticas de JSON de ejemplo, consulte Creación de políticas en la pestaña JSON en la Guía del usuario de IAM.
A continuación se muestra un ejemplo de una política de permisos.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
purpose
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:Describe*", "Resource": "*" }] }
Esta política de ejemplo proporciona a los usuarios permisos para crear, modificar y eliminar grupos de escalado automático, pero solo si el grupo utiliza la etiqueta
. Como las acciones purpose=testing
Describe
no admiten permisos de nivel de recursos, debe especificarlas en una instrucción aparte sin condiciones. Para lanzar instancias con una plantilla de lanzamiento, el usuario también debe tener el permiso ec2:RunInstances
. Para obtener más información, consulte Controle el uso de la plantilla de lanzamiento de Amazon EC2 en los grupos de Auto Scaling.
nota
Puede crear sus propias políticas de IAM personalizadas para permitir o denegar los permisos de las identidades de IAM (grupos o roles) para llevar a cabo acciones de Amazon EC2 Auto Scaling. Puede conectar estas políticas personalizadas a las identidades de IAM que necesiten los permisos especificados. A continuación se muestran algunos ejemplos de permisos para algunos casos de uso comunes.
Algunas acciones de la API de Amazon EC2 Auto Scaling le permiten incluir en la política grupos de Auto Scaling específicos que la acción puede crear o modificar. Puede restringir los recursos de destino para estas acciones especificando los ARN de grupo de escalado automático individuales. Sin embargo, como práctica recomendada, se sugiere utilizar políticas basadas en etiquetas que permitan o denieguen acciones en grupos de Auto Scaling con una etiqueta específica.
Ejemplos
- Control del tamaño de los grupos de escalado automático que se pueden crear
- Controlar qué claves de etiqueta y valores de etiqueta se pueden utilizar
- Control de los grupos de escalado automático que se pueden eliminar
- Controlar qué políticas de escalado se pueden eliminar
- Control del acceso a las acciones de actualización de instancias
- Creación de un rol vinculado al servicio
- Controle qué función vinculada al servicio puede transferirse (mediante) PassRole
Control del tamaño de los grupos de escalado automático que se pueden crear
La siguiente política concede a los usuarios permisos para crear y actualizar todos los grupos de escalado automático con la etiqueta
, siempre y cuando no especifiquen un tamaño mínimo inferior a environment=development
1
ni un tamaño máximo superior a 10
. Siempre que sea posible, utilice etiquetas que lo ayuden a controlar el acceso a los grupos de escalado automático de su cuenta.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "development
" }, "NumericGreaterThanEqualsIfExists": { "autoscaling:MinSize":1
}, "NumericLessThanEqualsIfExists": { "autoscaling:MaxSize":10
} } }] }
Como alternativa, si no utiliza etiquetas para controlar el acceso a los grupos de escalado automático, puede utilizar ARN para identificar los grupos de escalado automático a los que se aplica la política de IAM.
Un grupo de Auto Scaling tiene el siguiente ARN.
"Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/my-asg
"
También puede especificar varios ARN incluyéndolos en una lista. Para obtener más información acerca de cómo especificar los ARN de los recursos de Amazon EC2 Auto Scaling en el elemento Resource
, consulte Recursos de políticas para Amazon EC2 Auto Scaling.
Controlar qué claves de etiqueta y valores de etiqueta se pueden utilizar
También puede utilizar condiciones en las políticas de IAM para controlar las claves de etiqueta y los valores de etiqueta que se pueden aplicar a los grupos de escalado automático. A fin de conceder a los usuarios permisos para crear o etiquetar un grupo de escalado automático únicamente si proporcionan etiquetas específicas, utilice la clave de condición aws:RequestTag
. Para permitir únicamente claves de etiqueta específicas, utilice la clave de condición aws:TagKeys
con el modificador ForAllValues
.
La siguiente política requiere que los solicitantes especifiquen una etiqueta con la clave
en la solicitud. El valor environment
exige que haya algún valor para la clave de etiqueta. Para utilizar un valor comodín, debe utilizar el operador de condición "?*"
StringLike
.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/
environment
": "?*
" } } }] }
La política siguiente especifica que los solicitantes solo pueden etiquetar grupos de escalado automático con las etiquetas
y purpose=webserver
, y permite solo las etiquetas cost-center=cc123
y purpose
(no se pueden especificar otras etiquetas).cost-center
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/
purpose
": "webserver
", "aws:RequestTag/cost-center
": "cc123
" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["purpose
", "cost-center
"] } } }] }
La siguiente política requiere que los solicitantes especifiquen al menos una etiqueta en la solicitud y permite únicamente las claves
y cost-center
.owner
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["
cost-center
", "owner
"] } } }] }
nota
En cuanto a las condiciones, la clave de condición no distingue entre mayúsculas y minúsculas, mientras que el valor de condición sí. Por lo tanto, para aplicar la distinción entre mayúsculas y minúsculas de una clave de etiqueta, utilice la clave de condición aws:TagKeys
, donde la clave de etiqueta se especifica como valor en la condición.
Control de los grupos de escalado automático que se pueden eliminar
La siguiente política permite eliminar un grupo de escalado automático solo si el grupo tiene la etiqueta
.environment=development
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/
environment
": "development
" } } }] }
Como alternativa, si no utiliza claves de condición para controlar el acceso a los grupos de escalado automático, puede especificar los ARN de los recursos del elemento Resource
para controlar el acceso.
La siguiente política otorga a los usuarios permisos para usar la acción de la API DeleteAutoScalingGroup
, pero solo para los grupos de escalado automático cuyo nombre comience con
.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" }] }
También puede especificar varios ARN incluyéndolos en una lista. Al incluir el UUID, se garantiza que el acceso se conceda al grupo de escalado automático especificado. El UUID de un grupo nuevo es distinto del UUID de un grupo eliminado que tenía el mismo nombre.
"Resource": [ "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-1
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-2
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-3
" ]
Controlar qué políticas de escalado se pueden eliminar
La siguiente política permite la acción DeletePolicy
para eliminar una política de escalado. Sin embargo, también deniega la acción si el grupo de escalado automático sobre el que se actúa tiene la etiqueta
. Siempre que sea posible, utilice etiquetas que lo ayuden a controlar el acceso a los grupos de escalado automático de su cuenta.environment=production
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeletePolicy", "Resource": "*" }, { "Effect": "Deny", "Action": "autoscaling:DeletePolicy", "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "production
" } } }] }
Control del acceso a las acciones de actualización de instancias
La política siguiente concede permisos para iniciar, revertir y cancelar una actualización de instancias solo si el grupo de escalado automático sobre el que se actúa tiene la etiqueta
. Como las acciones environment=testing
Describe
no admiten permisos de nivel de recursos, debe especificarlas en una instrucción aparte sin condiciones.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:StartInstanceRefresh", "autoscaling:CancelInstanceRefresh", "autoscaling:RollbackInstanceRefresh" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:DescribeInstanceRefreshes", "Resource": "*" }] }
Para especificar la configuración deseada en la llamada StartInstanceRefresh
, es posible que los usuarios necesiten algunos permisos relacionados, tales como:
-
ec2: RunInstances — Para lanzar instancias de EC2 mediante una plantilla de lanzamiento, el usuario debe tener el
ec2:RunInstances
permiso establecido en una política de IAM. Para obtener más información, consulte Controle el uso de la plantilla de lanzamiento de Amazon EC2 en los grupos de Auto Scaling. -
ec2: CreateTags — Para lanzar instancias de EC2 a partir de una plantilla de lanzamiento que añada etiquetas a las instancias y los volúmenes al crearlas, el usuario debe tener el
ec2:CreateTags
permiso establecido en una política de IAM. Para obtener más información, consulte Permisos necesarios para etiquetar instancias y volúmenes. -
iam: PassRole — Para lanzar instancias de EC2 desde una plantilla de lanzamiento que contenga un perfil de instancia (un contenedor para un rol de IAM), el usuario también debe tener el
iam:PassRole
permiso establecido en una política de IAM. Para obtener más información y una política de IAM de ejemplo, consulte Rol de IAM para aplicaciones que se ejecuten en instancias de Amazon EC2. -
ssm: GetParameters — Para lanzar instancias de EC2 a partir de una plantilla de lanzamiento que utilice un AWS Systems Manager parámetro, el usuario también debe tener el permiso establecido en una política de IAM.
ssm:GetParameters
Para obtener más información, consulte Utilice AWS Systems Manager parámetros en lugar de AMI IDs en plantillas de lanzamiento.
Creación de un rol vinculado al servicio
Amazon EC2 Auto Scaling requiere permisos para crear un rol vinculado a un servicio la primera vez que un usuario suyo invoque las acciones de la API Auto Scaling de Amazon Cuenta de AWS EC2. Si el rol vinculado a servicios aún no existe, Amazon EC2 Auto Scaling lo crea en su cuenta. La función vinculada al servicio otorga permisos a Amazon EC2 Auto Scaling para que pueda Servicios de AWS llamar a otras personas en su nombre.
Para que la creación automática de roles se realice correctamente, los usuarios deben disponer de permisos para la acción iam:CreateServiceLinkedRole
.
"Action": "iam:CreateServiceLinkedRole"
A continuación, se muestra un ejemplo de una política de permisos que permite a un usuario crear un rol vinculado a servicios de Amazon EC2 Auto Scaling para Amazon EC2 Auto Scaling.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/
AWSServiceRoleForAutoScaling
", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling.amazonaws.com
" } } }] }
Controle qué función vinculada al servicio puede transferirse (mediante) PassRole
Los usuarios que creen o actualicen grupos de escalado automático y especifiquen un rol de sufijo personalizado vinculado al servicio en la solicitud necesitan el permiso iam:PassRole
.
Puedes usar el iam:PassRole
permiso para proteger la seguridad de las claves administradas por tus AWS KMS clientes si permites que diferentes roles vinculados al servicio accedan a diferentes claves. En función de las necesidades de su organización, es posible que tenga una clave para el equipo de desarrollo, otra para el equipo de control de calidad y otra para el equipo de finanzas. En primer lugar, cree un rol vinculado al servicio que tenga acceso a la clave requerida, por ejemplo, un rol vinculado al servicio denominado. AWSServiceRoleForAutoScaling_devteamkeyaccess A continuación, conecte la política a una identidad de IAM, como un usuario o un rol.
La siguiente política concede permisos a los usuarios para pasar el rol AWSServiceRoleForAutoScaling_devteamkeyaccess
a cualquier grupo de escalado automático cuyo nombre comience con
. Si la identidad de IAM que crea el grupo de escalado automático intenta especificar un rol vinculado a un servicio diferente, recibirá un error. Si eligen no especificar un rol vinculado a un servicio, se usará el rol predeterminado en su lugar. AWSServiceRoleForAutoScalingdevteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_devteamkeyaccess
", "Condition": { "StringEquals": { "iam:PassedToService": [ "autoscaling.amazonaws.com" ] }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" ] } } }] }
Para obtener más información acerca de los roles vinculados a servicios con un sufijo personalizado, consulte Roles vinculados a servicios de Amazon EC2 Auto Scaling.