¿Cómo puedo restringir el acceso de las identidades IAM a recursos específicos de Amazon EC2?
Quiero restringir el acceso de las identidades de AWS Identity and Access Management (IAM) a un recurso específico de Amazon Elastic Compute Cloud (Amazon EC2).
Breve descripción
Amazon EC2 admite parcialmente los permisos o condiciones de nivel de recursos. Puede usar permisos a nivel de recursos para controlar cómo se permite a las identidades de IAM acceder a recursos específicos de Amazon EC2.
También puede usar ABAC (autorización basada en etiquetas) para controlar el acceso a los recursos de AWS. Para obtener más información, consulte el tutorial de IAM: definición de permisos para acceder a los recursos de AWS en función de etiquetas.
Resolución
Utilice el siguiente ejemplo de políticas de IAM para restringir el acceso a las instancias de Amazon EC2 en su caso de uso. A continuación, adjunte la política a la identidad de IAM a la que desea restringir el acceso.
Restrinja el acceso solo a instancias de inicio, parada o reinicio
El siguiente ejemplo de política restringe el acceso a una identidad de IAM solo para iniciar, detener o reiniciar instancias EC2:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringEquals": { "ec2:ResourceTag/Owner": "Bob" } } } ] }
Nota: Sustituya Propietario por la clave de la etiqueta, Bob por el valor de la etiqueta y AccountId por el ID de su cuenta de AWS.
Para restringir otros recursos de Amazon EC2 por región de AWS, asegúrese de que las acciones admitan los permisos y las condiciones a nivel de recursos.
Restringir el inicio de instancias EC2 por etiqueta
El siguiente ejemplo de política utiliza la clave de etiqueta Propietario para restringir el acceso a una identidad de IAM solo para iniciar instancias EC2:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringNotLike": { "aws:RequestTag/Owner": "*" } } }, { "Sid": "AllowRunInstances", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/*", "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid": "AllowToDescribeAll", "Effect": "Allow", "Action": [ "ec2:Describe*" ], "Resource": "*" }, { "Sid": "AllowCreateTagsOnLaunching", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:AccountId:*/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": [ "RunInstances" ] } } } ] }
Nota: Sustituya Propietario por la clave de la etiqueta y AccountId por el ID de su cuenta.
Restringir el inicio de instancias EC2 por tipo de instancia
El siguiente ejemplo de política restringe el acceso a una identidad de IAM solo para iniciar instancias EC2 con el tipo de instancia t3.*:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringNotLike": { "ec2:InstanceType": "t3.*" } } }, { "Sid": "AllowRunInstances", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/*", "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid": "AllowToDescribeAll", "Effect": "Allow", "Action": [ "ec2:Describe*" ], "Resource": "*" }, { "Sid": "AllowCreateTagsOnLaunching", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:AccountId:*/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": [ "RunInstances" ] } } } ] }
Nota: Sustituya el tipo de instancia t3.* con su tipo de instancia, por ejemplo, t3.nano. Además, reemplace AccountId por el ID de su cuenta.
Para obtener más información, consulte las convenciones de nomenclatura de los tipos de instancias de Amazon EC2.
Información relacionada
Vídeos relacionados
Contenido relevante
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace un año