View a markdown version of this page

Control de acceso basado en etiquetas 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.

Control de acceso basado en etiquetas de Lake Formation

El control de acceso basado en etiquetas (LF-TBAC) de Lake Formation es una estrategia de autorización que define los permisos en función de los atributos. En Lake Formation, estos atributos se denominan LF-Tags. Puede adjuntarlos LF-Tags a los recursos del catálogo de datos y conceder permisos a los directores de Lake Formation sobre esos recursos utilizando estos LF-Tags recursos. Lake Formation permite realizar operaciones en esos recursos cuando se ha concedido acceso a la entidad principal a un valor de etiqueta que coincide con el valor de la etiqueta del recurso.

LF-TBAC es útil en entornos que crecen rápidamente y ayuda en situaciones en las que la gestión de políticas se vuelve engorrosa.

LF-TBAC es el método recomendado para conceder permisos a Lake Formation cuando hay una gran cantidad de objetos del catálogo de datos, incluidos catálogos federados, bases de datos, tablas y vistas. Lake Formation admite el control de acceso basado en etiquetas para catálogos federados de tablas, almacenes de datos y fuentes de Amazon Redshift datos federadas de Amazon S3 Amazon DynamoDB, como SQL Server y Snowflake.

nota

Las etiquetas de IAM no son lo mismo que. LF-Tags Estas etiquetas no son intercambiables. LF-Tagsse utilizan para conceder permisos a Lake Formation y las etiquetas de IAM se utilizan para definir las políticas de IAM.

Cómo funciona el control de acceso basado en etiquetas de Lake Formation

Cada uno LF-Tag es un par clave-valor, como o. department=sales classification=restricted Una clave puede tener varios valores definidos, como department=sales,marketing,engineering,finance.

Para usar el LF-TBAC método, los administradores de lagos de datos y los ingenieros de datos realizan las siguientes tareas.

Tarea Detalles de la tarea

1. Defina las propiedades y relaciones de LF-Tags.

-

2. Crea a los LF-Tag creadores en Lake Formation.

Añadir creadores LF-Tag

3. Crea el LF-Tag in Lake Formation.

Creando LF-Tags

4. Asigne LF-Tags a los recursos del catálogo de datos.

Asignación LF-Tags a recursos del catálogo de datos

5. Otorgue permisos a otros directores para que los asignen LF-Tags a los recursos, de forma opcional con la opción de conceder.

Administrar los permisos de LF-Tag valor

6. Otorgue LF-Tag expresiones a los directores, de forma opcional con la opción de concesión.

Otorgar permisos de lago de datos mediante el método LF-TBAC

7. (Recomendado) Tras comprobar que los directores tienen acceso a los recursos correctos mediante el LF-TBAC método, revoque los permisos concedidos mediante el método de recurso indicado.

-

Imagine un caso en el que debe conceder permisos a tres entidades principales sobre tres bases de datos y siete tablas.

En la parte izquierda aparecen tres figuras de usuarios dispuestas en vertical. A la derecha hay tres bases de datos etiquetadas como A, B y C, en vertical. La base de datos A tiene dos tablas etiquetadas A.1 y A.2, la base de datos B tiene etiquetas de tablas B.1 y B.2, y la base de datos C tiene tres tablas etiquetadas C.1, C.2 y. C.3 Hay diecisiete flechas que conectan a los usuarios con las bases de datos y las tablas, y que reflejan las concesiones sobre las bases de datos y las tablas a esos usuarios.

Para conseguir los permisos indicados en el diagrama anterior utilizando el método de recursos con nombre, tendría que efectuar 17 concesiones, como se indica a continuación (en pseudocódigo).

GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1 ... GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2 GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2 ... GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3

Ahora considere cómo otorgaría los permisos mediante LF-TBAC. En el siguiente diagrama se indica que ha asignado LF-Tags a bases de datos y tablas, y que ha concedido permisos LF-Tags a entidades principales.

En este ejemplo, LF-Tags representan áreas del lago de datos que contienen análisis para diferentes módulos de un conjunto de aplicaciones de planificación de recursos empresariales (ERP). Se pueden utilizar para controlar el acceso a los datos analíticos de los distintos módulos. Todos LF-Tags tienen los valores clave module y posibles SalesOrders, yCustomers. Un ejemplo LF-Tag sería el siguiente:

module=Sales

El diagrama muestra solo los LF-Tag valores.

Al igual que en el diagrama anterior, hay tres figuras de usuarios a la izquierda, en vertical y, a la derecha, tres bases de datos A, B y C, en vertical. La base de datos A tiene dos tablas denominadas A.1 y A.2, la base de datos B tiene etiquetas de tablas B.1 y B.2, y la base de datos C tiene tres tablas denominadas C.1 C.2, y C.3. No hay flechas entre los usuarios y las bases de datos y tablas. En su lugar, si aparecen marcas junto a los usuarios, se indica que al usuario 1 se le han concedido las LF-Tags ventas y los clientes, al usuario 2 se le han concedido los LF-Tag pedidos y al usuario 3 se le han concedido los LF-Tag clientes. Las banderas situadas junto a las bases de datos y las tablas indican las siguientes asignaciones LF-Tags a las bases de datos y tablas: Base de datos A: Ventas. Tabla A1: Una etiqueta atenuada indica que Ventas se heredó de la base de datos A. Tabla A2: Pedidos, pero una etiqueta atenuada indica que Ventas se heredó de la base de datos A. Base de datos B: Pedidos. Tabla B.1 y B.2 hereda los pedidos, y la tabla B.2 tiene clientes. La base de datos C tiene clientes y tablas C.1 C.2, y C.3 hereda los clientes. Las tablas C no tienen ninguna otra asignación.
Asignación de etiquetas a los recursos del Catálogo de datos y herencia

Las tablas se heredan de las bases LF-Tags de datos y las columnas se heredan LF-Tags de las tablas. Los valores heredados pueden anularse. En el diagrama anterior, las atenuadas LF-Tags se heredan.

Debido a la herencia, el administrador del lago de datos solo necesita realizar las cinco LF-Tag asignaciones siguientes a los recursos (en pseudocódigo).

ASSIGN TAGS module=Sales TO database A ASSIGN TAGS module=Orders TO table A.2 ASSIGN TAGS module=Orders TO database B ASSIGN TAGS module=Customers TO table B.2 ASSIGN TAGS module=Customers TO database C
Etiquetar las concesiones a las entidades principales

Tras realizar la asignación LF-Tags a las bases de datos y las tablas, el administrador del lago de datos solo debe conceder cuatro veces a los directores, tal y como se indica LF-Tags a continuación (en pseudocódigo).

GRANT TAGS module=Sales TO Principal 1 GRANT TAGS module=Customers TO Principal 1 GRANT TAGS module=Orders TO Principal 2 GRANT TAGS module=Customers TO Principal 3

Ahora, un director con la module=Sales LF-Tag puede acceder a los recursos del catálogo de datos con la module=Sales LF-Tag (por ejemplo, la base de datos A), un director con la module=Customers LF-Tag puede acceder a los recursos con la module=Customers LF-Tag, etc.

Los comandos de concesión anteriores están incompletos. Esto se debe a que, si bien indican a través LF-Tags de los recursos del catálogo de datos que los directores tienen permisos, no indican exactamente qué permisos de Lake Formation (por ejemploSELECT,ALTER) tienen los directores sobre esos recursos. Por lo tanto, los siguientes comandos de pseudocódigo son una representación más precisa de cómo se otorgan los permisos de Lake Formation a los recursos del catálogo de datos. LF-Tags

GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Sales TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Orders TO Principal 2 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 3
Recopilación. Permisos resultantes sobre los recursos

Teniendo en cuenta los permisos LF-Tags asignados a las bases de datos y tablas del diagrama anterior y los LF-Tags otorgados a los principales del diagrama, la siguiente tabla muestra los permisos de Lake Formation que tienen los principales en las bases de datos y tablas.

Principal Permisos otorgados mediante LF-Tags
Entidad principal 1
  • CREATE_TABLE sobre la base de datos A

  • SELECT, INSERT sobre la mesa A.1

  • SELECT, INSERT sobre la mesa B.2

  • CREATE_TABLE sobre la base de datos C

  • SELECT, INSERT sobre la mesa C.1

  • SELECT, INSERT sobre la mesa C.2

  • SELECT, INSERT sobre la mesa C.3

Entidad principal 2
  • SELECT, INSERT sobre la mesa A.2

  • CREATE_TABLE sobre la base de datos B

  • SELECT, INSERT sobre la mesa B.1

Entidad principal 3
  • SELECT, INSERT sobre la mesa B.2

  • CREATE_TABLE sobre la base de datos C

  • SELECT, INSERT sobre la mesa C.1

  • SELECT, INSERT sobre la mesa C.2

  • SELECT, INSERT sobre la mesa C.3

Conclusión

En este sencillo ejemplo, el administrador del lago de datos ha podido especificar 17 permisos mediante cinco operaciones de asignación y ocho de concesión. Cuando hay decenas de bases de datos y cientos de tablas, queda clara la ventaja del LF-TBAC método sobre el método de recurso nombrado. En el caso hipotético de la necesidad de conceder a cada entidad principal acceso a cada recurso, y donde n(P) es el número de entidades principales y n(R) es el número de recursos:

  • Con el método de recurso con nombre, la cantidad de concesiones requeridas es n(P)n(R).

  • Con el LF-TBAC método, que utiliza una sola LF-Tag, el número total de subvenciones a directores y asignaciones a recursos es n(P) +n(R).