Gerenciando permissões entre contas usando ambos AWS Glue e 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á.

Gerenciando permissões entre contas usando ambos AWS Glue e Lake Formation

É possível conceder acesso entre contas aos recursos do Catálogo de Dados e aos dados subjacentes usando um AWS Glue ou AWS Lake Formation.

Em AWS 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 GRANT/REVOKE permissões do Lake Formation e a Grant Permissions API operação.

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 pelo AWS Glue Política de recursos do Catálogo de Dados. 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 AWS Glue console, 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, Lake Formation e AWS Glue exigem que você execute as seguintes ações para indicar que está ciente e está permitindo doações entre contas tanto da Lake Formation quanto AWS Glue.

Ao conceder permissões entre contas usando o AWS Glue Política de recursos do Catálogo de Dados

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, como de costume, 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 AWS Glue console, 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 glue:PutResourcePolicy API operação, você deve definir o EnableHybrid campo 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. Substituir <region> com um nome de região válido e <account-id> com o 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 (LF-TBAC) do Lake Formation 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: