Gerenciando permissões de tag LF usando o AWS CLI - AWS Lake Formation

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciando permissões de tag LF usando o AWS CLI

Você pode conceder, revogar e listar permissões em tags do LF usando o AWS Command Line Interface (AWS CLI).

Para listar as permissões de tag do LF (AWS CLI)
  • Insira um comando list-permissions. Você deve ser o criador da tag do LF, administrador do data lake ou ter as permissões Drop, Alter, Describe, Associate, Grant with LF-Tag permissions em uma tag do LF para vê-la.

    O comando a seguir solicita todas as tags do LF nas quais você tem permissões.

    aws lakeformation list-permissions --resource-type LF_TAG

    Veja a seguir um exemplo de saída para um administrador de data lake, que vê todas as tags do LF concedidas a todas as entidades principais. Usuários não administrativos veem somente as tags do LF concedidas a eles. As permissões de tags do LF concedidas por uma conta externa aparecem em uma página de resultados separada. Para vê-los, repita o comando e forneça ao argumento --next-token o token retornado da execução anterior do comando.

    {
        "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"
    }
    
    

    Você pode listar todas as concessões para uma chave de tag do LF específica. O comando a seguir retorna todas as permissões concedidas na tag do LF module.

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

    Você também pode listar os valores da tag do LF concedidos a uma entidade principal específica para uma tag do LF específica. Ao fornecer o argumento --principal, você deve fornecer o argumento --resource. Portanto, o comando só pode solicitar efetivamente os valores concedidos a uma entidade principal específica para uma chave tag do LF específica. O comando a seguir mostra como fazer isso com a chave de entidade principal datalake_user1 e a chave de tag do 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":["*"]}}'

    Esta é uma saída de exemplo.

    {
        "PrincipalResourcePermissions": [
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
                },
                "Resource": {
                    "LFTag": {
                        "CatalogId": "111122223333",
                        "TagKey": "module",
                        "TagValues": [
                            "Orders",
                            "Sales"
                        ]
                    }
                },
                "Permissions": [
                    "ASSOCIATE"
                ],
                "PermissionsWithGrantOption": []
            }
        ]
    }
Para conceder permissões em tags do LF (AWS CLI)
  1. Digite um comando semelhante ao seguinte: Este exemplo concede ao usuário datalake_user1 a permissão Associate na tag do LF com a chave module. Ele concede permissões para visualizar e atribuir todos os valores dessa chave, conforme indicado pelo asterisco (*).

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

    Conceder a permissão Associate implicitamente concede a permissão Describe.

    O próximo exemplo concede Associate à AWS conta externa 1234-5678-9012 na etiqueta LF com a chave, com a opção de concessão. module Ele concede permissões para visualizar e atribuir somente os valores sales e 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. Conceder a permissão GrantWithLFTagExpression implicitamente concede a permissão Describe.

    O próximo exemplo concede GrantWithLFTagExpression a um usuário na tag do LF com a chave module, com a opção de concessão. Ele concede permissões para visualizar e conceder permissões nos recursos do catálogo de dados usando somente os valores sales e 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. O próximo exemplo concede permissões Drop a um usuário na tag do LF com a chave module, com a opção de concessão. Ele concede permissões para excluir a tag do LF. Para excluir uma tag do LF, você precisa de permissões em todos os valores dessa chave.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "DROP" --permissions-with-grant-option "DROP" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
  4. O próximo exemplo concede permissões Alter ao usuário na tag do LF com a chave module, com a opção de concessão. Ele concede permissões para excluir a tag do LF. Para atualizar uma tag do LF, você precisa de permissões em todos os valores dessa chave.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
Para revogar permissões em tags do LF (AWS CLI)
  • Digite um comando semelhante ao seguinte: Este exemplo revoga a permissão Associate na tag do LF com a chave module do usuário datalake_user1.

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