Conceder permisos de lago de datos mediante el método LF-TBAC - AWS Lake Formation

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

Puede conceder los permisos DESCRIBE y ASSOCIATE de Lake Formation sobre las etiquetas LF a las entidades principales para que puedan ver las etiquetas LF y asignarlas a los recursos del catálogo de datos (bases de datos, tablas, vistas y columnas). Cuando se asignan etiquetas LF a los recursos del Catálogo de datos, puede utilizar el método de control de acceso basado en etiquetas de Lake Formation (LF-TBAC) para proteger dichos recursos. Para obtener más información, consulte Control de acceso basado en etiquetas de Lake Formation.

Al principio, solo el administrador del lago de datos puede conceder estos permisos. Si el administrador del lago de datos concede estos permisos con la opción de concesión, otras entidades principales podrán otorgarlos. Los permisos DESCRIBE y ASSOCIATE se explican en Prácticas recomendadas y consideraciones sobre el control de acceso basado en etiquetas de Lake Formation.

Puede conceder los permisos DESCRIBE y ASSOCIATE de una etiqueta LF a una cuenta externa AWS. Un administrador del lago de datos de esa cuenta puede entonces conceder esos permisos a otras entidades principales de la cuenta. Las entidades principales a las que el administrador del lago de datos de la cuenta externa conceda el permiso ASSOCIATE podrán entonces asignar etiquetas LF a los recursos del Catálogo de datos que haya compartido con su cuenta.

Al hacer concesiones a una cuenta externa, debe incluir la opción de concesión.

Puede conceder permisos sobre etiquetas LF utilizando la consola de AWS Lake Formation, la API o la AWS Command Line Interface (AWS CLI).

Concesión de permisos del catálogo de datos

Utilice la consola de Lake Formation o la AWS CLI para conceder permisos de Lake Formation en bases de datos, tablas y columnas del catálogo de datos con el método de control de acceso basado en etiquetas de Lake Formation (LF-TBAC).

Console

Los siguientes pasos explican cómo conceder permisos utilizando el método de control de acceso basado en etiquetas de Lake Formation (LF-TBAC) y la página Conceder permisos de lago de datos en la consola de Lake Formation. La página está dividida en las secciones siguientes:

  • Entidades principales. Los usuarios, roles y las Cuentas de AWS a las que conceder permisos.

  • Etiquetas LF o recursos del catálogo. Bases de datos, tablas o enlaces a recursos sobre los que se conceden los permisos.

  • Permisos. Los permisos de Lake Formation que se conceden.

  1. Abra la página Conceder permisos de lagos de datos.

    Abra la consola de AWS Lake Formation en https://console.aws.amazon.com/lakeformation/, e inicie sesión como administrador del lago de datos o como usuario al que se le han concedido permisos de Lake Formation sobre los recursos del Catálogo de datos mediante LF-TBAC con la opción de concesión.

    En el panel de navegación, en Permisos, seleccione Permisos de lago de datos. A continuación, seleccione Conceder.

  2. Especifique las entidades principales.

    En la sección Entidades principales, elija uno de los tipos y, a continuación, especifique las que van a recibir los permisos concedidos.

    La sección Entidades principales contiene cuatro iconos con nombre en el texto siguiente. Cada mosaico contiene un botón de opción y un texto. Al seleccionar el icono de IAM Identity Center, debajo de los mosaicos aparece una lista desplegable de usuarios y grupos.
    Usuarios y roles de IAM

    Elija uno o varios usuarios o roles en la lista de usuarios y roles de IAM.

    IAM Identity Center

    Elija uno o varios usuarios o en la lista de Usuarios y grupos.

    Usuarios y grupos de SAML

    Para los usuarios y grupos de SAML y Amazon QuickSight, introduzca uno o varios nombres de recursos de Amazon (ARN) para los usuarios o grupos federados a través de SAML, o ARN para los usuarios o grupos de Amazon QuickSight. Pulse Intro después de cada ARN.

    Para obtener información sobre cómo crear ARN, consulte Comandos AWS CLI para concesión y revocación en Lake Formation.

    nota

    La integración de Lake Formation con Amazon QuickSight solo es compatible con Amazon QuickSight Enterprise Edition.

    Cuentas externas

    Para Cuentas de AWS, organización de AWS o entidad principal de IAM, introduzca uno o varios ID de Cuenta de AWS, ID de organización, ID de unidad organizativa o ARN válidos para el usuario o rol de IAM. Pulse Intro después de cada ID.

    El ID de una organización está formado por una "o-" seguida de 10 a 32 letras minúsculas o dígitos.

    Un ID de una unidad organizativa comienza por «ou-» seguidos de 4 a 32 letras minúsculas o dígitos (el ID de la raíz que contiene la UO). Esta cadena va seguida de un segundo guion «-» y de 8 a 32 letras minúsculas o dígitos adicionales.

  3. Especifique las etiquetas LF.

    Asegúrese de elegir la opción Recursos que coinciden con las etiquetas LF. Seleccione Añadir etiqueta LF.

    1. Elija una clave y valores de etiquetas LF.

      Si elige más de un valor, está creando una expresión de etiqueta LF con un operador OR. Esto significa que si alguno de los valores de las etiquetas LF coincide con una etiqueta LF asignada a un recurso del Catálogo de datos, se le conceden permisos sobre el recurso.

      La sección de etiquetas LF o recursos del catálogo contiene dos mosaicos dispuestos en horizontal, cada uno de ellos con un botón de opción y un texto descriptivo. Es posible elegir entre recursos que coinciden con etiquetas LF (recomendado) y recursos con nombre del Catálogo de datos. Aparecen seleccionados los recursos que coinciden con las etiquetas LF. Bajo los mosaicos hay un campo Clave y un campo Valores dispuestos en horizontal. El campo Clave contiene "módulo" y el campo Valores es una lista desplegable que contiene tres entradas: Pedidos, Ventas y Clientes. Cada entrada tiene una casilla de verificación. La casilla Clientes está seleccionada. A la derecha de estos dos campos hay un botón Eliminar. En la parte inferior hay un botón Añadir etiquetas LF, que indica que puede añadir otra fila que contenga los campos Clave y Valores, y un botón Eliminar.
    2. (Opcional) Seleccione Añadir etiqueta LF de nuevo para especificar otra etiqueta LF.

      Si elige más de un valor, está creando una expresión de etiqueta LF con un operador AND. A la entidad principal se le conceden permisos sobre un recurso del Catálogo de datos solo si al recurso se le asignó una etiqueta LF coincidente para cada etiqueta LF en la expresión de la etiqueta LF.

  4. Especifique los permisos.

    Especifique los permisos que se conceden a la entidad principal sobre los recursos coincidentes del catálogo de datos. Los recursos coincidentes son aquellos a los que se asignaron etiquetas LF que coinciden con una de las expresiones de etiquetas LF concedidas a la entidad principal.

    Puede especificar los permisos que se van a conceder sobre las bases de datos coincidentes, las tablas coincidentes y las vistas coincidentes.

    Se muestran dos secciones de la página. La sección Permisos de la base de datos contiene casillas de verificación para los permisos de la base de datos y los permisos concedibles. Debajo de la sección Base de datos, la sección Permisos de tabla muestra las casillas de verificación para los permisos de tabla y los permisos concedibles.

    En Permisos de base de datos, seleccione los permisos de base de datos que se concederán a la entidad principal en las bases de datos coincidentes.

    En Permisos de tabla, seleccione los que se concederán a la entidad principal en las tablas y vistas coincidentes.

    También puede elegir Select,Describe y permisos de Drop en Permisos de tabla y aplicarlos a las vistas.

  5. Elija Conceder.

AWS CLI

Puede utilizar la AWS Command Line Interface (AWS CLI) y el método de control de acceso basado en etiquetas de Lake Formation (LF-TBAC) para conceder permisos de Lake Formation en bases de datos, tablas y columnas del Catálogo de datos.

Conceder permisos de lago de datos mediante AWS CLI y el método LF-TBAC
  • Utilice el comando grant-permissions.

    El siguiente ejemplo concede al usuario datalake_user1 la expresión de etiquetas LF "module=*" (todos los valores de la clave de etiquetas LF module). Ese usuario tendrá el permiso CREATE_TABLE sobre todas las bases de datos coincidentes —bases de datos a las que se hayan asignado las etiquetas LF con la clave module, con cualquier valor.

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

    El siguiente ejemplo otorga la expresión “(level=director) AND (region=west OR region=south)“ de etiqueta LF al usuario datalake_user1. Ese usuario tendrá los permisos SELECT, ALTER, y DROP con la opción de concesión en las tablas que coincidan (tablas a las que se les haya asignado tanto level=director como (region=west o region=south).

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" "DROP" --permissions-with-grant-option "SELECT" "ALTER" "DROP" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"TABLE","Expression": [{"TagKey": "level","TagValues": ["director"]},{"TagKey": "region","TagValues": ["west", "south"]}]}}'

    En el siguiente ejemplo se concede la expresión de etiquetas LF "module=orders" a la cuenta AWS 1234-5678-9012. El administrador del lago de datos de esa cuenta puede entonces conceder la expresión "module=orders" a las entidades principales de su cuenta. Esas entidades principales tendrán entonces permiso CREATE_TABLE para hacer coincidir las bases de datos propiedad de la cuenta 1111-2222-3333 y compartidas con la cuenta 1234-5678-9012 utilizando el método de recursos con nombre o el método LF-TBAC.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["orders"]}]}}'