

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á.

# AWS Transfer Family exemplos de políticas baseadas em tags
<a name="security_iam_tag-based-policy-examples"></a>

Veja a seguir exemplos de como controlar o acesso aos AWS Transfer Family recursos com base em tags.

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

Condições nas políticas do IAM são parte da sintaxe que você usa para especificar permissões para recursos do AWS Transfer Family . Você pode controlar o acesso aos AWS Transfer Family recursos (como usuários, servidores, funções e outras entidades) com base nas tags desses recursos. As tags são pares de chave-valor. Para obter mais informações sobre como marcar recursos, consulte Como [marcar AWS recursos](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) no. *Referência geral da AWS* 

Em AWS Transfer Family, os recursos podem ter tags e algumas ações podem incluir tags. Ao criar uma política do IAM, é possível usar chaves de condição de tag para controlar o seguinte:
+ Quais usuários podem realizar ações em um AWS Transfer Family recurso, com base nas tags que o recurso 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.

Ao usar o controle de acesso baseado em tags, é possível aplicar um controle mais preciso do que no nível da API. Você também pode aplicar um controle mais dinâmico do que usando o controle de acesso baseado em recursos. É possível criar políticas do IAM que permitem ou não uma operação baseada em tags fornecidas na solicitação (tags de solicitação). Você também pode criar políticas do IAM baseadas em tags no recurso em que estão sendo operadas (tags de recurso). Em geral, as tags de recursos são para tags que já estão nos recursos, e as tags de solicitação são para quando você adiciona ou remove tags de um recurso.

Para obter a sintaxe e a semântica completas das chaves de condição de tag, consulte [Controlar o acesso a recursos AWS usando tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) no *Guia do usuário do IAM*. Para obter detalhes sobre a especificação de políticas do IAM com o API Gateway, consulte [Controlar o acesso a uma API com permissões do IAM](https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html) no *Guia do desenvolvedor do API Gateway*.

### Exemplo 1: negar ações com base em tags de recurso
<a name="transfer-deny-actions-resource-tag"></a>

É possível negar que uma ação seja executada em um recurso com base em tags. O exemplo de política a seguir nega as operações `TagResource`, `UntagResource`, `StartServer`, `StopServer`, `DescribeServer` e `DescribeUser` se o recurso do usuário ou do servidor estiver marcado com a chave `stage` e o valor `prod`.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "transfer:TagResource",
                "transfer:UntagResource",
                "transfer:StartServer",
                "transfer:StopServer",
                "transfer:DescribeServer",
                "transfer:DescribeUser"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/stage": "prod"
                }
            }
        }
    ]
}
```

### Exemplo 2: permitir ações com base em tags de recursos
<a name="transfer-allow-actions-resource-tag"></a>

É possível permitir que uma ação seja executada em um recurso com base em tags. O exemplo de política a seguir permite as operações `TagResource`, `UntagResource`, `StartServer`, `StopServer`, `DescribeServer` e `DescribeUser` se o recurso do usuário ou do servidor estiver marcado com a chave `stage` e o valor `prod`.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "transfer:TagResource",
                "transfer:UntagResource",
                "transfer:StartServer",
                "transfer:StopServer",
                "transfer:DescribeServer",
                "transfer:DescribeUser"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/stage": "prod"
                }
            }
        }
    ]
}
```

### Exemplo 3: negar a criação de um usuário ou servidor com base em tags de solicitação
<a name="transfer-deny-server-creation-tag"></a>

O exemplo de política a seguir contém duas declarações. A primeira declaração nega a operação `CreateServer` em todos os recursos se a chave do centro de custo da tag não tiver um valor.

A segunda declaração nega a operação `CreateServer` se a chave do centro de custo da tag contiver qualquer outro valor além de 1, 2 ou 3.

**nota**  
Essa política permite criar ou excluir um recurso que contém uma chave chamada `costcenter` e um valor de `1`, `2` ou `3`.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        { 
            "Effect": "Deny",
            "Action": [
                "transfer:CreateServer"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "Null":  {
                    "aws:RequestTag/costcenter": "true"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": "transfer:CreateServer",
            "Resource": [
                "*"
            ],
            "Condition": {
                "ForAnyValue:StringNotEquals": {
                    "aws:RequestTag/costcenter": [
                        "1",
                        "2",
                        "3"
                    ]
                }
            }
        }           
    ]
}
```