

# Registro y supervisión de Athena
<a name="security-logging-monitoring"></a>

Para detectar incidentes, recibir alertas cuando ocurran y responder a ellas, utilice estas opciones con Amazon Athena: 
+ **Monitoreo de Athena con AWS CloudTrail**: [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/) proporciona un registro de las medidas adoptadas por un usuario, rol o Servicio de AWS en Athena. Captura las llamadas desde la consola de Athena y las llamadas de código a las operaciones de la API de Athena como eventos. Esto le permite determinar la solicitud que se envió a Athena, la dirección IP desde la que se realizó la solicitud, quién realizó la solicitud, cuándo la realizó y detalles adicionales. Para obtener más información, consulte [Registro de las llamadas a la API de Amazon Athena con AWS CloudTrail](monitor-with-cloudtrail.md).

  También puede usar Athena para consultar los archivos de registro de CloudTrail no solo para Athena, sino también para otros Servicios de AWS. Para obtener más información, consulte [Consulta de registros de AWS CloudTrail](cloudtrail-logs.md).
+ **Supervise el uso de Athena con CloudTrail y Amazon Quick**: [Amazon Quick](https://aws.amazon.com/quicksight/) es un servicio de inteligencia empresarial totalmente administrado y basado en la nube que le permite crear paneles interactivos a los que la organización puede acceder desde cualquier dispositivo. Para ver un ejemplo de una solución en la que se utiliza CloudTrail y Amazon Quick a fin de supervisar el uso de Athena, consulte la publicación del blog de macrodatos de AWS [“How Realtor.com monitors Amazon Athena usage with AWS CloudTrail and Quick”](https://aws.amazon.com/blogs/big-data/analyzing-amazon-athena-usage-by-teams-within-a-real-estate-company/).
+ **Utilizar Amazon EventBridge con Athena**: Amazon EventBridge proporciona una transmisión casi en tiempo real de eventos de sistema que describen cambios en los recursos de AWS. EventBridge descubre los cambios operativos a medida que ocurren, responde a ellos y toma medidas correctivas según sea necesario al enviar mensajes para responder al entorno, activar funciones, realizar cambios y registrar información de estado. Los eventos se emiten en la medida de lo posible. Para obtener más información, consulte [Introducción a Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html) en la *Guía del usuario de Amazon EventBridge*.
+ **Utilice grupos de trabajo para separar usuarios, equipos, aplicaciones o cargas de trabajo y establecer límites de consulta y controlar los costos de las consultas**: puede ver métricas relacionadas con las consultas en Amazon CloudWatch, controlar los costos de las consultas mediante la configuración de los límites de la cantidad de datos escaneados, crear umbrales y desencadenar acciones, como alarmas de Amazon SNS, cuando se superan estos umbrales. Para obtener más información, consulte [Uso de grupos de trabajo para controlar el acceso a las consultas y los costos](workgroups-manage-queries-control-costs.md). Utilice permisos de IAM de nivel de recursos para controlar el acceso a un grupo de trabajo específico. Para obtener más información, consulte [Uso de políticas de IAM para el control del acceso al grupo de trabajo](workgroups-iam-policy.md) y [Uso de CloudWatch y EventBridge para la supervisión de consultas y la administración de costos](workgroups-control-limits.md).

**Topics**
+ [Registro de las llamadas a la API de Amazon Athena con AWS CloudTrail](monitor-with-cloudtrail.md)

# Registro de las llamadas a la API de Amazon Athena con AWS CloudTrail
<a name="monitor-with-cloudtrail"></a>

Athena está integrada con AWS CloudTrail, un servicio que proporciona un registro de las acciones del usuario, el rol o un Servicio de AWS en Athena. 

CloudTrail captura todas las llamadas a la API de Athena como eventos. Las llamadas capturadas incluyen las llamadas desde la consola de Athena y las llamadas desde el código a las operaciones de la API de Athena. Si crea un registro de seguimiento, puede habilitar la entrega continua de eventos de CloudTrail a un bucket de Amazon S3, incluidos los eventos para Athena. Si no configura un registro de seguimiento, puede ver los eventos más recientes en la consola de CloudTrail en el **Historial de eventos**. 

Mediante la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a Athena, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo la realizó y los detalles adicionales. 

Para obtener más información sobre CloudTrail, consulte la [Guía del usuario de AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

Puede usar Athena para consultar archivos de registro de CloudTrail desde Athena en sí y desde otros Servicios de AWS. Para obtener más información, consulte [Consulta de registros de AWS CloudTrail](cloudtrail-logs.md), [El SerDe JSON de Hive](hive-json-serde.md) y la publicación del Blog de macrodatos de AWS [Utilizar instrucciones CTAS con Amazon Athena para reducir los costos y mejorar el rendimiento](https://aws.amazon.com/blogs/big-data/using-ctas-statements-with-amazon-athena-to-reduce-cost-and-improve-performance/), que utiliza CloudTrail para proporcionar información sobre el uso de Athena.

## Acerca de la información de Athena en CloudTrail
<a name="athena-info-in-cloudtrail"></a>

CloudTrail se habilita en su cuenta de Amazon Web Services cuando crea la cuenta. Cuando se produce una actividad en Athena, esa actividad se registra en un evento de CloudTrail junto con otros eventos de servicio de AWS en el **Historial de eventos**. Puede ver, buscar y descargar los últimos eventos de la cuenta de Amazon Web Services. Para obtener más información, consulte [Viewing events with CloudTrail event history](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Para mantener un registro continuo de eventos en la cuenta de Amazon Web Services, incluidos los eventos de Athena, cree un registro de seguimiento. Un *registro de seguimiento* permite a CloudTrail enviar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las Regiones de AWS. El registro de seguimiento registra los eventos de todas las regiones de la partición de AWS y envía los archivos de registro al bucket de Amazon S3 especificado. También es posible configurar otros Servicios de AWS para analizar en profundidad y actuar en función de los datos de eventos recopilados en los registros de CloudTrail. Para más información, consulte los siguientes temas: 
+ [Introducción a la creación de registros de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [Servicios e integraciones compatibles con CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuración de notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Recibir archivos de registro de CloudTrail de varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [Recibir archivos de registro de CloudTrail de varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

CloudTrail registra todas las acciones de Athena, que están documentadas en la [Referencia de la API de Amazon Athena](https://docs.aws.amazon.com/athena/latest/APIReference/). Por ejemplo, las llamadas a las acciones [StartQueryExecution](https://docs.aws.amazon.com/athena/latest/APIReference/API_StartQueryExecution.html) y [GetQueryResults](https://docs.aws.amazon.com/athena/latest/APIReference/API_StartQueryExecution.html) generan entradas en los archivos de registro de CloudTrail.

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad del usuario lo ayuda a determinar lo siguiente: 
+ Si la solicitud se realizó con credenciales de usuario de AWS Identity and Access Management (IAM) o credenciales de usuario raíz.
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro Servicio de AWS.

Para obtener más información, consulte [Elemento userIdentity de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Comprensión de las entradas de archivos de registro de Athena
<a name="understanding-ate-log-file-entries"></a>

Un registro de seguimiento es una configuración que permite la entrega de eventos como archivos de registros en un bucket de Amazon S3 que especifique. Los archivos de registro de CloudTrail pueden contener una o varias entradas de registro. Un evento representa una solicitud específica realizada desde un origen cualquiera y contiene información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. Los archivos de registro de CloudTrail no rastrean el orden en la pila de las llamadas públicas a la API, por lo que estas no aparecen en ningún orden específico. 

**nota**  
Para evitar la divulgación involuntaria de información confidencial, la entrada `queryString` en los registros `StartQueryExecution` y `CreateNamedQuery` tiene un valor de `***OMITTED***`. Este comportamiento es así por diseño. Para acceder a la cadena de consulta real, puede utilizar la API [GetQueryExecution](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryExecution.html) de Athena y pasar el valor de `responseElements.queryExecutionId` del registro de CloudTrail. 

Los siguientes son ejemplos de entradas de registro de CloudTrail para:
+  [StartQueryExecution (correcto)](#startqueryexecution-successful) 
+  [StartQueryExecution (error)](#startqueryexecution-failed) 
+  [CreateNamedQuery](#createnamedquery) 

### StartQueryExecution (correcto)
<a name="startqueryexecution-successful"></a>

```
{
 "eventVersion":"1.05",
 "userIdentity":{
    "type":"IAMUser",
    "principalId":"EXAMPLE_PRINCIPAL_ID",
    "arn":"arn:aws:iam::123456789012:user/johndoe",
    "accountId":"123456789012",
    "accessKeyId":"EXAMPLE_KEY_ID",
    "userName":"johndoe"
 },
 "eventTime":"2017-05-04T00:23:55Z",
 "eventSource":"athena.amazonaws.com",
 "eventName":"StartQueryExecution",
 "awsRegion":"us-east-1",
 "sourceIPAddress":"77.88.999.69",
 "userAgent":"aws-internal/3",
 "requestParameters":{
    "clientRequestToken":"16bc6e70-f972-4260-b18a-db1b623cb35c",
    "resultConfiguration":{
       "outputLocation":"s3://amzn-s3-demo-bucket/test/"
    },
    "queryString":"***OMITTED***"
 },
 "responseElements":{
    "queryExecutionId":"b621c254-74e0-48e3-9630-78ed857782f9"
 },
 "requestID":"f5039b01-305f-11e7-b146-c3fc56a7dc7a",
 "eventID":"c97cf8c8-6112-467a-8777-53bb38f83fd5",
 "eventType":"AwsApiCall",
 "recipientAccountId":"123456789012"
}
```

### StartQueryExecution (error)
<a name="startqueryexecution-failed"></a>

```
{
 "eventVersion":"1.05",
 "userIdentity":{
  "type":"IAMUser",
  "principalId":"EXAMPLE_PRINCIPAL_ID",
  "arn":"arn:aws:iam::123456789012:user/johndoe",
  "accountId":"123456789012",
  "accessKeyId":"EXAMPLE_KEY_ID",
  "userName":"johndoe"
  },
 "eventTime":"2017-05-04T00:21:57Z",
 "eventSource":"athena.amazonaws.com",
 "eventName":"StartQueryExecution",
 "awsRegion":"us-east-1",
 "sourceIPAddress":"77.88.999.69",
 "userAgent":"aws-internal/3",
 "errorCode":"InvalidRequestException",
 "errorMessage":"Invalid result configuration. Should specify either output location or result configuration",
 "requestParameters":{
  "clientRequestToken":"ca0e965f-d6d8-4277-8257-814a57f57446",
  "queryString":"***OMITTED***"
  },
 "responseElements":null,
 "requestID":"aefbc057-305f-11e7-9f39-bbc56d5d161e",
 "eventID":"6e1fc69b-d076-477e-8dec-024ee51488c4",
 "eventType":"AwsApiCall",
 "recipientAccountId":"123456789012"
}
```

### CreateNamedQuery
<a name="createnamedquery"></a>

```
{
  "eventVersion":"1.05",
  "userIdentity":{
     "type":"IAMUser",
     "principalId":"EXAMPLE_PRINCIPAL_ID",
     "arn":"arn:aws:iam::123456789012:user/johndoe",
     "accountId":"123456789012",
     "accessKeyId":"EXAMPLE_KEY_ID",
     "userName":"johndoe"
  },
  "eventTime":"2017-05-16T22:00:58Z",
  "eventSource":"athena.amazonaws.com",
  "eventName":"CreateNamedQuery",
  "awsRegion":"us-west-2",
  "sourceIPAddress":"77.88.999.69",
  "userAgent":"aws-cli/1.11.85 Python/2.7.10 Darwin/16.6.0 botocore/1.5.48",
  "requestParameters":{
     "name":"johndoetest",
     "queryString":"***OMITTED***",
     "database":"default",
     "clientRequestToken":"fc1ad880-69ee-4df0-bb0f-1770d9a539b1"
     },
  "responseElements":{
     "namedQueryId":"cdd0fe29-4787-4263-9188-a9c8db29f2d6"
     },
  "requestID":"2487dd96-3a83-11e7-8f67-c9de5ac76512",
  "eventID":"15e3d3b5-6c3b-4c7c-bc0b-36a8dd95227b",
  "eventType":"AwsApiCall",
  "recipientAccountId":"123456789012"
},
```