

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.

# AWS Transfer Family ejemplos de políticas basadas en etiquetas
<a name="security_iam_tag-based-policy-examples"></a>

Los siguientes son ejemplos de cómo controlar el acceso a AWS Transfer Family los recursos en función de las etiquetas.

## Uso de etiquetas para controlar el acceso a AWS Transfer Family los recursos
<a name="tag-access-control"></a>

Las condiciones de las políticas de IAM forman parte de la sintaxis que se utiliza para especificar los permisos de los recursos de AWS Transfer Family . Puede controlar el acceso a AWS Transfer Family los recursos (como los usuarios, los servidores, los roles y otras entidades) en función de las etiquetas de esos recursos. Las etiquetas son pares de clave-valor. Para obtener más información sobre el etiquetado de los recursos, consulte [Etiquetar AWS los recursos](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) en. *Referencia general de AWS* 

En AWS Transfer Family, los recursos pueden tener etiquetas y algunas acciones pueden incluirlas. Cuando crea una política de IAM, puede utilizar claves de condición de etiqueta para controlar lo siguiente:
+ Qué usuarios pueden realizar acciones en un AWS Transfer Family recurso, en función de las etiquetas que tenga el recurso.
+ Las etiquetas que se pueden pasar en la solicitud de una acción.
+ Si se pueden utilizar claves de etiqueta específicas en una solicitud.

Al utilizar el control de acceso basado en etiquetas, puede aplicar un control más preciso que a nivel de API. También puede aplicar un control más dinámico que mediante el control de acceso basado en recursos. Puede crear políticas de IAM que permitan o no una operación basada en las etiquetas que se proporcionan en la solicitud (etiquetas de solicitud). También puede crear políticas de IAM basadas en las etiquetas del recurso en el que se está operando (etiquetas de recurso). En general, las etiquetas de recursos son para las etiquetas que ya están en los recursos, mientras que las etiquetas de solicitud son para cuando se añaden etiquetas a un recurso o se quitan etiquetas de este.

Para conocer la sintaxis y la semántica completa de las claves de condición de las etiquetas, consulte [Control del acceso a los recursos de AWS mediante etiquetas de recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) en la *Guía del usuario de IAM*. Para obtener más información sobre cómo especificar las políticas de IAM con la API Gateway, consulte [Control access to an API with IAM permissions (Controlar el acceso a una API con permisos de IAM)](https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html) en la *Guía para desarrolladores de API Gateway*.

### Ejemplo 1: Denegar acciones en función de etiquetas de recursos
<a name="transfer-deny-actions-resource-tag"></a>

Puede denegar la realización de una acción en un recurso basándose en las etiquetas. El siguiente ejemplo de política deniega las operaciones `TagResource`, `UntagResource`, `StartServer`, `StopServer`, `DescribeServer` y `DescribeUser`, si el recurso de usuario o servidor está etiquetado con la clave `stage` y el 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"
                }
            }
        }
    ]
}
```

### Ejemplo 2: Permitir acciones en función de etiquetas de recursos
<a name="transfer-allow-actions-resource-tag"></a>

Puede permitir la realización de una acción en un recurso basándose en las etiquetas. El siguiente ejemplo de política permite realizar las operaciones `TagResource`, `UntagResource`, `StartServer`, `StopServer`, `DescribeServer` y `DescribeUser`, y si el recurso de usuario o servidor está etiquetado con la clave `stage` y el 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"
                }
            }
        }
    ]
}
```

### Ejemplo 3: denegar la creación de un usuario o servidor en función de las etiquetas de solicitud
<a name="transfer-deny-server-creation-tag"></a>

El siguiente ejemplo contiene dos instrucciones. La primera sentencia deniega la operación `CreateServer` en todos los recursos si la clave del centro de costos de la etiqueta no tiene ningún valor.

La segunda afirmación deniega la operación `CreateServer` si la clave del centro de costo de la etiqueta contiene cualquier otro valor además de 1, 2 o 3.

**nota**  
Esta política sí permite crear o eliminar un recurso que contenga una clave llamada `costcenter` y un valor de `1`, `2` o `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"
                    ]
                }
            }
        }           
    ]
}
```