Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation - 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á.

Gerenciamento de permissões entre contas usando o AWS Glue e o Lake Formation

É possível conceder acesso entre contas a recursos do catálogo de dados e dados subjacentes usando o AWS Glue ou o AWS Lake Formation.

EmAWS Glue, você concede permissões entre contas criando ou atualizando uma política de recursos do Catálogo de Dados. No Lake Formation, você concede permissões entre contas usando o modelo de permissões GRANT/REVOKE do Lake Formation e a operação da API Grant Permissions.

dica

Recomendamos que você confie somente nas permissões do Lake Formation para proteger seu data lake.

Você pode ver os subsídios entre contas do Lake Formation usando o console do Lake Formation ou o console AWS Resource Access Manager (AWS RAM). No entanto, essas páginas do console não mostram permissões entre contas concedidas pela política de recursos do catálogo de dados do AWS Glue. Da mesma forma, você pode visualizar as concessões entre contas na política de recursos do catálogo de dados usando a página Configurações do console AWS Glue, mas essa página não mostra as permissões entre contas concedidas usando o Lake Formation.

Para garantir que você não perca nenhuma concessão ao visualizar e gerenciar permissões entre contas, o Lake Formation e AWS Glue exigem que você execute as seguintes ações para indicar que está ciente e permite concessões entre contas pelo Lake Formation e AWS Glue.

Ao conceder permissões entre contas usando a política de recursos do catálogo de dados AWS Glue

Se sua conta (conta do concedente ou conta do produtor) não tiver concedido doações entre contas que sejam usadas AWS RAM para compartilhar os recursos, você poderá salvar uma política de recursos do Catálogo de Dados normalmente em. AWS Glue No entanto, se concessões que envolvem compartilhamentos de AWS RAM recursos já tiverem sido feitas, você deverá fazer o seguinte para garantir que o salvamento da política de recursos seja bem-sucedido:

  • Quando você salva a política de recursos na página Configurações do console do AWS Glue, o console emite um alerta informando que as permissões na política serão adicionais às permissões concedidas usando o console do Lake Formation. Você deve escolher Continuar para salvar a política.

  • Ao salvar a política de recursos usando a operação da API glue:PutResourcePolicy, você deve definir o campo EnableHybrid como 'TRUE' (type = string). O exemplo de código a seguir mostra como fazer isso em Python.

    import boto3 import json REGION = 'us-east-2' PRODUCER_ACCOUNT_ID = '123456789012' CONSUMER_ACCOUNT_IDs = ['111122223333'] glue = glue_client = boto3.client('glue') policy = { "Version": "2012-10-17", "Statement": [ { "Sid": "Cataloguers", "Effect": "Allow", "Action": [ "glue:*" ], "Principal": { "AWS": CONSUMER_ACCOUNT_IDs }, "Resource": [ f"arn:aws:glue:{REGION}:{PRODUCER_ACCOUNT_ID}:catalog", f"arn:aws:glue:{REGION}:{PRODUCER_ACCOUNT_ID}:database/*", f"arn:aws:glue:{REGION}:{PRODUCER_ACCOUNT_ID}:table/*/*" ] } ] } policy = json.dumps(policy) glue.put_resource_policy(PolicyInJson=policy, EnableHybrid='TRUE')

    Para obter mais informações, consulte PutResourcePolicy Action (Python: put_resource_policy) no Guia do desenvolvedor.AWS Glue

Ao conceder permissões entre contas usando o método de recursos nomeados do Lake Formation

Se não houver uma política de recursos do Catálogo de Dados em sua conta (conta de produtor), as concessões entre contas do Lake Formation que você concede prosseguem normalmente. No entanto, se existir uma política de recursos do catálogo de dados, você deverá adicionar a seguinte declaração a ela para permitir que suas concessões entre contas sejam bem-sucedidas se forem feitas com o método de recurso nomeado. <region>Substitua por um nome de região válido e pelo <account-id>ID AWS da sua conta (ID da conta do produtor).

{ "Effect": "Allow", "Action": [ "glue:ShareResource" ], "Principal": {"Service": [ "ram.amazonaws.com" ]}, "Resource": [ "arn:aws:glue:<region>:<account-id>:table/*/*", "arn:aws:glue:<region>:<account-id>:database/*", "arn:aws:glue:<region>:<account-id>:catalog" ] }

Sem essa declaração adicional, o subsídio do Lake Formation é bem-sucedido, mas fica bloqueado AWS RAM e a conta do destinatário não pode acessar o recurso concedido.

Importante

Ao usar o método de controle de acesso baseado em tags do Lake Formation (LF-TBAC) para fazer concessões entre contas, você deve ter uma política de recursos do catálogo de dados com pelo menos as permissões especificadas em Pré-requisitos.

Consulte também: