

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 CodeArtifact los recursos
<a name="tag-based-access-control"></a>

Las condiciones de las declaraciones de política de usuario de IAM forman parte de la sintaxis que se utiliza para especificar los permisos a los recursos que requieren las CodeArtifact acciones. El uso de etiquetas en las condiciones es una manera de controlar el acceso a los recursos y las solicitudes. Para obtener información sobre el etiquetado de CodeArtifact recursos, consulte. [Etiquetado de recursos](tag-resources.md) 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 el uso de etiquetas en las condiciones de instrucció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 pueden incluirlas. 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 conocer la sintaxis y la semántica completas de las claves de condición de etiquetas, consulte [Control del acceso mediante etiquetas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) 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](auth-and-access-control-permissions-reference.md) para obtener una lista de las acciones en las que operan CodeArtifact y los recursos en los que funcionan.

## Ejemplos de control de acceso basado en etiquetas
<a name="tag-based-access-control-examples"></a>

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

**Example 1: Limitar acciones en función de etiquetas en la solicitud**  
La política de usuarios `AWSCodeArtifactAdminAccess` gestionados otorga a los usuarios permisos ilimitados para realizar cualquier CodeArtifact acción 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"
              ]
          }
      }
  }
  ]
}
```

**Example 2: Limitar acciones en función de etiquetas de recursos**  
La política de usuarios `AWSCodeArtifactAdminAccess` administrados otorga a los usuarios permisos ilimitados para realizar cualquier CodeArtifact acción 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"]
        }
      }
    }
  ]
}
```

**Example 3: Permitir acciones en función de las etiquetas de recursos**  
La siguiente política otorga a los usuarios permiso para realizar acciones en los repositorios y paquetes y obtener información sobre ellos. 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 otorga a los usuarios permisos ilimitados para realizar cualquier CodeArtifact acción en cualquier recurso.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "codeartifact:UpdateRepository",
        "codeartifact:DeleteRepository",
        "codeartifact:ListPackages"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Key1": "Value1"
        }
      }
    }
  ]
}
```

**Example 4: Permitir acciones en función de las etiquetas en la solicitud**  
La siguiente política otorga a los usuarios permiso para crear repositorios en dominios específicos 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 otorga a los usuarios permisos ilimitados para realizar cualquier CodeArtifact acción en cualquier recurso.    
****  

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