

# Etiquetado de recursos de Athena
<a name="tags"></a>

Una etiqueta consta de una clave y un valor, ambos definidos por el usuario. Cuando etiqueta un recurso de Athena, le asigna metadatos personalizados. Puede utilizar etiquetas para clasificar los recursos de AWS de diversas maneras, por ejemplo, según su finalidad, propietario o entorno. En Athena, los recursos como los grupos de trabajo, los catálogos de datos y las reservas de capacidad son recursos que se pueden etiquetar. Por ejemplo, puede crear un conjunto de etiquetas para grupos de trabajo en su cuenta que le ayude a realizar un seguimiento de los propietarios de grupos de trabajo o identificar grupos por su finalidad. Si también habilita las etiquetas como etiquetas de asignación de costos en la consola de Administración de facturación y costos, los costos asociados con la ejecución de consultas aparecen en el Informe de costos y usos con esa etiqueta de asignación de costos. Se recomienda seguir las [prácticas recomendadas de etiquetado](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) de AWS para crear un conjunto de etiquetas coherente que satisfaga los requisitos de la organización.

Puede trabajar con etiquetas mediante la consola de Athena o las operaciones de la API. 

**Topics**
+ [Conceptos básicos de etiquetas](#tag-basics)
+ [Restricciones de las etiquetas](#tag-restrictions)
+ [Trabajo con etiquetas para grupos de trabajo](tags-console.md)
+ [Uso de operaciones de etiquetas de la AWS CLI y API](tags-operations.md)
+ [Uso de políticas de control de acceso de IAM basado en etiquetas](tags-access-control.md)

## Conceptos básicos de etiquetas
<a name="tag-basics"></a>

Una etiqueta es una marca que se asigna a un recurso de Athena. Cada etiqueta está formada por una clave y un valor opcional, ambos definidos por el usuario.

Las etiquetas le permiten clasificar los recursos de AWS de diversas maneras. Por ejemplo, puede definir un conjunto de etiquetas para los grupos de trabajo de su cuenta que le ayude a realizar un seguimiento del propietario de cada grupo de trabajo o finalidad.

Puede agregar etiquetas al crear un grupo de trabajo de Athena nuevo o catálogo de datos, o puede agregar, editar o eliminar etiquetas de los mismos. Puede editar una etiqueta en la consola. Para utilizar las operaciones de la API para editar una etiqueta, elimine la etiqueta antigua y agregue una nueva. Si elimina un recurso, también se eliminará cualquier etiqueta asignada a dicho recurso.

Athena no asigna automáticamente etiquetas a los recursos. Puede editar las claves y los valores de las etiquetas y también puede eliminar etiquetas de un recurso en cualquier momento. Puede establecer el valor de una etiqueta como una cadena vacía, pero no puede asignarle un valor nulo. No agregue claves de etiqueta duplicadas al mismo recurso. Si lo hace, Athena emite un mensaje de error. Si utiliza la acción **TagResource** para etiquetar un recurso con una clave de etiqueta existente, el nuevo valor de etiqueta sobrescribe el valor anterior.

En IAM puede controlar qué usuarios de la cuenta de Amazon Web Services tienen permiso para crear, editar, eliminar o enumerar etiquetas. Para obtener más información, consulte [Uso de políticas de control de acceso de IAM basado en etiquetas](tags-access-control.md).

Para obtener una lista completa de las acciones de etiquetas de Amazon Athena, consulte los nombres de acciones de la API en la [Referencia de API de Amazon Athena](https://docs.aws.amazon.com/athena/latest/APIReference/).

Puede usar etiquetas para la facturación. Para obtener más información, consulte [Uso de etiquetas para facturación](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html) en la *Guía del usuario de Administración de facturación y costos de AWS*.

Para obtener más información, consulte [Restricciones de las etiquetas](#tag-restrictions).

## Restricciones de las etiquetas
<a name="tag-restrictions"></a>

Las etiquetas tienen las siguientes restricciones:
+ En Athena, puede etiquetar grupos de trabajo, catálogos de datos y reservas de capacidad. No puede etiquetar consultas.
+ El número máximo de etiquetas por recurso es 50. Para no sobrepasar el límite, revise y elimine las etiquetas sin usar.
+ Para cada recurso, cada clave de etiqueta debe ser única y solo puede tener un valor. No agregue claves de etiquetas duplicadas al mismo tiempo al mismo recurso. Si lo hace, Athena emite un mensaje de error. Si etiqueta un recurso mediante una clave de etiqueta existente en una acción `TagResource` separada, el valor de la etiqueta nueva sobrescribe el valor antiguo.
+ La longitud de la clave de etiqueta es de 1-128 caracteres Unicode en UTF-8.
+ La longitud del valor de etiqueta es de 0-256 caracteres Unicode en UTF-8.

  Las operaciones de etiquetado, como, por ejemplo, agregar, editar, eliminar o enumerar etiquetas, requieren que especifique un ARN para el recurso de grupo de trabajo.
+ Athena le permite utilizar letras, números, espacios representados en UTF-8 y los siguientes caracteres: \$1 - = . \$1 : / @.
+ Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.
+ El prefijo `"aws:"` de las claves de etiqueta está reservado para el uso de AWS. Las claves de etiquetas que tienen este prefijo no se pueden editar ni eliminar. Las etiquetas que tengan este prefijo no cuentan para el límite de etiquetas por recurso.
+ Las etiquetas que asigne solo están disponibles para su cuenta de Amazon Web Services.

# Trabajo con etiquetas para grupos de trabajo
<a name="tags-console"></a>

Con la consola de Athena, puede ver qué etiquetas están en uso en cada grupo de trabajo en su cuenta. Puede ver etiquetas solo por grupo de trabajo. También puede utilizar la consola de Athena para aplicar, editar o eliminar etiquetas en un grupo de trabajo a la vez.

Puede buscar grupos de trabajo utilizando las etiquetas que ha creado.

**Topics**
+ [Visualización de etiquetas para los grupos de trabajo individuales](#tags-display)
+ [Adición y eliminación de etiquetas en un grupo de trabajo individual](#tags-add-delete)

## Visualización de etiquetas para los grupos de trabajo individuales
<a name="tags-display"></a>

**Para mostrar las etiquetas de un grupo de trabajo individual en la consola de Athena**

1. Abra la consola de Athena en [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Si el panel de navegación de la consola no está visible, elija el menú de expansión de la izquierda.  
![\[Elija el menú de expansión.\]](http://docs.aws.amazon.com/es_es/athena/latest/ug/images/nav-pane-expansion.png)

1. En el menú de navegación, elija **Workgroups** (Grupos de trabajo) y, a continuación, elija el grupo de trabajo que quiere.

1. Realice una de las siguientes acciones:
   + Elija la pestaña **Etiquetas**. Si la lista de etiquetas es larga, utilice el cuadro de búsqueda.
   + Elija **Edit** (Editar) y, a continuación, desplácese hacia abajo hasta la sección **Tags** (Etiquetas).

## Adición y eliminación de etiquetas en un grupo de trabajo individual
<a name="tags-add-delete"></a>

Puede administrar las etiquetas para un grupo de trabajo individual directamente desde la pestaña **Workgroups (Grupos de trabajo)**.

**nota**  
Si desea que los usuarios agreguen etiquetas cuando creen un grupo de trabajo en la consola o pasen etiquetas cuando utilicen la acción **CreateWorkGroup**, asegúrese de conceder permisos de IAM a los usuarios para las acciones **TagResource** y **CreateWorkGroup**.

**Para agregar una etiqueta se crea un nuevo grupo de trabajo**

1. Abra la consola de Athena en [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. En el menú de navegación, elija **Workgroups** (Grupos de trabajo).

1. Elija **Create workgroup** (Crear grupo de trabajo) y rellene los valores según sea necesario. Para ver los pasos detallados, consulte [Creación de un grupo de trabajo](creating-workgroups.md).

1. En la sección **Tags** (Etiquetas), agregue una o varias etiquetas. Para ello, especifique las claves y los valores. No añada claves de etiquetas duplicadas al mismo tiempo en el mismo grupo de trabajo. Si lo hace, Athena emite un mensaje de error. Para obtener más información, consulte [Restricciones de las etiquetas](tags.md#tag-restrictions).

1. Cuando haya terminado, elija **Create Workgroup** (Crear grupo de trabajo).

**Para añadir una etiqueta a un grupo de trabajo existente o editarla**

1. Abra la consola de Athena en [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. En el panel de navegación, elija **Workgroups** (Redes globales).

1. Elija el grupo de trabajo que quiere modificar.

1. Realice una de las siguientes acciones:
   + Elija la pestaña **Etiquetas** y, a continuación, elija **Administrar etiquetas**. 
   + Elija **Edit** (Editar) y, a continuación, desplácese hacia abajo hasta la sección **Tags** (Etiquetas).

1. Especifique una clave y valor para cada etiqueta. Para obtener más información, consulte [Restricciones de las etiquetas](tags.md#tag-restrictions).

1. Seleccione **Save**.

**Para eliminar una etiqueta de un grupo de trabajo individual**

1. Abra la consola de Athena en [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. En el panel de navegación, elija **Workgroups** (Redes globales).

1. Elija el grupo de trabajo que quiere modificar.

1. Realice una de las siguientes acciones:
   + Elija la pestaña **Etiquetas** y, a continuación, elija **Administrar etiquetas**. 
   + Elija **Edit** (Editar) y, a continuación, desplácese hacia abajo hasta la sección **Tags** (Etiquetas).

1. En la lista de etiquetas, elija **Remove** (Quitar) de la etiqueta que quiera eliminar y, a continuación, elija **Save** (Guardar).

# Uso de operaciones de etiquetas de la AWS CLI y API
<a name="tags-operations"></a>

Utilice las siguientes operaciones de etiquetas para agregar, quitar o enumerar etiquetas en un recurso.


****  

| API | CLI | Descripción de la acción | 
| --- | --- | --- | 
| TagResource | tag-resource | Agregue o sobrescriba una o más etiquetas en el recurso que tiene el ARN especificado. | 
| UntagResource | untag-resource | Elimine una o más etiquetas del recurso que tiene el ARN especificado. | 
| ListTagsForResource | list‑tags‑for‑resource | Enumere una o más etiquetas para el recurso que tiene el ARN especificado. | 

**Adición de etiquetas al crear un recurso**  
Para agregar etiquetas al crear un grupo de trabajo o un catálogo de datos, utilice el parámetro `tags` con las operaciones de API `CreateWorkGroup` o `CreateDataCatalog` o con los comandos AWS CLI o `create-work-group` de la `create-data-catalog`.

## Administración de etiquetas con acciones de la API
<a name="tags-operations-examples-java"></a>

En los ejemplos siguientes se muestra cómo utilizar acciones de API de etiquetas para administrar las etiquetas en los grupos de trabajo y los catálogos de datos. Los ejemplos están en el lenguaje de programación Java.

### Ejemplo: TagResource
<a name="tags-operations-examples-java-tag-resource"></a>

En el ejemplo siguiente se agregan dos etiquetas al grupo de trabajo `workgroupA`:

```
List<Tag> tags = new ArrayList<>();
tags.add(new Tag().withKey("tagKey1").withValue("tagValue1"));
tags.add(new Tag().withKey("tagKey2").withValue("tagValue2"));

TagResourceRequest request = new TagResourceRequest()
    .withResourceARN("arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA")
    .withTags(tags);

client.tagResource(request);
```

En el ejemplo siguiente se agregan dos etiquetas al catálogo de datos `datacatalogA`:

```
List<Tag> tags = new ArrayList<>();
tags.add(new Tag().withKey("tagKey1").withValue("tagValue1"));
tags.add(new Tag().withKey("tagKey2").withValue("tagValue2"));

TagResourceRequest request = new TagResourceRequest()
    .withResourceARN("arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA")
    .withTags(tags);

client.tagResource(request);
```

**nota**  
No agregue claves de etiqueta duplicadas al mismo recurso. Si lo hace, Athena emite un mensaje de error. Si etiqueta un recurso mediante una clave de etiqueta existente en una acción `TagResource` separada, el valor de la etiqueta nueva sobrescribe el valor antiguo.

### Ejemplo: UntagResource
<a name="tags-operations-examples-java-untag-resource"></a>

En el ejemplo siguiente se quita `tagKey2` del grupo de trabajo `workgroupA`:

```
List<String> tagKeys = new ArrayList<>();
tagKeys.add("tagKey2");

UntagResourceRequest request = new UntagResourceRequest()
    .withResourceARN("arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA")
    .withTagKeys(tagKeys);

client.untagResource(request);
```

En el ejemplo siguiente se quita `tagKey2` del catálogo de datos `datacatalogA`:

```
List<String> tagKeys = new ArrayList<>();
tagKeys.add("tagKey2");

UntagResourceRequest request = new UntagResourceRequest()
    .withResourceARN("arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA")
    .withTagKeys(tagKeys);

client.untagResource(request);
```

### Ejemplo: ListTagsForResource
<a name="tags-operations-examples-java-list-tags-for-resource"></a>

En el ejemplo siguiente se enumeran las etiquetas del grupo de trabajo `workgroupA`:

```
ListTagsForResourceRequest request = new ListTagsForResourceRequest()
    .withResourceARN("arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA");

ListTagsForResourceResult result = client.listTagsForResource(request);

List<Tag> resultTags = result.getTags();
```

En el ejemplo siguiente se enumeran las etiquetas del catálogo de datos `datacatalogA`:

```
ListTagsForResourceRequest request = new ListTagsForResourceRequest()
    .withResourceARN("arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA");

ListTagsForResourceResult result = client.listTagsForResource(request);

List<Tag> resultTags = result.getTags();
```

## Administración de las etiquetas mediante la AWS CLI
<a name="tags-operations-examples-cli"></a>

En los ejemplos siguientes se muestra cómo utilizar la AWS CLI para crear y administrar etiquetas en catálogos de datos.

### Adición de etiquetas a un recurso: tag-resource
<a name="tags-operations-examples-cli-tag-resource"></a>

El comando `tag-resource` agrega una o varias etiquetas a un recurso especificado.

**Sintaxis**  
`aws athena tag-resource --resource-arn arn:aws:athena:region:account_id:datacatalog/catalog_name --tags Key=string,Value=string Key=string,Value=string`

El parámetro `--resource-arn` especifica el recurso al que se agregan las etiquetas. El parámetro `--tags` especifica una lista de pares clave-valor separados por espacios para agregar como etiquetas al recurso. 

**Example**  
En el ejemplo siguiente se agregan etiquetas al catálogo de datos `mydatacatalog`.  

```
aws athena tag-resource --resource-arn arn:aws:athena:us-east-1:111122223333:datacatalog/mydatacatalog --tags Key=Color,Value=Orange Key=Time,Value=Now
```
Para mostrar el resultado, use el comando `list-tags-for-resource`.   
Para obtener información sobre cómo agregar etiquetas al utilizar el comando `create-data-catalog`, consulte [Registro de un catálogo: create-data-catalog](datastores-hive-cli.md#datastores-hive-cli-registering-a-catalog).

### Descripción de las etiquetas de un recurso: list-tags-for-resource
<a name="tags-operations-examples-cli-list-tags-for-resource"></a>

El comando `list-tags-for-resource` enumera las etiquetas del recurso especificado.

**Sintaxis**  
`aws athena list-tags-for-resource --resource-arn arn:aws:athena:region:account_id:datacatalog/catalog_name`

El parámetro `--resource-arn` especifica el recurso para el que se enumeran las etiquetas. 

En el ejemplo siguiente se enumeran las etiquetas del catálogo de datos `mydatacatalog`.

```
aws athena list-tags-for-resource --resource-arn arn:aws:athena:us-east-1:111122223333:datacatalog/mydatacatalog
```

El siguiente resultado de ejemplo está en formato JSON.

```
{
    "Tags": [
        {
            "Key": "Time",
            "Value": "Now"
        },
        {
            "Key": "Color",
            "Value": "Orange"
        }
    ]
}
```

### Eliminación de las etiquetas de un recurso: untag-resource: untag-resource
<a name="tags-operations-examples-cli-untag-resource"></a>

El comando `untag-resource` quita las claves de etiqueta especificadas y sus valores asociados del recurso especificado.

**Sintaxis**  
`aws athena untag-resource --resource-arn arn:aws:athena:region:account_id:datacatalog/catalog_name --tag-keys key_name [key_name ...]` 

El parámetro `--resource-arn` especifica el recurso del que se quitan las etiquetas. El parámetro `--tag-keys` toma una lista separada por espacios de nombres de las clave. Para cada nombre de clave especificado, el comando `untag-resource` elimina tanto la clave como su valor.

En el ejemplo siguiente se quitan las claves `Color` y `Time` y sus valores del recurso de catálogo `mydatacatalog`.

```
aws athena untag-resource --resource-arn arn:aws:athena:us-east-1:111122223333:datacatalog/mydatacatalog --tag-keys Color Time
```

# Uso de políticas de control de acceso de IAM basado en etiquetas
<a name="tags-access-control"></a>

Tener etiquetas le permite escribir una política de IAM que incluya el bloque `Condition` para controlar el acceso a un recurso en función de sus etiquetas. En esta sección se incluyen ejemplos de las políticas de etiquetas para los recursos de los grupos de trabajo y los catálogos de datos.

## Ejemplos de política de etiquetas para grupos de trabajo
<a name="tag-policy-examples-workgroups"></a>

### Ejemplo: política de etiquetado básica
<a name="tag-policy-examples-workgroups-basic"></a>

La siguiente política de IAM le permite ejecutar las consultas e interactuar con etiquetas para el grupo de trabajo llamado `workgroupA`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
       {
            "Effect": "Allow",
            "Action": [
                "athena:ListWorkGroups",
                "athena:ListEngineVersions",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:GetWorkGroup",
                "athena:TagResource",
                "athena:UntagResource",
                "athena:ListTagsForResource",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:BatchGetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/workgroupA"
        }
    ]
}
```

------

### Ejemplo: bloqueo de política que deniega acciones en un grupo de trabajo en función de un par de claves de etiqueta y valores de etiqueta
<a name="tag-policy-examples-workgroups-basic"></a>

Las etiquetas que están asociadas a un recurso como un grupo de trabajo se denominan etiquetas de recursos. Las etiquetas de recursos le permiten escribir bloques de política como los siguientes que deniegan las acciones enumeradas en cualquier grupo de trabajo etiquetado con un par clave-valor como `stack`, `production`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "athena:GetWorkGroup",
                "athena:UpdateWorkGroup",
                "athena:DeleteWorkGroup",
                "athena:TagResource",
                "athena:UntagResource",
                "athena:ListTagsForResource",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:BatchGetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery",
                "athena:CreatePreparedStatement",
                "athena:GetPreparedStatement",
                "athena:ListPreparedStatements",
                "athena:UpdatePreparedStatement",
                "athena:DeletePreparedStatement"
            ],
            "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/stack": "production"
                }
            }
        }
    ]
}
```

------

### Ejemplo: bloqueo de política que restringe las solicitudes de acciones de cambio de etiqueta a etiquetas especificadas
<a name="tag-policy-examples-workgroups-restricted-specific"></a>

Las etiquetas que se pasan como parámetros a operaciones que cambian etiquetas (por ejemplo, `TagResource`, `UntagResource` o `CreateWorkGroup` con etiquetas) se denominan etiquetas de solicitud. El siguiente bloque de política de ejemplo permite la operación `CreateWorkGroup` solo si una de las etiquetas pasadas tiene la clave `costcenter` y el valor `1`, `2` o `3`.

**nota**  
Si desea permitir que un rol de IAM pase etiquetas como parte de una operación `CreateWorkGroup`, asegúrese de conceder permisos al rol para las acciones `TagResource` y `CreateWorkGroup`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateWorkGroup",
                "athena:TagResource"
            ],
            "Resource": "arn:aws:athena:us-east-1:123456789012:workgroup/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/costcenter": [
                        "1",
                        "2",
                        "3"
                    ]
                }
            }
        }
    ]
}
```

------

## Ejemplos de política de etiquetas para catálogos de datos
<a name="tag-policy-examples-data-catalogs"></a>

### Ejemplo: política de etiquetado básica
<a name="tag-policy-examples-data-catalogs-basic"></a>

La siguiente política de IAM le permite interactuar con etiquetas para el catálogo de datos denominado `datacatalogA`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListWorkGroups",
                "athena:ListEngineVersions",
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:GetWorkGroup",
                "athena:TagResource",
                "athena:UntagResource",
                "athena:ListTagsForResource",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:BatchGetQueryExecution",
                "athena:ListQueryExecutions",
                "athena:StopQueryExecution",
                "athena:GetQueryResults",
                "athena:GetQueryResultsStream",
                "athena:CreateNamedQuery",
                "athena:GetNamedQuery",
                "athena:BatchGetNamedQuery",
                "athena:ListNamedQueries",
                "athena:DeleteNamedQuery"
            ],
            "Resource": [
                "arn:aws:athena:us-east-1:123456789012:workgroup/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateDataCatalog",
                "athena:GetDataCatalog",
                "athena:UpdateDataCatalog",
                "athena:DeleteDataCatalog",
                "athena:ListDatabases",
                "athena:GetDatabase",
                "athena:ListTableMetadata",
                "athena:GetTableMetadata",
                "athena:TagResource",
                "athena:UntagResource",
                "athena:ListTagsForResource"
            ],
            "Resource": "arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA"
        }
    ]
}
```

------

### Ejemplo: bloqueo de política que deniega acciones en un Catálogo de datos en función de un par de claves de etiqueta y valores de etiqueta
<a name="tag-policy-examples-data-catalogs-deny-actions"></a>

Puede utilizar etiquetas de recursos para escribir bloques de política que denieguen acciones específicas en catálogos de datos etiquetados con pares clave-valor de etiqueta específicos. La siguiente política de ejemplo deniega acciones en catálogos de datos que tienen el par clave-valor de etiqueta `stack`, `production`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "athena:CreateDataCatalog",
                "athena:GetDataCatalog",
                "athena:UpdateDataCatalog",
                "athena:DeleteDataCatalog",
                "athena:GetDatabase",
                "athena:ListDatabases",
                "athena:GetTableMetadata",
                "athena:ListTableMetadata",
                "athena:StartQueryExecution",
                "athena:TagResource",
                "athena:UntagResource",
                "athena:ListTagsForResource"
            ],
            "Resource": "arn:aws:athena:us-east-1:123456789012:datacatalog/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/stack": "production"
                }
            }
        }
    ]
}
```

------

### Ejemplo: bloqueo de política que restringe las solicitudes de acciones de cambio de etiqueta a etiquetas especificadas
<a name="tag-policy-examples-data-catalogs-action-specific-tags"></a>

Las etiquetas que se pasan como parámetros a operaciones que cambian etiquetas (por ejemplo, `TagResource`, `UntagResource` o `CreateDataCatalog` con etiquetas) se denominan etiquetas de solicitud. El siguiente bloque de política de ejemplo permite la operación `CreateDataCatalog` solo si una de las etiquetas pasadas tiene la clave `costcenter` y el valor `1`, `2` o `3`.

**nota**  
Si desea permitir que un rol de IAM pase etiquetas como parte de una operación `CreateDataCatalog`, asegúrese de conceder permisos al rol para las acciones `TagResource` y `CreateDataCatalog`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateDataCatalog",
                "athena:TagResource"
            ],
            "Resource": "arn:aws:athena:us-east-1:123456789012:datacatalog/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/costcenter": [
                        "1",
                        "2",
                        "3"
                    ]
                }
            }
        }
    ]
}
```

------