Uso de etiquetas para controlar el acceso a los recursos de CodeArtifact - CodeArtifact

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.

Uso de etiquetas para controlar el acceso a los recursos de CodeArtifact

Las condiciones de las declaraciones de política de usuario de IAM forman parte de la sintaxis que se utiliza para especificar permisos para los recursos que necesitan las acciones de CodeArtifact. El uso de etiquetas en las condiciones es una manera de controlar el acceso a los recursos y las solicitudes. Para obtener más información acerca del etiquetado de recursos de CodeArtifact, consulte Etiquetado de recursos. En este tema, se explica el control de acceso basado en etiquetas.

Al diseñar políticas de IAM, es posible que se establezcan permisos detallados mediante la concesión de acceso a recursos específicos. A medida que crezca la cantidad de recursos que administra, esta tarea será más complicada. El etiquetado de recursos y uso de etiquetas en las condiciones de declaración de política pueden facilitar esta tarea. Puede conceder acceso de forma masiva a cualquier recurso con una determinada etiqueta. A continuación, aplique repetidamente esta etiqueta a los recursos pertinentes durante la creación o después.

Las etiquetas se pueden asociar al recurso o pasarse dentro de la solicitud a los servicios que admiten etiquetado. En CodeArtifact, los recursos pueden tener etiquetas y algunas acciones puede incluir etiquetas. Al crear una política de IAM, puede utilizar las claves de condición de etiqueta para controlar:

  • Qué usuarios pueden realizar acciones en un dominio o recurso de repositorio, según las etiquetas que ya tiene.

  • Qué etiquetas se pueden pasar en la solicitud de una acción.

  • Si se pueden utilizar claves de etiqueta específicas en una solicitud.

Para la sintaxis y semántica completas de las claves de condición de etiquetas, consulte Control del acceso mediante etiquetas en la Guía del usuario de IAM.

importante

Cuando se utilizan etiquetas en los recursos para limitar las acciones, las etiquetas deben estar en el recurso en el que se ejecuta la acción. Por ejemplo, para denegar permisos DescribeRepository con etiquetas, estas deben estar en cada repositorio y no en el dominio. Consulte AWS CodeArtifact referencia de permisos para obtener una lista de acciones en CodeArtifact y los recursos con los que operan.

Ejemplos de control de acceso basado en etiquetas

Los siguientes ejemplos muestran cómo especificar las condiciones de etiqueta en las políticas para los usuarios de CodeArtifact.

ejemplo 1: Limitar acciones en función de etiquetas en la solicitud

La política de usuario administrada AWSCodeArtifactAdminAccess proporciona a los usuarios permisos ilimitados para realizar cualquier acción de CodeArtifact en cualquier recurso.

La siguiente política limita esta posibilidad y deniega el permiso a usuarios no autorizados para crear repositorios a menos que la solicitud contenga determinadas etiquetas. Para ello, deniega la acción CreateRepository si la solicitud no especifica una etiqueta denominada costcenter con uno de los valores 1 o 2. El administrador de un cliente debe asociar esta política de IAM a los usuarios de IAM no autorizados, además de la política de usuario administrada.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "codeartifact:CreateRepository", "Resource": "*", "Condition": { "Null": { "aws:RequestTag/costcenter": "true" } } }, { "Effect": "Deny", "Action": "codeartifact:CreateRepository", "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "aws:RequestTag/costcenter": [ "1", "2" ] } } } ] }
ejemplo 2: Limitar acciones en función de etiquetas de recursos

La política de usuario administrada AWSCodeArtifactAdminAccess proporciona a los usuarios permisos ilimitados para realizar cualquier acción de CodeArtifact en cualquier recurso.

La siguiente política limita esta capacidad y deniega a los usuarios no autorizados el permiso para realizar acciones en repositorios en dominios específicos. Para ello, deniega algunas acciones si el recurso tiene una etiqueta denominada Key1 con el valor Value1 o Value2. (La clave de condición aws:ResourceTag se utiliza para controlar el acceso a los recursos en función de las etiquetas que tengan los recursos). El administrador de un cliente debe asociar esta política de IAM a los usuarios de IAM no autorizados, además de la política de usuario administrada.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codeartifact:TagResource", "codeartifact:UntagResource", "codeartifact:DescribeDomain", "codeartifact:DescribeRepository", "codeartifact:PutDomainPermissionsPolicy", "codeartifact:PutRepositoryPermissionsPolicy", "codeartifact:ListRepositoriesInDomain", "codeartifact:UpdateRepository", "codeartifact:ReadFromRepository", "codeartifact:ListPackages", "codeartifact:ListTagsForResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Key1": ["Value1", "Value2"] } } } ] }
ejemplo 3: Permitir acciones en función de las etiquetas de recursos

La siguiente política otorga a los usuarios permiso para realizar acciones y obtener información sobre repositorios y paquetes en CodeArtifact.

Para ello, permite realizar determinadas acciones si el repositorio tiene una etiqueta denominada Key1 con el valor Value1. (La clave de condición aws:RequestTag se utiliza para controlar qué etiquetas se pueden pasar en una solicitud de IAM). La condición aws:TagKeys garantiza la distinción entre mayúsculas y minúsculas de las claves de etiqueta. Esta política es útil para los usuarios de IAM que no tienen asociada la política de usuario administrada AWSCodeArtifactAdminAccess. La política administrada proporciona a los usuarios permisos ilimitados para realizar cualquier acción de CodeArtifact en cualquier recurso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:UpdateRepository", "codeartifact:DeleteRepository", "codeartifact:ListPackages" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/Key1": "Value1" } } } ] }
ejemplo 4: Permitir acciones en función de las etiquetas en la solicitud

La siguiente política concede a los usuarios permiso para crear repositorios en determinados dominios en CodeArtifact.

Para ello, permite las acciones CreateRepository y TagResource si la API de creación de recursos en la solicitud especifica una etiqueta denominada Key1 con el valor Value1. (La clave de condición aws:RequestTag se utiliza para controlar qué etiquetas se pueden pasar en una solicitud de IAM). La condición aws:TagKeys garantiza la distinción entre mayúsculas y minúsculas de las claves de etiqueta. Esta política es útil para los usuarios de IAM que no tienen asociada la política de usuario administrada AWSCodeArtifactAdminAccess. La política administrada proporciona a los usuarios permisos ilimitados para realizar cualquier acción de CodeArtifact en cualquier recurso.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeartifact:CreateRepository", "codeartifact:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/Key1": "Value1" } } } ] }