

# Control del acceso a los catálogos de datos con políticas de IAM
<a name="datacatalogs-iam-policy"></a>

Para controlar el acceso a los catálogos de datos, utilice permisos de IAM de nivel de recursos o políticas de IAM basadas en identidad. 

El siguiente procedimiento es específico de Athena. 

Para obtener información específica sobre IAM, consulte los enlaces que se enumeran al final de esta sección. Para obtener información sobre políticas de catálogo de datos JSON de ejemplo, consulte [Políticas de catálogos de datos de ejemplo](datacatalogs-example-policies.md).

**Para utilizar el editor visual en la consola de IAM para crear una política de catálogo de datos**

1. Inicie sesión en Consola de administración de AWS y abra la consola IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. En el panel de navegación de la izquierda, elija **Políticas** y, a continuación, elija **Crear política**.

1. En la pestaña **Editor visual**, elija **Elegir un servicio**. A continuación, elija un servicio de Athena para agregar a la política.

1. Elija **Seleccionar acciones** y, a continuación, elija las acciones que desea añadir a la política. El editor visual muestra las acciones disponibles en Athena. Para obtener más información, consulte [Acciones, recursos y claves de condición de Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html) en la *Referencia de autorizaciones de servicio*.

1. Elija **Añadir acciones** para escribir una acción específica o utilice comodines (\$1) para especificar varias acciones. 

   De forma predeterminada, la política que está creando permite las acciones que usted elija. Si eligió una o más acciones que admiten permisos en el nivel de recursos para el recurso `datacatalog` en Athena, el editor visual enumera el recurso `datacatalog`. 

1. Elija **Recursos** para especificar catálogos de datos específicos para su política. Para ver políticas de catálogo de datos JSON de ejemplo, consulte [Políticas de catálogos de datos de ejemplo](datacatalogs-example-policies.md).

1. Especifique el recurso `datacatalog` como se indica a continuación:

   ```
   arn:aws:athena:<region>:<user-account>:datacatalog/<datacatalog-name>
   ```

1. Elija **Revisar la política** y, a continuación, escriba un **Nombre** y una **Descripción** (opcional) para la política que está creando. Revise el resumen de la política para asegurarse de que ha concedido los permisos deseados. 

1. Elija **Crear política** para guardar la nueva política.

1. Asocie esta política basada en la identidad a un usuario, grupo o rol y especifique los recursos de `datacatalog` a los que pueden acceder.

Para obtener más información, consulte los siguientes temas en la *Referencia de autorizaciones de servicio* y la *Guía del usuario de IAM*:
+ [Acciones, recursos y claves de condición de Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html)
+ [Creación de políticas con el editor visual](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor)
+ [Adición y eliminación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)
+ [Control del acceso a los recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_controlling.html#access_controlling-resources)

Para ver políticas de catálogo de datos JSON de ejemplo, consulte [Políticas de catálogos de datos de ejemplo](datacatalogs-example-policies.md).

Para obtener información sobre los permisos de AWS Glue y los permisos del rastreador de AWS Glue, consulte [Configuración de permisos de IAM para AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/getting-started-access.html) y [Requisitos previos del rastreador](https://docs.aws.amazon.com/glue/latest/dg/crawler-prereqs.html) en la *Guía para desarrolladores de AWS Glue*.

Para obtener una lista completa de las acciones 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/). 

# Políticas de catálogos de datos de ejemplo
<a name="datacatalogs-example-policies"></a>

En esta sección se incluyen políticas de ejemplo que puede utilizar para habilitar varias acciones en catálogos de datos.

Un catálogo de datos es un recurso de IAM administrado por Athena. Por lo tanto, si la política de catálogo de datos utiliza acciones que toman `datacatalog` como entrada, debe especificar el ARN del catálogo de datos de la siguiente manera:

```
"Resource": [arn:aws:athena:<region>:<user-account>:datacatalog/<datacatalog-name>]
```

El `<datacatalog-name>` es el nombre del catálogo de datos. Por ejemplo, para un catálogo de datos denominado `test_datacatalog`, especifíquelo como recurso de la siguiente manera:

```
"Resource": ["arn:aws:athena:us-east-1:123456789012:datacatalog/test_datacatalog"]
```

Para obtener una lista completa de las acciones 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/). Para obtener más información sobre las políticas de IAM, consulte [Creación de políticas con el editor visual](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-visual-editor) en la *Guía del usuario de IAM*. Para obtener más información acerca de la creación de políticas de IAM para grupos de trabajo, consulte [Control del acceso a los catálogos de datos con políticas de IAM](datacatalogs-iam-policy.md).
+ [Example Policy for Full Access to All Data Catalogs](#datacatalog-policy-full-access-to-all-data-catalogs)
+ [Example Policy for Full Access to a Specified Data Catalog](#datacatalog-policy-full-access-to-a-specified-catalog)
+ [Example Policy for Querying a Specified Data Catalog](#datacatalog-policy-querying-a-specified-data-catalog)
+ [Example Policy for Management Operations on a Specified Data Catalog](#datacatalog-policy-management-operations-on-a-specified-catalog)
+ [Example Policy for Listing Data Catalogs](#datacatalog-policy-listing-data-catalogs)
+ [Example Policy for Metadata Operations on Data Catalogs](#datacatalog-policy-metadata-operations)

**Example Ejemplo de política para el acceso completo a todos los catálogos de datos**  
La siguiente política permite el acceso completo a todos los recursos de catálogos de datos que podrían existir en la cuenta. Le recomendamos que utilice esta política para aquellos usuarios en su cuenta que deben administrar catálogos de datos para los demás usuarios.    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "athena:*"
         ],
         "Resource":[
            "*"
         ]
      }
   ]
}
```

**Example Ejemplo de política para el acceso completo a un catálogo de datos especificado**  
La siguiente política permite acceso completo al recurso de catálogo de datos específico individual, denominado `datacatalogA`. Puede utilizar esta política para los usuarios con control total sobre un catálogo de datos en particular.    
****  

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

**Example Ejemplo de política para consultar un catálogo de datos especificado**  
En la siguiente política, un usuario puede ejecutar consultas en el especificado `datacatalogA`. El usuario no tiene permiso para realizar las tareas de administración para el catálogo de datos en sí, como, por ejemplo, actualizarlo o eliminarlo.     
****  

```
{ "Version":"2012-10-17",		 	 	  "Statement":[ { "Effect":"Allow", "Action":[
   "athena:StartQueryExecution" ], "Resource":[
      "arn:aws:athena:us-east-1:123456789012:workgroup/*"
   ] }, { "Effect":"Allow", "Action":[ "athena:GetDataCatalog" ], "Resource":[
      "arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA"
   ] } ] }
```

**Example Ejemplo de política para operaciones de administración en un catálogo de datos especificado**  
En la siguiente política, se permite a un usuario crear, eliminar, obtener detalles y actualizar un catálogo de datos `datacatalogA`.     
****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "athena:CreateDataCatalog", "athena:GetDataCatalog", "athena:DeleteDataCatalog",
    "athena:UpdateDataCatalog" ], "Resource": [
        "arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA"
    ] } ] }
```

**Example Ejemplo de política para generar listas de catálogos de datos**  
La siguiente política permite a todos los usuarios enumerar todos los catálogos de datos:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListDataCatalogs"
            ],
            "Resource": "*"
        }
    ]
}
```

**Example Ejemplo de política para realizar operaciones de metadatos en catálogos de datos**  
La siguiente política permite operaciones de metadatos en catálogos de datos:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:GetDatabase",
                "athena:GetTableMetadata",
                "athena:ListDatabases",
                "athena:ListTableMetadata"
            ],
            "Resource": "*"
        }
    ]
}
```