Registro de una ubicación cifrada de Amazon S3 entre cuentas AWS - AWS Lake Formation

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro de una ubicación cifrada de Amazon S3 entre cuentas AWS

AWS Lake Formation se integra con AWS Key Management Service(AWS KMS) para permitirle configurar más fácilmente otros servicios integrados para cifrar y descifrar datos en las ubicaciones de Amazon Simple Storage Service (Amazon S3).

Ambas son claves administradas por el cliente y Claves administradas por AWS son compatibles. No es compatible el cifrado/descifrado del cliente.

importante

Evite registrar un bucket de Amazon S3 que tenga activada la opción El solicitante paga. Para los buckets registrados en Lake Formation, el rol utilizado para registrar el bucket se considera siempre como el solicitante. Si otra AWS cuenta accede al depósito, se le cobrará al propietario del depósito por el acceso a los datos si el rol pertenece a la misma cuenta que el propietario del depósito.

En esta sección se explica cómo registrar una ubicación de Amazon S3 en las siguientes circunstancias:

  • Los datos de la ubicación de Amazon S3 se cifran con una KMS clave creada en AWS KMS.

  • La ubicación de Amazon S3 no está en la misma AWS cuenta que la AWS Glue Data Catalog.

  • La KMS clave está o no en la misma AWS cuenta que el catálogo de datos.

Para registrar un bucket de Amazon S3 AWS KMS cifrado en la AWS cuenta B con un rol AWS Identity and Access Management (IAM) en la AWS cuenta A se requieren los siguientes permisos:

  • El rol de la cuenta A debe conceder permisos sobre el bucket de la cuenta B.

  • La política de bucket de la cuenta B debe conceder permisos de acceso al rol de la cuenta A.

  • Si la KMS clave está en la cuenta B, la política de claves debe conceder el acceso al rol en la cuenta A y el rol en la cuenta A debe conceder permisos sobre la KMS clave.

En el siguiente procedimiento, se crea un rol en la AWS cuenta que contiene el catálogo de datos (la cuenta A en el análisis anterior). A continuación, utilice este rol para registrar la ubicación. Lake Formation asume este rol al acceder a los datos subyacentes en Amazon S3. El rol asumido tiene los permisos necesarios en la KMS clave. Como resultado, no es necesario conceder permisos sobre la KMS clave a los directores que accedan a los datos subyacentes mediante ETL trabajos o servicios integrados, por ejemplo. Amazon Athena

importante

No puede utilizar el rol vinculado al servicio Lake Formation para registrar una ubicación en otra cuenta. En su lugar, debe utilizar un rol definido por el usuario. El rol debe cumplir los requisitos de Requisitos de los roles utilizados para registrar ubicaciones. Para obtener más información sobre el rol vinculado a servicios, consulte Permisos de rol vinculados al servicio para Lake Formation.

Antes de empezar

Revise los requisitos del rol utilizado para registrar la ubicación.

Para registrar una ubicación de Amazon S3 cifrada en todas AWS las cuentas
  1. En la misma AWS cuenta que el catálogo de datos, inicie sesión en AWS Management Console y abra la IAM consola enhttps://console.aws.amazon.com/iam/.

  2. Cree un nuevo rol o consulte uno existente que cumpla con los requisitos de Requisitos de los roles utilizados para registrar ubicaciones. Asegúrese de que el rol incluye una política que concede permisos de Amazon S3 en la ubicación.

  3. Si la KMS clave no está en la misma cuenta que el catálogo de datos, añada a la función una política integrada que conceda los permisos necesarios para la KMS clave. A continuación, se muestra una política de ejemplo. Reemplazar <cmk-region> y <cmk-account-id> con la región y el número de cuenta de la KMS clave. Reemplazar <key-id> con el identificador de la clave.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:<cmk-region>:<cmk-account-id>:key/<key-id>" } ] }
  4. En la consola de Amazon S3, agregue una política de bucket que conceda los permisos de Amazon S3 necesarios para el rol. A continuación se muestra un ejemplo de política de bucket. Reemplazar <catalog-account-id> con el número de AWS cuenta del catálogo de datos, <role-name> con el nombre de su función, y <bucket-name> con el nombre de la cubeta.

    { "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Principal": { "AWS":"arn:aws:iam::<catalog-account-id>:role/<role-name>" }, "Action":"s3:ListBucket", "Resource":"arn:aws:s3:::<bucket-name>" }, { "Effect":"Allow", "Principal": { "AWS":"arn:aws:iam::<catalog-account-id>:role/<role-name>" }, "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource":"arn:aws:s3:::<bucket-name>/*" } ] }
  5. En AWS KMS, añada el rol como usuario de la KMS clave.

    1. Abra la AWS KMS consola en https://console.aws.amazon.com/kms. A continuación, inicie sesión como usuario administrador o como usuario que puede modificar la política de claves de la KMS clave utilizada para cifrar la ubicación.

    2. En el panel de navegación, elija Claves administradas por el cliente y, a continuación, elija el nombre de la KMS clave.

    3. En la página de detalles KMS clave, en la pestaña Política clave, si no se muestra la JSON vista de la política clave, seleccione Cambiar a la vista de políticas.

    4. En la sección Política clave, elija Editar y añada el nombre del recurso de Amazon (ARN) del rol al Allow use of the key objeto, como se muestra en el siguiente ejemplo.

      nota

      Si falta ese objeto, agréguelo con los permisos que se muestran en el ejemplo.

      ... { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::<catalog-account-id>:role/<role-name>" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, ...

      Para obtener más información, consulte Permitir que los usuarios de otras cuentas usen una KMS clave en la Guía para AWS Key Management Service desarrolladores.

  6. Abra la AWS Lake Formation consola en https://console.aws.amazon.com/lakeformation/. Inicie sesión en la cuenta AWS del Catálogo de datos como administrador del lago de datos.

  7. En el panel de navegación, bajo Administración, seleccione Ubicaciones de los lagos de datos.

  8. Seleccione Registrar ubicación.

  9. En la página Registrar ubicación, para la ruta de Amazon S3, introduzca el nombre del bucket como s3://<bucket>/<prefix>. Reemplazar <bucket> con el nombre del depósito y <prefix> con el resto de la ruta de la ubicación.

    nota

    Debe escribir la ruta porque los buckets entre cuentas no aparecen en la lista cuando selecciona Examinar.

  10. Para IAMel rol, elija el rol del paso 2.

  11. Seleccione Registrar ubicación.