Habilitación de buckets de Amazon S3 de pago por solicitante en Athena para Spark - Amazon Athena

Habilitación de buckets de Amazon S3 de pago por solicitante en Athena para Spark

Cuando un bucket de Amazon S3 se configura para pagos por solicitante, a la cuenta del usuario que ejecuta la consulta se le cobran las tarifas de acceso y transferencia de datos asociadas a la consulta. Para obtener más información, consulte Uso de buckets de pagos por solicitante para transferencias de almacenamiento y uso en la Guía del usuario de Amazon S3.

En Athena para Spark, los buckets de pagos por solicitante están habilitados por sesión, no por grupo de trabajo. En un nivel superior, habilitar los buckets de pagos por solicitante incluye los siguientes pasos:

  1. En la consola de Amazon S3, habilite los pagos por solicitante en las propiedades del bucket y agregue una política de bucket para especificar el acceso.

  2. En la consola de IAM, cree una política de IAM para permitir el acceso al bucket y, a continuación, adjunte la política al rol de IAM que se utilizará para acceder al bucket de pagos por solicitante.

  3. En Athena para Spark, agregue una propiedad de sesión para habilitar la característica de pagos por solicitante.

Paso 1: habilitar el pago por solicitante en un bucket de Amazon S3 y agregar una política de bucket

Para habilitar los pagos por solicitante en un bucket de S3
  1. Abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista de buckets, elija el enlace del bucket para el que desea habilitar los pagos por solicitante.

  3. En la página del bucket, elija la pestaña Propiedades.

  4. Desplácese hacia abajo hasta la sección Pagos por solicitante y, a continuación, elija Editar.

  5. En la página Editar pagos por solicitante, seleccione Habilitar y, a continuación, elija Guardar cambios.

  6. Elija la pestaña Permisos.

  7. Elija Editar en la sección Política de bucket.

  8. En la página Editar política de bucket, aplique la política de bucket que desee para el bucket de origen. El siguiente ejemplo de política da acceso a todas las entidades principales de AWS ("AWS": "*"), pero su acceso puede ser más detallado. Por ejemplo, puede que desee especificar solo un rol de IAM determinado en otra cuenta.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket/*" ] } ] }

Paso 2: crear una política de IAM y adjuntarla a un rol de IAM

Luego, cree una política de IAM que permita el acceso al bucket. A continuación, adjunte la política al rol que se utilizará para acceder al bucket de pagos por solicitante.

Para crear una política de IAM para el bucket de pagos por solicitante y adjuntar la política a un rol
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En en el panel de navegación de la consola de IAM, elija Políticas.

  3. Elija Crear política.

  4. Elija JSON.

  5. En el Editor de políticas, agregue una política como la que sigue:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket", "arn:aws:s3:::account_number-us-east-1-my-s3-requester-pays-bucket/*" ] } ] }
  6. Elija Siguiente.

  7. En la página Revisar y crear, escriba un nombre y una descripción opcional para la política y, a continuación, elija Crear política.

  8. Seleccione Roles en el panel de navegación.

  9. En la página Roles, busque el rol que desea usar y, a continuación, elija el enlace del nombre del rol.

  10. En la sección Políticas de permisos, elija Agregar permisos, Adjuntar políticas.

  11. En la sección Otras políticas de permisos, active la casilla de verificación de la política que creó y, a continuación, elija Agregar permisos.

Paso 3: agregar una propiedad de sesión de Athena para Spark

Una vez que haya configurado el bucket de Amazon S3 y los permisos asociados para los pagos por solicitante, podrá habilitar la característica en una sesión de Athena para Spark.

Para habilitar buckets de pagos por solicitante en una sesión de Athena para Spark
  1. En el editor de cuadernos, en el menú Session (Sesión) de la esquina superior derecha, elija Edit session (Editar sesión).

  2. Amplíe Propiedades de Spark.

  3. Seleccione Editar en JSON.

  4. En el editor de texto JSON, introduzca lo siguiente:

    { "spark.hadoop.fs.s3.useRequesterPaysHeader":"true" }
  5. Seleccione Guardar.