Referencia de permisos de Lake Formation - 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.

Referencia de permisos de Lake Formation

Para realizar AWS Lake Formation las operaciones, los directores necesitan tanto los permisos de Lake Formation como los permisos AWS Identity and Access Management (IAM). En general, los permisos IAM se conceden mediante políticas de control de acceso poco específicas, como se describe en Descripción general de los permisos de Lake Formation . Puede conceder permisos a Lake Formation mediante la consola, la API o AWS Command Line Interface (AWS CLI).

Para saber cómo conceder o revocar permisos de Lake Formation, consulte Concesión de permisos sobre los recursos del catálogo de datos y Conceder permisos de ubicación de datos.

nota

Los ejemplos de esta sección muestran cómo conceder permisos a entidades principales en la misma cuenta AWS . Para ver ejemplos de concesiones entre cuentas, consulte Compartir datos entre cuentas en Lake Formation.

Permisos de Lake Formation por tipo de recurso

A continuación se indican los permisos válidos de Lake Formation disponibles para cada tipo de recurso:

Recurso Permiso
Database ALL (Super)
ALTER
CREATE_TABLE
DESCRIBE
DROP
Table ALL (Super)
ALTER
DELETE
DESCRIBE
DROP
INSERT
SELECT
View ALL (Super)
SELECT
DESCRIBE
DROP
Data Catalog CREATE_DATABASE
Amazon S3 location DATA_LOCATION_ACCESS
LF-Tags DROP
ALTER
LF-Tag values ASSOCIATE
DESCRIBE
GrantWithLFTagExpression
LF-Tag policy - Database ALL (Super)
ALTER
CREATE_TABLE
DESCRIBE
DROP
LF-Tag policy - Table ALL (Super)
ALTER
DESCRIBE
DELETE
DROP
INSERT
SELECT
Resource link - Database or Table DESCRIBE
DROP
Table with data filters DESCRIBE
DROP
SELECT
Table with column filter SELECT

Lake Formation otorga y revoca órdenes AWS CLI

Cada descripción de permisos de esta sección incluye ejemplos de cómo se concede el permiso mediante un AWS CLI comando. Las siguientes son las sinopsis de Lake Formation grant-permissions y revoke-permissions AWS CLI sus comandos.

grant-permissions [--catalog-id <value>] --principal <value> --resource <value> --permissions <value> [--permissions-with-grant-option <value>] [--cli-input-json <value>] [--generate-cli-skeleton <value>]
revoke-permissions [--catalog-id <value>] --principal <value> --resource <value> --permissions <value> [--permissions-with-grant-option <value>] [--cli-input-json <value>] [--generate-cli-skeleton <value>]

Para obtener descripciones detalladas de estos comandos, consulte grant-permissions y revoke-permissions en la Referencia de comandos de AWS CLI . En esta sección se proporciona información adicional sobre la opción --principal.

El valor de la opción --principal es uno de los siguientes:

  • Nombre de recurso de Amazon (ARN) para un usuario o AWS Identity and Access Management rol (IAM)

  • ARN para un usuario o grupo que se autentica a través de un proveedor SAML, como Microsoft Active Directory Federation Service (AD FS)

  • ARN de un QuickSight usuario o grupo de Amazon

  • Para los permisos entre cuentas, un identificador de AWS cuenta, un identificador de organización o un identificador de unidad organizativa

A continuación encontrará la sintaxis y ejemplos para todos los tipos de --principal.

La entidad principal es un usuario de IAM

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:user/<user-name>

Ejemplo:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1
La entidad principal es un rol de IAM

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:role/<role-name>

Ejemplo:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/workflowrole
La entidad principal es un usuario que se autentica a través de un proveedor SAML

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:user/<user-name>

Ejemplos:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:user/datalake_user1
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:user/athena-user@example.com
La entidad principal es un grupo que se autentica a través de un proveedor SAML

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:iam::<account-id>:saml-provider/<SAMLproviderName>:group/<group-name>

Ejemplos:

--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/idp1:group/data-scientists
--principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:saml-provider/AthenaLakeFormationOkta:group/my-group
Principal es usuario de Amazon QuickSight Enterprise Edition

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:user/<namespace>/<user-name>
nota

En <namespace>, debe especificar default.

Ejemplo:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:user/default/bi_user1
Principal es un grupo de Amazon QuickSight Enterprise Edition

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:<region>:<account-id>:group/<namespace>/<group-name>
nota

En <namespace>, debe especificar default.

Ejemplo:

--principal DataLakePrincipalIdentifier=arn:aws:quicksight:us-east-1:111122223333:group/default/data_scientists
Principal es una AWS cuenta

Sintaxis:

--principal DataLakePrincipalIdentifier=<account-id>

Ejemplo:

--principal DataLakePrincipalIdentifier=111122223333
La entidad principal es una organización

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:organization/<organization-id>

Ejemplo:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl
La entidad principal es una unidad organizativa

Sintaxis:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::<account-id>:ou/<organization-id>/<organizational-unit-id>

Ejemplo:

--principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:ou/o-abcdefghijkl/ou-ab00-cdefghij
Principal es un usuario o grupo con identidad del Centro de Identidad de IAM

Ejemplo: usuario

--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::user/<UserID>

Ejemplo: Grupo:

--principal DataLakePrincipalIdentifier=arn:aws:identitystore:::group/<GroupID>
El director es un grupo de IAM - IAMAllowedPrincipals

Lake Formation otorga Super permisos en todas las bases de datos y tablas del catálogo de datos a un grupo llamado de forma IAMAllowedPrincipals predeterminada. Si este permiso de grupo existe en una base de datos o una tabla, todos los responsables de su cuenta tendrán acceso al recurso mediante las políticas principales de IAM. AWS Glue Proporciona compatibilidad con versiones anteriores al empezar a utilizar los permisos de Lake Formation para proteger los recursos del catálogo de datos para los que anteriormente estaban protegidos por AWS Glue las políticas de IAM.

Cuando usa Lake Formation para administrar los permisos de los recursos de su catálogo de datos, primero debe revocar el IAMAllowedPrincipals permiso de los recursos o optar por el modo de acceso híbrido entre los principales y los recursos para que los permisos de Lake Formation funcionen.

Ejemplo:

--principal DataLakePrincipalIdentifier=IAM_Allowed_Principals
Principal es un grupo de IAM - ALLIAMPrincipals

Al conceder permisos para ALLIAMPrincipals agrupar en un recurso del catálogo de datos, todos los directores de la cuenta tienen acceso al recurso del catálogo de datos mediante los permisos de Lake Formation y los permisos de IAM.

Ejemplo:

--principal DataLakePrincipalIdentifier=123456789012:IAMPrincipals

Permisos de Lake Formation

Esta sección contiene los permisos disponibles de Lake Formation que puede conceder a las entidades principales.

ALTER

Permiso Concedido sobre este recurso El beneficiario también necesita
ALTER DATABASE glue:UpdateDatabase
ALTER TABLE glue:UpdateTable
ALTER LF-Tag lakeformation:UpdateLFTag

Una entidad principal con este permiso puede alterar los metadatos de una base de datos o tabla del Catálogo de datos. Para las tablas, puede cambiar el esquema de columnas y añadir parámetros de columna. No puede alterar las columnas de los datos subyacentes a los que apunta una tabla de metadatos.

Si la propiedad que se está modificando es una ubicación registrada de Amazon Simple Storage Service (Amazon S3), la entidad principal debe tener permisos de ubicación de datos en la nueva ubicación.

En el siguiente ejemplo, se concede el ALTER permiso al usuario datalake_user1 de la base de datos de la AWS cuenta retail 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Database": {"Name":"retail"}}'

El siguiente ejemplo concede ALTER al usuario datalake_user1 en la tabla inventory de la base de datos retail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ALTER" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

CREATE_DATABASE

Permiso Concedido sobre este recurso El beneficiario también necesita
CREATE_DATABASE Data Catalog glue:CreateDatabase

Una entidad principal con este permiso puede crear una base de metadatos o un enlace de recursos en el Catálogo de datos. La entidad principal también puede crear tablas en la base de datos.

En el siguiente ejemplo, se concede CREATE_DATABASE al usuario datalake_user1 de la cuenta 1111-2222-3333. AWS

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_DATABASE" --resource '{ "Catalog": {}}'

Cuando una entidad principal crea una base de datos en el Catálogo de datos, no se conceden permisos a los datos subyacentes. Se conceden los siguientes permisos adicionales para metadatos (junto con la posibilidad de conceder estos permisos a otros):

  • CREATE_TABLE en la base de datos

  • Base de datos de ALTER

  • Base de datos de DROP

Al crear una base de datos, la entidad principal puede especificar de forma opcional una ubicación de Amazon S3. Dependiendo de si la entidad principal tiene permisos de localización de datos, el permiso CREATE_DATABASE podría no ser suficiente para crear bases de datos en todos los casos. Es importante tener en cuenta los siguientes puntos.

Caso práctico de creación de una base de datos Permisos necesarios
La propiedad de ubicación no está especificada. CREATE_DATABASE es suficiente.
Se especifica la propiedad de ubicación, y la ubicación no está administrada por Lake Formation (no está registrada). CREATE_DATABASE es suficiente.
Se especifica la propiedad de ubicación, y la ubicación es administrada por Lake Formation (está registrada). Se requiere CREATE_DATABASE, además de permisos de localización de datos en la ubicación especificada.

CREATE_TABLE

Permiso Concedido sobre este recurso El beneficiario también necesita
CREATE_TABLE DATABASE glue:CreateTable

Una entidad principal con este permiso puede crear una tabla de metadatos o un enlace de recursos en el Catálogo de datos dentro de la base de datos especificada.

El siguiente ejemplo concede al usuario datalake_user1 permiso para crear tablas en la retail base de datos de la cuenta 1111-2222-3333. AWS

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'

Cuando una entidad principal crea una tabla en el Catálogo de datos, se le conceden todos los permisos de Lake Formation sobre la tabla, con la posibilidad de conceder estos permisos sobre otros.

Subsidios entre cuentas

Si una cuenta propietaria de una base de datos concede CREATE_TABLE a una cuenta de destinatario, y un usuario de la cuenta de destinatario crea con éxito una tabla en la base de datos de la cuenta propietaria, se aplican las siguientes reglas:

  • El usuario y los administradores del lago de datos de la cuenta de destinatario tienen todos los permisos de Lake Formation sobre la tabla. Pueden conceder permisos sobre la tabla a otras entidades principales de su cuenta. No pueden conceder permisos a entidades principales en la cuenta del propietario ni en ninguna otra cuenta.

  • Los administradores del lago de datos de la cuenta del propietario pueden conceder permisos sobre la tabla a otras entidades principales de su cuenta.

Permisos de ubicación de datos

Cuando intente crear una tabla que apunte a una ubicación de Amazon S3, dependiendo de si dispone de permisos de ubicación de datos, es posible que el permiso CREATE_TABLE no sea suficiente para crear una tabla. Es importante tener en cuenta los tres casos siguientes.

Caso práctico de creación de tablas Permisos necesarios
Lake Formation no administra la ubicación especificada (no está registrada). CREATE_TABLE es suficiente.
Lake Formation administra la ubicación especificada (está registrada), y la base de datos que la contiene no tiene propiedad de ubicación o tiene una propiedad de ubicación que no es un prefijo de Amazon S3 de la ubicación de la tabla. Se requiere CREATE_TABLE, además de permisos de localización de datos en la ubicación especificada.
Lake Formation administra la ubicación especificada (está registrada), y la base de datos contenedora tiene una propiedad de ubicación que apunta a una ubicación que está registrada y es un prefijo de Amazon S3 de la ubicación de la tabla. CREATE_TABLE es suficiente.

DATA_LOCATION_ACCESS

Permiso Concedido sobre este recurso El beneficiario también necesita
DATA_LOCATION_ACCESS Ubicación de Amazon S3 (Permisos de Amazon S3 en la ubicación, que deben especificarse en el rol utilizado para registrar la ubicación).

Este es el único permiso de ubicación de datos. Una entidad principal con este permiso puede crear una base de datos o tabla de metadatos que apunte a la ubicación de Amazon S3 especificada. La ubicación debe estar registrada. Una entidad principal que tiene permisos de localización de datos en una localización también tiene permisos de localización en las localizaciones secundarias.

El siguiente ejemplo concede permisos de ubicación de datos en s3://products/retail al usuario datalake_user1 en la cuenta de AWS 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::products/retail"}}'

DATA_LOCATION_ACCESS no es necesario para consultar o actualizar los datos subyacentes. Este permiso se aplica únicamente a la creación de recursos del Catálogo de datos.

Para obtener más información sobre permisos de ubicación de datos, consulte Underlying data access control.

DELETE

Permiso Concedido sobre este recurso El beneficiario también necesita
DELETE TABLE (No se necesitan permisos de IAM adicionales si la ubicación está registrada).

Una entidad principal con este permiso puede eliminar datos subyacentes en la ubicación de Amazon S3 especificada por la tabla. La entidad principal también puede ver la tabla en la consola de Lake Formation y recuperar información sobre la tabla con la API AWS Glue.

El siguiente ejemplo concede el DELETE permiso al usuario datalake_user1 de la tabla de la base de datos de inventory la AWS cuenta retail 1111-2222-3333.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DELETE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Este permiso se aplica solo a los datos de Amazon S3 y no a los de otros almacenes de datos como Amazon Relational Database Service (Amazon RDS).

DESCRIBE

Permiso Concedido sobre este recurso El beneficiario también necesita
DESCRIBE

Enlace de recurso a tabla

Enlace de recurso a base de datos

glue:GetTable

glue:GetDatabase

DESCRIBE DATABASE glue:GetDatabase
DESCRIBE TABLE glue:GetTable
DESCRIBE LF-Tag

glue:GetTable

glue:GetDatabase

lakeformation:GetResourceLFTags

lakeformation:ListLFTags

lakeformation:GetLFTag

lakeformation:SearchTablesByLFTags

lakeformation:SearchDatabasesByLFTags

Una entidad principal con este permiso puede ver la base de datos, tabla o enlace de recursos especificados. No se concede implícitamente ningún otro permiso del Catálogo de datos ni ningún permiso de acceso a los datos. Las bases de datos y las tablas aparecen en los editores de consultas de los servicios integrados, pero no se puede consultar en ellas salvo que se concedan otros permisos de Lake Formation (por ejemplo, SELECT).

Por ejemplo, un usuario que tiene DESCRIBE en una base de datos puede ver la base de datos y todos los metadatos de la base de datos (descripción, ubicación, etc.). Sin embargo, el usuario no puede averiguar qué tablas contiene la base de datos y no puede eliminar, modificar o crear tablas en la base de datos. Del mismo modo, un usuario que tiene DESCRIBE en una tabla puede ver la tabla y los metadatos de la tabla (descripción, esquema, ubicación, etc.), pero no puede soltar, alterar o ejecutar consultas contra la tabla.

A continuación se detallan algunas normas adicionales para DESCRIBE:

  • Si un usuario tiene otros permisos de Lake Formation sobre una base de datos, tabla o enlace de recursos, DESCRIBE se le concede implícitamente.

  • Si un usuario tiene SELECT solo en un subconjunto de columnas de una tabla (SELECT parcial), el usuario estará restringido a ver solo esas columnas.

  • No puede conceder DESCRIBE a un usuario que tiene selección parcial en una tabla. Por el contrario, no puede especificar listas de inclusión o exclusión de columnas para las tablas sobre las que se concede DESCRIBE.

En el siguiente ejemplo, se concede el DESCRIBE permiso al usuario datalake_user1 en el enlace de recursos de la tabla de la base retail de datos de la cuenta inventory-link 1111-2222-3333. AWS

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DESCRIBE" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'

DROP

Permiso Concedido sobre este recurso El beneficiario también necesita
DROP DATABASE glue:DeleteDatabase
DROP TABLE glue:DeleteTable
DROP LF-Tag lakeformation:DeleteLFTag
DROP

Enlace de recurso a base de datos

Enlace de recurso a tabla

glue:DeleteDatabase

glue:DeleteTable

Una entidad principal con este permiso puede borrar una base de datos, tabla o enlace de recurso en el Catálogo de datos. No puede conceder el permiso DROP en una base de datos a una cuenta u organización externa.

aviso

Al eliminar una base de datos se eliminan todas sus tablas.

En el siguiente ejemplo, se concede el DROP permiso al usuario de la base de datos de la cuenta datalake_user1 1111-2222-3333retail. AWS

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Database": {"Name":"retail"}}'

El siguiente ejemplo concede DROP al usuario datalake_user1 sobre la tabla inventory en la base de datos retail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

El siguiente ejemplo concede DROP al usuario datalake_user1 sobre el enlace de recursos de tabla inventory-link en la base de datos retail.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DROP" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory-link"}}'

INSERT

Permiso Concedido sobre este recurso El beneficiario también necesita
INSERT TABLE (No se necesitan permisos de IAM adicionales si la ubicación está registrada).

Una entidad principal con este permiso puede insertar, actualizar y leer datos subyacentes en la ubicación de Amazon S3 especificada por la tabla. La entidad principal también puede ver la tabla en la consola de Lake Formation y recuperar información sobre la tabla con la API AWS Glue.

El siguiente ejemplo concede el INSERT permiso al usuario datalake_user1 de la tabla de la base retail de datos de la cuenta inventory 1111-2222-3333. AWS

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "INSERT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Este permiso se aplica únicamente a los datos de Amazon S3 y no a los datos de otros almacenes de datos, como Amazon RDS.

SELECT

Permiso Concedido sobre este recurso El beneficiario también necesita
SELECT
  • TABLE

(No se necesitan permisos de IAM adicionales si la ubicación está registrada).

Una entidad principal con este permiso puede ver una tabla en el Catálogo de datos y consultar los datos subyacentes en Amazon S3 en la ubicación especificada por la tabla. La entidad principal puede ver la tabla en la consola de Lake Formation y recuperar información sobre la tabla con la API AWS Glue. Si se aplicó el filtrado por columnas cuando se concedió este permiso, la entidad principal puede ver los metadatos solo de las columnas incluidas y consultar los datos solo de las columnas incluidas.

nota

Es responsabilidad del servicio de análisis integrado aplicar el filtrado de columnas al procesar una consulta.

En el siguiente ejemplo, se concede el SELECT permiso al usuario datalake_user1 de la tabla de la base retail de datos de la cuenta inventory 1111-2222-3333. AWS

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "Table": {"DatabaseName":"retail", "Name":"inventory"}}'

Este permiso se aplica únicamente a los datos de Amazon S3 y no a los datos de otros almacenes de datos, como Amazon RDS.

Puede filtrar (restringir el acceso a) columnas específicas con una lista de inclusión opcional o una lista de exclusión. Una lista de inclusión especifica las columnas a las que se puede acceder. Una lista de exclusión especifica las columnas a las que no se puede acceder. En ausencia de una lista de inclusión o exclusión, todas las columnas de la tabla son accesibles.

Los resultados de glue:GetTable devuelven solo las columnas que la persona que llama tiene permiso para ver. Los servicios integrados como Amazon Athena y Amazon Redshift respetan las listas de inclusión y exclusión de columnas.

El ejemplo siguiente concede SELECT al usuario datalake_user1 sobre la tabla inventory utilizando una lista de inclusión.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnNames": ["prodcode","location","period","withdrawals"]}}'

El ejemplo siguiente concede SELECT en la tabla inventory utilizando una lista de exclusión.

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" --resource '{ "TableWithColumns": {"DatabaseName":"retail", "Name":"inventory", "ColumnWildcard": {"ExcludedColumnNames": ["intkey", "prodcode"]}}}'

Se aplican las siguientes restricciones al permiso SELECT:

  • Al conceder SELECT, no puede incluir la opción de concesión si se aplica el filtrado por columnas.

  • No puede restringir el control de acceso en columnas que son claves de partición.

  • A una entidad principal con el permiso SELECT sobre un subconjunto de columnas de una tabla no se le puede conceder el permiso ALTER, DROP, DELETE o INSERT sobre esa tabla. Del mismo modo, a una entidad principal con el permiso ALTER, DROP, DELETE, o INSERT en una tabla no se le puede conceder el permiso SELECT con el filtrado de columnas.

El permiso SELECT siempre aparece en la página Permisos de datos de la consola de Lake Formation como una fila separada. En la imagen siguiente se muestra que SELECT se concede a los usuarios datalake_user2 y datalake_user3 en todas las columnas de la tabla inventory.

La página Permisos de datos muestra dos filas para el usuario datalake_user1 y la tabla inventario. La primera fila contiene los permisos Eliminar e Insertar con el tipo de recurso Tabla, y la segunda fila el permiso Seleccionar con el tipo de recurso Columna, y con el recurso mostrado como retail.inventory.*.

Super

Permiso Concedido sobre este recurso El beneficiario también necesita
Super DATABASE glue:*Database*
Super TABLE glue:*Table*, glue:*Partition*

Este permiso permite a una entidad principal efectuar todas las operaciones compatibles con Lake Formation en la base de datos o en la tabla. No puede conceder Super en una base de datos a una cuenta externa.

Este permiso puede coexistir con los demás permisos de Lake Formation. Por ejemplo, puede conceder los permisos Super, SELECT y INSERT sobre una tabla de metadatos. La entidad principal puede entonces efectuar todas las operaciones admitidas en la tabla. Cuando revoca Super, los permisos SELECT y INSERT permanecen, y la entidad principal solo puede efectuar las operaciones de selección e inserción.

En lugar de conceder Super a una entidad principal individual, puede concederla al grupo IAMAllowedPrincipals. El grupo IAMAllowedPrincipals se crea automáticamente e incluye a todos los usuarios y roles de IAM a los que sus políticas de IAM permiten el acceso a los recursos de su Catálogo de datos. Cuando se concede Super a IAMAllowedPrincipals para un recurso del Catálogo de datos, el acceso al recurso queda efectivamente controlado únicamente por las políticas de IAM.

Puede Super obtener el permiso para que se le conceda automáticamente los nuevos recursos del catálogo si aprovecha las opciones de la página de configuración de la consola de Lake Formation. IAMAllowedPrincipals

El cuadro de diálogo Configuración del Catálogo de datos tiene el subtítulo "Permisos predeterminados para bases de datos y tablas recién creadas" y cuenta con dos casillas de verificación, que se describen en el texto.
  • Para conceder Super a IAMAllowedPrincipals para todas las bases de datos nuevas, seleccione Usar solo control de acceso IAM para bases de datos nuevas.

  • Para conceder Super a IAMAllowedPrincipals para todas las tablas nuevas en bases de datos nuevas, seleccione Usar solo control de acceso IAM para tablas nuevas en bases de datos nuevas.

    nota

    Esta opción hace que se marque de manera predeterminada la casilla Utilizar sólo el control de acceso IAM para las nuevas tablas de esta base de datos en el cuadro de diálogo Crear base de datos. No hace nada más que eso. Es la casilla de verificación del cuadro de diálogo Crear base de datos que permite la concesión de Super a IAMAllowedPrincipals.

Estas opciones de la página Configuración están habilitadas de forma predeterminada. Para más información, consulte los siguientes temas:

ASSOCIATE

Permiso Concedido sobre este recurso El beneficiario también necesita
ASSOCIATE LF-Tag

glue:GetDatabase

glue:GetTable

lakeformation:AddLFTagsToResource"

lakeformation:RemoveLFTagsFromResource"

lakeformation:GetResourceLFTags

lakeformation:ListLFTags

lakeformation:GetLFTag

lakeformation:SearchTablesByLFTags

lakeformation:SearchDatabasesByLFTags

Una entidad principal con este permiso en una etiqueta LF puede asignar esta a un recurso del Catálogo de datos. Al conceder ASSOCIATE está otorgando DESCRIBE de manera implícita.

En este ejemplo se concede al usuario datalake_user1 el permiso ASSOCIATE sobre las etiquetas LF con la clave module. Concede permisos para ver y asignar todos los valores de esa clave, como indica el asterisco (*).

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'