Administrar los permisos de etiqueta LF mediante el AWS CLI - 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.

Administrar los permisos de etiqueta LF mediante el AWS CLI

Para conceder, revocar y publicar permisos sobre las etiquetas LF, utilice la tecla (). AWS Command Line Interface AWS CLI

Para enumerar los permisos de las etiquetas LF (AWS CLI)
  • Introduzca un comando list-permissions. Debe ser el creador de etiquetas LF, un administrador de lagos de datos o tener el permiso Drop, Alter, Describe, Associate o Grant with LF-Tag permissions sobre una etiqueta LF para verla.

    El siguiente comando solicita todas las etiquetas LF sobre las que tiene permisos.

    aws lakeformation list-permissions --resource-type LF_TAG

    A continuación se muestra un ejemplo de salida para un administrador de un lago de datos, que ve todas las etiquetas LF concedidas a todas las entidades principales. Los usuarios no administrativos solo ven las etiquetas LF que les han sido concedidas. Los permisos de etiquetas LF concedidos desde una cuenta externa aparecen en una página de resultados independiente. Para verlos, repita el comando y suministre el --next-token argumento con el token devuelto por la ejecución del comando anterior.

    {
        "PrincipalResourcePermissions": [
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_admin"
                },
                "Resource": {
                    "LFTag": {
                        "CatalogId": "111122223333",
                        "TagKey": "environment",
                        "TagValues": [
                            "*"
                        ]
                    }
                },
                "Permissions": [
                    "ASSOCIATE"
                ],
                "PermissionsWithGrantOption": [
                    "ASSOCIATE"
                ]
            },
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
                },
                "Resource": {
                    "LFTag": {
                        "CatalogId": "111122223333",
                        "TagKey": "module",
                        "TagValues": [
                            "Orders",
                            "Sales"
                        ]
                    }
                },
                "Permissions": [
                    "DESCRIBE"
                ],
                "PermissionsWithGrantOption": []
            },
    ...
        ],
        "NextToken": "eyJzaG91bGRRdWVy...Wlzc2lvbnMiOnRydWV9"
    }
    
    

    Puede enumerar todas las concesiones para una clave de etiqueta LF específica. El siguiente comando devuelve todos los permisos concedidos en la etiqueta LF module.

    aws lakeformation list-permissions --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'

    También puede listar los valores de etiquetas LF concedidos a una entidad principal específica para una etiqueta LF concreta. Al proporcionar el argumento --principal, debe indicar el argumento --resource. Por lo tanto, el comando solo puede solicitar de forma efectiva los valores concedidos a una entidad principal específica para una clave de etiquetas LF concreta. El siguiente comando muestra cómo hacerlo para la entidad principal datalake_user1 y la clave de etiquetas LF module.

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

    A continuación, se muestra un ejemplo del resultado.

    {
        "PrincipalResourcePermissions": [
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
                },
                "Resource": {
                    "LFTag": {
                        "CatalogId": "111122223333",
                        "TagKey": "module",
                        "TagValues": [
                            "Orders",
                            "Sales"
                        ]
                    }
                },
                "Permissions": [
                    "ASSOCIATE"
                ],
                "PermissionsWithGrantOption": []
            }
        ]
    }
Para conceder permisos a las etiquetas LF ()AWS CLI
  1. Introduzca un comando similar al siguiente. 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":["*"]}}'

    Al conceder el permiso Associate, se otorga el permiso Describe de forma implícita.

    En el siguiente ejemplo, se conceden Associate a la AWS cuenta externa 1234-5678-9012 de la etiqueta LF con la clave, con la opción de concesión. module Otorga permisos para ver y asignar solo los valores sales y orders.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "ASSOCIATE" --permissions-with-grant-option "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
  2. Al conceder el permiso GrantWithLFTagExpression, se otorga el permiso Describe de forma implícita.

    El siguiente ejemplo concede GrantWithLFTagExpression a un usuario en las etiquetas LF con la clave module, con la opción de concesión. Concede permisos para ver y conceder permisos sobre los recursos del Catálogo de datos utilizando solo los valores sales y orders.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "GrantWithLFTagExpression" --permissions-with-grant-option "GrantWithLFTagExpression" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
  3. El siguiente ejemplo concede permisos Drop a un usuario en las etiquetas LF con la clave module, con la opción de concesión. Concede permisos para eliminar las etiquetas LF. Para borrar una etiqueta LF, necesita permisos sobre todos los valores de esa clave.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "DROP" --permissions-with-grant-option "DROP" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
  4. El siguiente ejemplo concede permisos Alter al usuario sobre las etiquetas LF con la clave module, con la opción de concesión. Concede permisos para eliminar las etiquetas LF. Para actualizar una etiqueta LF, necesita permisos sobre todos los valores de esa clave.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
Para revocar permisos sobre las etiquetas LF (AWS CLI)
  • Introduzca un comando similar al siguiente. En este ejemplo se revoca el permiso Associate sobre las etiquetas LF con la clave module al usuario datalake_user1.

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