Administración del acceso a una tabla o base de datos con Lake Formation - Amazon Simple Storage Service

Administración del acceso a una tabla o base de datos con Lake Formation

Una vez que los buckets de tablas están integrados con los servicios de análisis de AWS, Lake Formation administra el acceso a las tablas y requiere que cada entidad principal (usuario o rol) de IAM esté autorizada a ejecutar acciones sobre ellas. Lake Formation utiliza un modelo propio de permisos (permisos de Lake Formation) que permite un control de acceso pormenorizado a los recursos del Catálogo de datos.

Para obtener más información, consulte Descripción general de permisos de Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

Hay dos tipos principales de permisos en AWS Lake Formation:

  1. Los permisos de acceso a metadatos controlan la capacidad de crear, leer, actualizar y eliminar bases de datos de metadatos y tablas del Catálogo de datos.

  2. Los permisos de acceso a los datos subyacentes controlan la capacidad de leer y escribir datos en las ubicaciones de Amazon S3 subyacentes a las que apuntan los recursos del Catálogo de datos.

Lake Formation utiliza una combinación de su propio modelo de permisos y el modelo de permisos de IAM para controlar el acceso a los recursos del Catálogo de datos y a los datos subyacentes.

  • Para que una solicitud de acceso a los recursos del Catálogo de datos o a los datos subyacentes se atienda correctamente, debe pasar las comprobaciones de permisos tanto de IAM como de Lake Formation.

  • Los permisos de IAM controlan el acceso a las API y recursos de Lake Formation y AWS Glue, mientras que los permisos de Lake Formation controlan el acceso a los recursos del Catálogo de datos, las ubicaciones de Amazon S3 y los datos subyacentes.

Los permisos de Lake Formation se aplican solo en la región en la que se concedieron, y la entidad principal debe estar autorizada por un administrador de lago de datos o de otra entidad principal con los permisos necesarios para que se le concedan permisos de Lake Formation.

nota

Si es el usuario que realizó la integración de los buckets de tabla, ya dispone de permisos de Lake Formation sobre las tablas. Si es la única entidad principal que va a acceder a las tablas, puede omitir este paso. Solo necesita conceder permisos de Lake Formation sobre las tablas a otras entidades principales de IAM. Esto permite que otras entidades principales accedan a la tabla al ejecutar consultas. Para obtener más información, consulte Concesión del permiso de Lake Formation sobre una tabla o base de datos.

Concesión del permiso de Lake Formation sobre una tabla o base de datos

Puede conceder a una entidad principal permisos de Lake Formation sobre una tabla o base de datos de un bucket de tablas, ya sea a través de la consola de Lake Formation o de la AWS CLI.

nota

Al conceder permisos de Lake Formation sobre un recurso del Catálogo de datos a una cuenta externa o directamente a una entidad principal de IAM de otra cuenta, Lake Formation utiliza el servicio AWS Resource Access Manager (AWS RAM) para compartir el recurso. Si la cuenta del beneficiario está en la misma organización que la cuenta del concedente, el recurso compartido estará disponible inmediatamente para el beneficiario. Si la cuenta del beneficiario no pertenece a la misma organización, AWS RAM envía una invitación a la cuenta del beneficiario para que acepte o rechace la concesión del recurso. Luego, para que el recurso compartido esté disponible, el administrador del lago de datos de la cuenta del beneficiario debe usar la consola de AWS RAM o la AWS CLI para aceptar la invitación. Para obtener más información acerca del uso compartido de datos entre cuentas, consulte Uso compartido de datos entre cuentas en Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

Console
  1. Abra la consola de AWS Lake Formation en https://console.aws.amazon.com/lakeformation/ e inicie sesión como administrador del lago de datos. Para obtener más información sobre cómo crear un administrador de lago de datos, consulte Creación de un administrador de lago de datos en la Guía para desarrolladores de AWS Lake Formation.

  2. En el panel de navegación, elija Permisos de datos y, a continuación, seleccione Conceder.

  3. En la página Conceder permisos, en Entidades principales, realice una de las siguientes acciones:

    • En el caso de Amazon Athena o Amazon Redshift, elija Usuarios y roles de IAM y, a continuación, seleccione la entidad principal de IAM que utilice para consultas.

    • En el caso de Amazon Data Firehose, elija Usuarios y roles de IAM y seleccione el rol de servicio que creó para el streaming a tablas.

    • En el caso de Quick Suite, elija Usuarios y grupos de SAML e ingrese el nombre de recurso de Amazon (ARN) del usuario administrador de Quick Suite.

    • Para el acceso al punto de conexión de Iceberg REST de AWS Glue, elija Usuarios y roles de IAM y, a continuación, seleccione el rol de IAM que creó para el cliente. Para obtener más información, consulte Crear un rol de IAM para el cliente

  4. En Etiquetas LF o recursos de catálogo, elija Recursos de catálogo de datos con nombre.

  5. En Catálogos, elija el subcatálogo que creó al integrar el bucket de tablas; por ejemplo, account-id:s3tablescatalog/amzn-s3-demo-bucket.

  6. En Bases de datos, elija el espacio de nombres del bucket de tablas de S3 que creó.

  7. (Opcional) En Tablas, elija la tabla de S3 que creó en el bucket de tablas.

    nota

    Si va a crear una tabla nueva en el editor de consultas de Athena, no seleccione ninguna tabla.

  8. Realice una de las siguientes acciones:

    • Si especificó una tabla en el paso anterior, en Permisos de tabla, elija Super.

    • Si no especificó una tabla en el paso anterior, vaya a Permisos de base de datos. Para compartir datos entre cuentas, no puede elegir Super para conceder a la otra entidad principal todos los permisos sobre la base de datos. En su lugar, elija permisos más detallados, como Describir.

  9. Elija Conceder.

CLI
  1. Asegúrese de que ejecuta el siguiente comando de la AWS CLI como administrador del lago de datos. Para obtener más información, consulte Creación de un administrador de lago de datos en la Guía para desarrolladores de AWS Lake Formation.

  2. Ejecute el siguiente comando para conceder permisos de Lake Formation en la tabla del bucket de tablas de S3 a una entidad principal de IAM para acceder a la tabla. Para utilizar este ejemplo, sustituya user input placeholders por su propia información.

    aws lakeformation grant-permissions \ --region us-east-1 \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "user or role ARN, for example, arn:aws:iam::account-id:role/example-role" }, "Resource": { "Table": { "CatalogId": "account-id:s3tablescatalog/amzn-s3-demo-bucket", "DatabaseName": "S3 table bucket namespace, for example, test_namespace", "Name": "S3 table bucket table name, for example test_table" } }, "Permissions": [ "ALL" ] }'