

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usando tags para controlar o acesso aos CodeArtifact recursos
<a name="tag-based-access-control"></a>

As condições nas declarações de política de usuário do IAM fazem parte da sintaxe que você usa para especificar as permissões para os recursos exigidos pelas CodeArtifact ações. O uso de tags em condições é uma forma de controlar o acesso a recursos e solicitações. Para obter informações sobre a marcação de CodeArtifact recursos, consulte[Marcando atributos](tag-resources.md). Este tópico discute o controle de acesso com base em tags.

Ao criar políticas do IAM, você pode definir permissões granulares concedendo acesso a recursos específicos. À medida que o número de recursos que você gerencia aumenta, essa tarefa se torna mais difícil. Atribuir etiquetas a recursos e usá-las em condições de declaração de política pode facilitar essa tarefa. Você concede acesso em massa a qualquer recurso utilizando determinada etiqueta. Depois, você a aplica repetidamente a recursos relevantes durante a criação ou posteriormente.

As tags podem ser anexadas ao recurso ou passadas na solicitação para serviços compatíveis com tags. Em CodeArtifact, os recursos podem ter tags e algumas ações podem incluir tags. Ao criar uma política do IAM, você poderá usar chaves de condição de tag para controlar:
+ Quais usuários podem executar ações em um recurso de domínio ou repositório, com base nas tags que o recurso já tem.
+ Quais tags podem ser transmitidas na solicitação de uma ação.
+ Se chaves de tags específicas podem ser usadas em uma solicitação.

Para obter a sintaxe e a semântica completas das chaves de condição de tag, consulte [Controlar o acesso usando tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) no *Guia do usuário do IAM*.

**Importante**  
Ao usar tags em recursos para limitar ações, as tags devem estar no recurso no qual a ação opera. Por exemplo, para negar permissões `DescribeRepository` com tags, estas devem estar em cada repositório e não no domínio. Consulte [AWS CodeArtifact referência de permissões](auth-and-access-control-permissions-reference.md) para obter uma lista de ações CodeArtifact e em quais recursos elas operam.

## Exemplos de controle de acesso baseado em tags
<a name="tag-based-access-control-examples"></a>

Os exemplos a seguir demonstram como especificar condições de tag em políticas para usuários do CodeArtifact .

**Example 1: Limitar ações com base em tags na solicitação**  
A política de usuário `AWSCodeArtifactAdminAccess` gerenciado dá aos usuários permissão ilimitada para realizar qualquer CodeArtifact ação em qualquer recurso.  
A política a seguir limita esse poder e nega a usuários não autorizados permissão para criar repositórios, a menos que a solicitação contenha determinadas tags. Para fazer isso, ela nega a ação `CreateRepository` se a solicitação não especificar uma tag chamada `costcenter` com um dos valores `1` ou `2`. O administrador de um cliente deve anexar essa política do IAM a usuários não autorizados do IAM, além da política de usuário gerenciada.    
****  

```
{
  "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 ações com base em tags de recursos**  
A política de usuário `AWSCodeArtifactAdminAccess` gerenciado dá aos usuários permissão ilimitada para realizar qualquer CodeArtifact ação em qualquer recurso.  
A seguinte política limita esse poder e nega a usuários não autorizados permissão para realizar ações nos repositórios de domínios específicos. Para fazer isso, ela negará ações específicas se o recurso tiver uma tag denominada `Key1` com um dos valores `Value1` ou `Value2`. (A chave de condição `aws:ResourceTag` é usada para controlar o acesso a recursos com base nas tags desses recursos.) O administrador de um cliente deve anexar essa política do IAM a usuários não autorizados do IAM, além da política de usuário gerenciada.    
****  

```
{
  "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 ações com base em tags de recursos**  
A política a seguir concede aos usuários permissão para realizar ações e obter informações sobre repositórios e pacotes em CodeArtifact.  
Para fazer isso, ela permitirá ações específicas se o repositório tiver uma tag denominada `Key1` com o valor `Value1`. (A `aws:RequestTag` chave de condição é usada para controlar quais tags podem ser transmitidas em uma solicitação do IAM.) A `aws:TagKeys` condição garante que a chave de tag faça diferenciação de letras maiúsculas e minúsculas. Essa política é útil para usuários do IAM que não têm a política de usuário gerenciada `AWSCodeArtifactAdminAccess` anexada. A política gerenciada dá aos usuários permissão ilimitada para realizar qualquer CodeArtifact ação em qualquer 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 ações com base em tags na solicitação**  
A política a seguir concede aos usuários permissão para criar repositórios em domínios especificados em. CodeArtifact  
Para fazer isso, ela permitirá as ações `CreateRepository` e `TagResource` se a API de criar recurso na solicitação especificar uma tag denominada `Key1` com o valor `Value1`. (A `aws:RequestTag` chave de condição é usada para controlar quais tags podem ser transmitidas em uma solicitação do IAM.) A `aws:TagKeys` condição garante que a chave de tag faça diferenciação de letras maiúsculas e minúsculas. Essa política é útil para usuários do IAM que não têm a política de usuário gerenciada `AWSCodeArtifactAdminAccess` anexada. A política gerenciada dá aos usuários permissão ilimitada para realizar qualquer CodeArtifact ação em qualquer recurso.    
****  

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