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 especificardefault
.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 especificardefault
.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 formaIAMAllowedPrincipals
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 |
|
DESCRIBE |
DATABASE |
glue:GetDatabase |
DESCRIBE |
TABLE |
glue:GetTable |
DESCRIBE |
LF-Tag |
|
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 concedeDESCRIBE
.
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 |
|
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 |
|
(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 permisoALTER
,DROP
,DELETE
oINSERT
sobre esa tabla. Del mismo modo, a una entidad principal con el permisoALTER
,DROP
,DELETE
, oINSERT
en una tabla no se le puede conceder el permisoSELECT
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
.
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
-
Para conceder
Super
aIAMAllowedPrincipals
para todas las bases de datos nuevas, seleccione Usar solo control de acceso IAM para bases de datos nuevas. -
Para conceder
Super
aIAMAllowedPrincipals
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
aIAMAllowedPrincipals
.
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 |
|
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":["*"]}}'