

# Resultados de consultas administrados
<a name="managed-results"></a>

Con los resultados de consultas administrados, se pueden ejecutar consultas SQL sin necesidad de proporcionar un bucket de Amazon S3 para el almacenamiento de los resultados de las consultas. Esto ahorra tener que aprovisionar, administrar, controlar el acceso y limpiar sus propios buckets de S3. Para empezar, se debe crear un grupo de trabajo nuevo o editar uno existente. En **Configuración de resultados de consultas**, seleccione **Administrado por Athena**. 

**Características principales de**
+ Simplifica el flujo de trabajo al eliminar la necesidad de elegir una ubicación de bucket de S3 antes de ejecutar las consultas.
+ No hay costo adicional por usar resultados de consultas administrados y la eliminación automática de los resultados de las consultas reduce los gastos de administración y la necesidad de procesos independientes de limpieza de los buckets de S3.
+ Inicio sencillo: los grupos de trabajo nuevos y preexistentes se pueden configurar fácilmente para utilizar los resultados de consultas administrados. Se puede tener en la cuenta de AWS una combinación de resultados de consultas administrados por Athena y administrados por el cliente.
+ Permisos de IAM simplificados con acceso para leer los resultados a través de `GetQueryResults` y `GetQueryResultsStream` vinculados a grupos de trabajo individuales.
+ Los resultados de las consultas se cifran automáticamente con las claves propiedad de AWS o con las claves propiedad del cliente que se elijan.

## Consideraciones y limitaciones
<a name="managed-results-considerations"></a>

****
+ El acceso a los resultados de las consultas se gestiona a nivel del grupo de trabajo en Athena. Para ello, se necesitan permisos explícitos para las acciones de IAM `GetQueryResults` y `GetQueryResultsStream` en el grupo de trabajo específico. La acción `GetQueryResults` determina quién puede recuperar los resultados de una consulta completada en un formato paginado, mientras que la acción `GetQueryResultsStream` determina quién puede transmitir los resultados de una consulta completada (comúnmente utilizada por los controladores de Athena).
+ No se pueden descargar archivos de resultados de consultas de más de 200 MB desde la consola. Se debe utilizar la instrucción `UNLOAD` para escribir aquellos resultados que tienen más de 200 MB en una ubicación que se pueda descargar por separado.
+ La característica de resultados de consultas gestionadas no admite la [reutilización de los resultados de las consultas](reusing-query-results.md).
+ Los resultados de las consultas están disponibles durante 24 horas. Los resultados de las consultas se almacenan sin costo alguno para usted durante este período. Una vez finalizado este período, los resultados de la consulta se eliminan automáticamente.

## Crear o editar un grupo de trabajo con resultados de consultas administrados
<a name="using-managed-query-results"></a>

Si se desea crear un grupo de trabajo o actualizar uno existente con los resultados de las consultas administradas desde la consola:

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

1. En el menú de navegación izquierdo, seleccione **Grupos de trabajo**.

1. Seleccione **Crear grupo de trabajo** para crear un grupo de trabajo nuevo o para editar uno existente de la lista.

1. En **Configuración de resultados de consultas**, elija **Administrado por Athena**.   
![\[El menú de configuración de resultados de consultas.\]](http://docs.aws.amazon.com/es_es/athena/latest/ug/images/athena-managed.png)

1. En **Cifrar los resultados de la consulta**, elija la opción de cifrado que desea. Para obtener más información, consulte [Elija el cifrado de los resultados de la consulta](#managed-query-results-encryption-at-rest).

1. Complete todos los demás detalles obligatorios y seleccione **Guardar cambios**. 

## Elija el cifrado de los resultados de la consulta
<a name="managed-query-results-encryption-at-rest"></a>

Hay dos opciones para esta configuración de cifrado:
+ **Cifrar con clave propiedad de AWS**: esta es la opción predeterminada cuando se utilizan los resultados de consultas administrados. Elija esta opción si desea que los resultados de las consultas se cifren con una clave propiedad de AWS.
+ **Cifrar con clave administrada por el cliente**: seleccione esta opción si desea cifrar y descifrar los resultados de las consultas con una clave administrada por el cliente. Para utilizar una clave administrada por el cliente, agregue el servicio Athena en el elemento de entidad principal de la sección de política de claves. Para obtener más información, consulte [Configure una política de clave de AWS KMS para los resultados de las consultas administradas](#managed-query-results-set-up). Para ejecutar las consultas correctamente, el usuario que las ejecuta necesita permiso para acceder a la clave de AWS KMS.

## Configure una política de clave de AWS KMS para los resultados de las consultas administradas
<a name="managed-query-results-set-up"></a>

La sección `Principal` de la política de claves especifica quién puede usar esta clave. La característica de resultados de consultas administrados introduce el `encryption.athena.amazonaws.com` de la entidad principal que debe especificar en la sección `Principal`. Esta entidad principal de servicio es específica para el acceso a claves que no son propiedad de Athena. También debe agregar las acciones `kms:Decrypt`, `kms:GenerateDataKey` y `kms:DescribeKey` a la política de claves que utilice para acceder a los resultados administrados. Estas tres acciones son las acciones mínimas permitidas.

Los resultados de consultas administrados utilizan el ARN de su grupo de trabajo para el [contexto de cifrado](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context). Como la sección `Principal` es un servicio de AWS, también es necesario añadir `aws:sourceArn` y `aws:sourceAccount` a las condiciones de la política de claves. El siguiente ejemplo muestra una política de claves de AWS KMS que tiene permisos mínimos en un solo grupo de trabajo.

```
 {
    "Sid": "Allow athena service principal to use the key",
    "Effect": "Allow",
    "Principal": {
        "Service": "encryption.athena.amazonaws.com"
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:DescribeKey"
      ],
    "Resource": "arn:aws:kms:us-east-1:{account-id}:key/{key-id}",
    "Condition": {
    "ArnLike": {
        "kms:EncryptionContext:aws:athena:arn": "arn:aws:athena:us-east-1:{account-id}:workgroup/{workgroup-name}",
        "aws:SourceArn": "arn:aws:athena:us-east-1:{account-id}:workgroup/{workgroup-name}"
    },
    "StringEquals": {
        "aws:SourceAccount": "{account-id}"
    }
}
```

El siguiente ejemplo de política de claves de AWS KMS permite que todos los grupos de trabajo de la misma cuenta *account-id* usen la misma clave de AWS KMS.

```
{
    "Sid": "Allow athena service principal to use the key",
    "Effect": "Allow",
    "Principal": {
        "Service": "encryption.athena.amazonaws.com"
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:DescribeKey"
    ],
    "Resource": "arn:aws:kms:us-east-1:account-id:key/{key-id}",
    "Condition": {
        "ArnLike": {
          "kms:EncryptionContext:aws:athena:arn": "arn:aws:athena:us-east-1:account-id:workgroup/*",
          "aws:SourceArn": "arn:aws:athena:us-east-1:account-id:workgroup/*"
        },
        "StringEquals": {
          "aws:SourceAccount": "account-id"
        }
    }
}
```

Además de los permisos de Athena y Amazon S3, también debe obtener permisos para realizar las acciones `kms:GenerateDataKey` y `kms:Decrypt`. Para obtener más información, consulte [Permisos para datos cifrados en Amazon S3](encryption.md#permissions-for-encrypting-and-decrypting-data). 

Para obtener más información sobre el cifrado de resultados de consultas administrados, consulte [Cifrar resultados de consultas administrados](encrypting-managed-results.md).

# Cifrar resultados de consultas administrados
<a name="encrypting-managed-results"></a>

Athena ofrece las siguientes opciones para cifrar los [Resultados de consultas administrados](managed-results.md).

## Cifrar con una clave propiedad de AWS
<a name="encrypting-managed-results-aws-owned-key"></a>

Esta es la opción predeterminada cuando se utilizan los resultados de consultas administrados. Esta opción indica que desea cifrar los resultados de la consulta con una clave propiedad de AWS. Las claves propiedad de AWS no se almacenan en su cuenta de AWS y forman parte de un conjunto de claves de KMS que son propiedad de AWS. No se cobra ninguna tarifa de uso de las claves propiedad de AWS y no se incluyen en las cuotas de AWS KMS de la cuenta.

## Cifre con claves administradas por el cliente de AWS KMS.
<a name="encrypting-managed-results-customer-managed-key"></a>

Las claves administradas por el cliente son claves de KMS en su cuenta de AWS, que usted creó, posee y administra. Usted tiene control total sobre estas claves de KMS, incluido el establecimiento y mantenimiento de sus políticas de claves, políticas de IAM y concesiones, la habilitación y desactivación de estas, la rotación de su material criptográfico, el agregado de etiquetas, la creación de alias que hacen referencia a ellas y la programación para su eliminación. Para obtener más información, consulte [Claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

## Cómo Athena utiliza la clave administrada por el cliente para cifrar los resultados
<a name="encrypting-managed-results-how-ate-uses-cmk"></a>

Al especificar una clave administrada por el cliente, Athena la utiliza para cifrar los resultados de la consulta cuando se almacenan en los resultados de consultas administrados. La misma clave se utiliza para descifrar los resultados cuando llama a `GetQueryResults`. Cuando se desactiva el estado de la clave administrada por el cliente o se programa su eliminación, se impide que Athena y todos los usuarios cifren o descifren los resultados con esa clave.

Athena utiliza el cifrado de sobre y la jerarquía de claves para cifrar los datos. Su clave de cifrado de AWS KMS se utiliza para generar y descifrar la clave raíz de esta jerarquía de claves.

Cada resultado se cifra mediante la clave administrada por el cliente que está configurada en el grupo de trabajo en el momento del cifrado. Cambiar la clave a una clave administrada por el cliente diferente o a una clave propiedad de AWS no vuelve a cifrar los resultados existentes con la nueva clave. La eliminación y desactivación de una clave determinada administrada por el cliente solo afecta al descifrado de los resultados cifrados por dicha clave.

Athena necesita acceder a su clave de cifrado para realizar las operaciones `kms:Decrypt`, `kms:GenerateDataKey` y `kms:DescribeKey` para cifrar y descifrar los resultados. Para obtener más información, consulte [Permisos para datos cifrados en Amazon S3](encryption.md#permissions-for-encrypting-and-decrypting-data). 

La entidad principal que envía la consulta mediante la API `StartQueryExecution` y lee los resultados mediante `GetQueryResults` también debe tener permiso para la clave administrada por el cliente para las operaciones `kms:Decrypt`, `kms:GenerateDataKey` y `kms:DescribeKey`, además de los permisos de Athena y Amazon S3. Para más información, consulte [Políticas de claves en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users).