Políticas para el control de acceso basado en etiquetas - Amazon EMR

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.

Políticas para el control de acceso basado en etiquetas

Puede utilizar condiciones en su política basada en identidades para controlar el acceso a clústeres virtuales y ejecuciones de trabajos de EMR basadas en etiquetas. Para obtener más información acerca del etiquetado, consulte Etiquetado de sus recursos de Amazon EMR en EKS.

Los siguientes ejemplos muestran diferentes escenarios y formas de utilizar operadores de condición con Amazon EMR en claves de EKS condición. Estas declaraciones IAM de política están destinadas únicamente a fines de demostración y no deben utilizarse en entornos de producción. Existen varias maneras de combinar las instrucciones de políticas para conceder y denegar permisos de acuerdo con sus requisitos. Para obtener más información sobre IAM las políticas de planificación y prueba, consulte la Guía del IAM usuario.

importante

La denegación de permisos explícita para acciones de etiquetado de acciones es un factor importante. Esto impide que los usuarios etiqueten un recurso y, de esta forma, se concedan a sí mismos permisos que usted no tenía previsto conceder. Si no se deniegan las acciones de etiquetado de un recurso, el usuario puede modificar las etiquetas y eludir la intención de las políticas basadas en etiquetas. Para ver un ejemplo de una política que deniega las acciones de etiquetado, consulte Denegar el acceso para agregar y eliminar etiquetas.

Los ejemplos siguientes muestran las políticas de permisos basadas en la identidad que se utilizan para controlar las acciones que Amazon permite EMR en los clústeres EKS virtuales.

Permitir acciones solo en recursos con valores de etiqueta específicos

En el siguiente ejemplo de política, el operador de la StringEquals condición intenta hacer coincidir dev con el valor del departamento de etiquetas. Si la etiqueta department no se agregó al clúster o no contiene el valor dev, la política no se aplica y esta política no permite las acciones. Si no hay otras instrucciones de política que permitan las acciones, el usuario solo puede trabajar con clústeres virtuales que tengan esta etiqueta con este valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:DescribeVirtualCluster" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/department": "dev" } } } ] }

También puede especificar varios valores de etiqueta utilizando un operador de condición. Por ejemplo, a fin de permitir que las acciones en clústeres virtuales donde la etiqueta department contiene el valor dev o test, podría sustituir el bloque de condición del ejemplo anterior por los siguientes.

"Condition": { "StringEquals": { "aws:ResourceTag/department": ["dev", "test"] } }

Requerir etiquetado cuando se crea un recurso

En el siguiente ejemplo, la etiqueta debe aplicarse al crear el clúster virtual.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:CreateVirtualCluster" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/department": "dev" } } } ] }

La siguiente instrucción de política permite a un usuario crear un clúster virtual solo si el clúster tiene una etiqueta department, que puede contener cualquier valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-containers:CreateVirtualCluster" ], "Resource": "*", "Condition": { "Null": { "aws:RequestTag/department": "false" } } } ] }

Denegar el acceso para agregar y eliminar etiquetas

El efecto de esta política consiste en denegar a un usuario el permiso para agregar o eliminar cualquier etiqueta en clústeres virtuales que están etiquetados con una etiqueta department que contiene el valor dev.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "emr-containers:TagResource", "emr-containers:UntagResource" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/department": "dev" } } } ] }