Atualizar AWS Glue permissões de dados para o AWS Lake Formation modelo - 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á.

Atualizar AWS Glue permissões de dados para o AWS Lake Formation modelo

AWS Lake Formation as permissões permitem um controle de acesso refinado para dados em seu data lake. Você pode usar o modelo de permissões do Lake Formation para gerenciar seus AWS Glue Data Catalog objetos e locais de dados existentes no Amazon Simple Storage Service (Amazon S3).

O modelo de permissões do Lake Formation usa permissões granulares AWS Identity and Access Management (IAM) para acesso ao serviço. API Ele restringe os dados que seus usuários e esses serviços podem acessar pela funcionalidade do Lake Formation. Em comparação, o AWS Glue O modelo concede acesso aos dados por meio de permissões de controle de acesso refinadas. IAM Para fazer a troca, siga as etapas deste guia.

Para obter mais informações, consulte Visão geral das permissões do Lake Formation .

Sobre as permissões padrão

Para manter a compatibilidade com versões anteriores com AWS Glue, por padrão, AWS Lake Formation concede a Super permissão ao IAMAllowedPrincipals grupo em todos os existentes AWS Glue Recursos do Catálogo de Dados e concede a Super permissão sobre novos recursos do Catálogo de Dados se as configurações Usar somente controle de IAM acesso estiverem ativadas. Isso efetivamente faz com que o acesso aos recursos do catálogo de dados e aos locais do Amazon S3 seja controlado exclusivamente por AWS Identity and Access Management (IAM) políticas. O IAMAllowedPrincipals grupo inclui todos IAM os usuários e funções que têm permissão para acessar seus objetos do Catálogo de Dados de acordo com suas IAM políticas. A permissão Super possibilita que uma entidade principal execute todas as operações suportadas do Lake Formation no banco de dados ou na tabela em que ela foi concedida.

Você pode começar a usar o Lake Formation para gerenciar o acesso aos seus dados registrando os locais dos recursos existentes do catálogo de dados no Lake Formation ou usando o modo de acesso híbrido. Ao registrar a localização do Amazon S3 no modo de acesso híbrido, você pode habilitar as permissões do Lake Formation optando por entidades principais para bancos de dados e tabelas nesse local.

Para facilitar a transição das permissões do data lake de um IAM modelo do Amazon S3 para as permissões do Lake Formation, recomendamos que você use o modo de acesso híbrido para o Data Catalog. Com o modo de acesso híbrido, você tem um caminho incremental em que pode habilitar as permissões do Lake Formation para um conjunto específico de usuários sem interromper outros usuários ou workloads existentes.

Para obter mais informações, consulte Modo de acesso híbrido.

Desative as configurações padrão do catálogo de dados para transferir todos os usuários existentes de uma tabela para o Lake Formation em uma única etapa.

Para começar a usar as permissões do Lake Formation com suas permissões existentes AWS Glue Bancos de dados e tabelas do Catálogo de Dados, você deve fazer o seguinte:

  1. Determine as IAM permissões existentes dos seus usuários para cada banco de dados e tabela.

  2. Replique essas permissões no Lake Formation.

  3. Para cada local do Amazon S3 que contém dados:

    1. Revogue a permissão Super do grupo IAMAllowedPrincipals em cada recurso do catálogo de dados que faça referência a esse local.

    2. Registre o local com o Lake Formation.

  4. Limpe as políticas de controle de acesso refinadas existentes. IAM

Importante

Para adicionar novos usuários durante o processo de transição do seu catálogo de dados, você deve configurar o granular AWS Glue permissões IAM como antes. Você também deve replicar essas permissões no Lake Formation conforme descrito nesta seção. Se os novos usuários tiverem as IAM políticas gerais descritas neste guia, eles poderão listar quaisquer bancos de dados ou tabelas que tenham a Super permissão concedida. IAMAllowedPrincipals Eles também podem visualizar os metadados desses recursos.

Siga as etapas desta seção para atualizar para o modelo de permissões do Lake Formation.

Etapa 1: listar as permissões existentes dos usuários e das funções

Para começar a usar AWS Lake Formation permissões com suas permissões existentes AWS Glue bancos de dados e tabelas, você deve primeiro determinar as permissões existentes dos seus usuários.

Importante

Antes de começar, realize as seguintes tarefas em Introdução ao Lake Formation.

Usando a API operação

Use a ListPoliciesGrantingServiceAccessAPIoperação AWS Identity and Access Management (IAM) para determinar as IAM políticas associadas a cada principal (usuário ou função). A partir das políticas retornadas nos resultados, você pode determinar as IAM permissões concedidas ao diretor. Você deve invocar o API para cada principal separadamente.

O AWS CLI exemplo a seguir retorna as políticas anexadas ao usuárioglue_user1.

aws iam list-policies-granting-service-access --arn arn:aws:iam::111122223333:user/glue_user1 --service-namespaces glue

O comando retorna resultados semelhantes ao seguinte.

{ "PoliciesGrantingServiceAccess": [ { "ServiceNamespace": "glue", "Policies": [ { "PolicyType": "INLINE", "PolicyName": "GlueUserBasic", "EntityName": "glue_user1", "EntityType": "USER" }, { "PolicyType": "MANAGED", "PolicyArn": "arn:aws:iam::aws:policy/AmazonAthenaFullAccess", "PolicyName": "AmazonAthenaFullAccess" } ] } ], "IsTruncated": false }

Usando o AWS Management Console

Você também pode ver essas informações no console AWS Identity and Access Management (IAM), na guia Consultor de Acesso na página Resumo do usuário ou da função:

  1. Abra o IAM console em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, selecione Usuários ou Funções.

  3. Escolha um nome na lista para abrir a página Resumo e escolha a guia Supervisor de Acesso.

  4. Inspecione cada uma das políticas para determinar a combinação de bancos de dados, tabelas e ações para as quais cada usuário tem permissões.

    Lembre-se de inspecionar as funções, além dos usuários, durante esse processo, pois seus trabalhos de processamento de dados podem estar assumindo funções para acessar os dados.

Usando AWS CloudTrail

Outra forma de determinar suas permissões existentes é pesquisar AWS CloudTrail AWS Glue APIchamadas em que o additionaleventdata campo dos registros contém uma insufficientLakeFormationPermissions entrada. Essa entrada lista o banco de dados e a tabela nos quais o usuário precisa das permissões do Lake Formation para realizar a mesma ação.

Esses são logs de acesso a dados, portanto, não é garantido que produzam uma lista abrangente de usuários e suas permissões. Recomendamos escolher um intervalo de tempo amplo para capturar a maioria dos padrões de acesso aos dados de seus usuários, por exemplo, várias semanas ou meses.

Para obter mais informações, consulte Visualização de CloudTrail eventos com histórico de eventos no Guia AWS CloudTrail do usuário.

Em seguida, você pode configurar as permissões do Lake Formation para corresponder ao AWS Glue permissões. Consulte Etapa 2: configurar permissões equivalentes do Lake Formation.

Etapa 2: configurar permissões equivalentes do Lake Formation

Usando as informações coletadas emEtapa 1: listar as permissões existentes dos usuários e das funções, conceda AWS Lake Formation permissões que correspondam ao AWS Glue permissões. Use qualquer um dos métodos a seguir para realizar as concessões:

Para obter mais informações, consulte Visão geral das permissões do Lake Formation .

Depois de configurar as permissões do Lake Formation, siga para a Etapa 3: Conceder aos usuários IAM permissões para usar o Lake Formation.

Etapa 3: Conceder aos usuários IAM permissões para usar o Lake Formation

Para usar o modelo de AWS Lake Formation permissões, os diretores devem ter permissões AWS Identity and Access Management (IAM) no Lake FormationAPIs.

Crie a política a seguir IAM e anexe-a a todos os usuários que precisam acessar seu data lake. Atribua o nome LakeFormationDataAccess à política.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" } ] }

Em seguida, atualize para as permissões do Lake Formation, um local de dados por vez. Consulte Etapa 4: mude seus armazenamentos de dados para o modelo de permissões do Lake Formation.

Etapa 4: mude seus armazenamentos de dados para o modelo de permissões do Lake Formation

Atualize para as permissões do Lake Formation, um local de dados por vez. Para isso, repita essa seção inteira até ter registrado todos os caminhos do Amazon Simple Storage Service (Amazon S3) referenciados pelo catálogo de dados.

Verifique permissões do Lake Formation

Antes de registrar um local, execute uma etapa de verificação para garantir que as entidades principais corretas tenham as permissões necessárias para o Lake Formation e que nenhuma permissão para o Lake Formation seja concedida às entidades principais que não deveriam tê-las. Usando a GetEffectivePermissionsForPath API operação Lake Formation, identifique os recursos do catálogo de dados que fazem referência à localização do Amazon S3, junto com os diretores que têm permissões sobre esses recursos.

O AWS CLI exemplo a seguir retorna os bancos de dados e tabelas do catálogo de dados que fazem referência ao bucket do Amazon S3. products

aws lakeformation get-effective-permissions-for-path --resource-arn arn:aws:s3:::products --profile datalake_admin

Observe a opção profile. Recomendamos que você execute o comando como administrador do data lake.

A seguir está um trecho dos resultados retornados.

{ "PermissionsWithGrantOption": [ "SELECT" ], "Resource": { "TableWithColumns": { "Name": "inventory_product", "ColumnWildcard": {}, "DatabaseName": "inventory" } }, "Permissions": [ "SELECT" ], "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1", "DataLakePrincipalType": "IAM_USER" } },...
Importante

Se suas receitas AWS Glue O Catálogo de Dados é criptografado, GetEffectivePermissionsForPath retorna somente bancos de dados e tabelas que foram criados ou modificados após a disponibilidade geral do Lake Formation.

Proteja os recursos existentes do catálogo de dados

Em seguida, revogue a permissão Super de cada tabela e banco de dados IAMAllowedPrincipals que você identificou para o local.

Atenção

Se você tiver uma automação que cria bancos de dados e tabelas no Catálogo de Dados, as etapas a seguir podem fazer com que a automação e os trabalhos posteriores de extração, transformação e carregamento (ETL) falhem. Prossiga somente depois de modificar seus processos existentes ou conceder permissões explícitas do Lake Formation às entidades principais necessárias. Para obter informações sobre as permissões do Lake Formation, consulte Referência de permissões do Lake Formation.

Para revogar Super de IAMAllowedPrincipals em uma tabela
  1. Abra o AWS Lake Formation console em https://console.aws.amazon.com/lakeformation/. Faça login como administrador de data lake.

  2. No painel de navegação, selecione Tabelas.

  3. Na página Tabelas, selecione o botão de opção ao lado da tabela desejada.

  4. No menu Ações, selecione Revogar.

  5. Na caixa de diálogo Revogar permissões, na lista de IAMusuários e funções, role para baixo até o título Grupo e escolha IAMAllowedPrincipals.

  6. Em Permissões da tabela, verifique se a opção Super está selecionada e escolha Revogar.

Para revogar Super de IAMAllowedPrincipals em um banco de dados
  1. Abra o AWS Lake Formation console em https://console.aws.amazon.com/lakeformation/. Faça login como administrador de data lake.

  2. No painel de navegação, escolha Bancos de dados.

  3. Na página Banco de dados, selecione o botão de opção ao lado do banco de dados desejado.

  4. No menu Ações, escolha Editar.

  5. Na página Editar banco de dados, desmarque Usar somente controle de IAM acesso para novas tabelas nesse banco de dados e escolha Salvar.

  6. De volta à página Banco de dados, verifique se o banco de dados ainda está selecionado e, no menu Ações, escolha Revogar.

  7. Na caixa de diálogo Revogar permissões, na lista de IAMusuários e funções, role para baixo até o título Grupo e escolha IAMAllowedPrincipals.

  8. Em Permissões de banco de dados, verifique se a opção Super está selecionada e escolha Revogar.

Ative as permissões do Lake Formation para sua localização no Amazon S3

Em seguida, registre o local do Amazon S3 com o Lake Formation. Para isso, você pode usar o processo descrito em Adicionar uma localização do Amazon S3 ao seu data lake. Ou use a RegisterResource API operação conforme descrito emAPIs de fornecimento de credenciais.

nota

Se o local pai estiver registrado, você não precisa registrar locais filho.

Depois de concluir essas etapas e testar se seus usuários podem acessar seus dados, você atualizou com sucesso para as permissões do Lake Formation. Continue na próxima etapa, Etapa 5: proteja os novos recursos do catálogo de dados.

Etapa 5: proteja os novos recursos do catálogo de dados

Em seguida, assegure todos os novos recursos do catálogo de dados alterando as configurações padrão do catálogo de dados. Desative as opções para usar somente o controle de acesso AWS Identity and Access Management (IAM) para novos bancos de dados e tabelas.

Atenção

Se você tiver uma automação que cria bancos de dados e tabelas no Catálogo de Dados, as etapas a seguir podem fazer com que a automação e os trabalhos posteriores de extração, transformação e carregamento (ETL) falhem. Prossiga somente depois de modificar seus processos existentes ou conceder permissões explícitas do Lake Formation às entidades principais necessárias. Para obter informações sobre as permissões do Lake Formation, consulte Referência de permissões do Lake Formation.

Para alterar as configurações padrão do catálogo de dados
  1. Abra o AWS Lake Formation console em https://console.aws.amazon.com/lakeformation/. Faça login como usuário IAM administrativo (o usuário Administrator ou outro usuário com a política AdministratorAccess AWS gerenciada).

  2. No painel de navegação, selecione Configurações.

  3. Na página Configurações do catálogo de dados, desmarque as duas caixas de seleção e escolha Salvar.

A próxima etapa é conceder aos usuários acesso a bancos de dados ou tabelas adicionais no futuro. Consulte Etapa 6: fornecer aos usuários uma nova IAM política para o acesso futuro ao data lake.

Etapa 6: fornecer aos usuários uma nova IAM política para o acesso futuro ao data lake

Para conceder aos usuários acesso a bancos de dados ou tabelas adicionais do Catálogo de Dados no futuro, você deve fornecer a eles a política embutida () de baixa granularidade AWS Identity and Access Management (IAM) que segue. Atribua o nome GlueFullReadAccess à política.

Importante

Se você anexar essa política a um usuário antes da revogação de Super de IAMAllowedPrincipals em cada banco de dados e tabela em seu catálogo de dados, esse usuário poderá visualizar todos os metadados de qualquer recurso ao qual Super tenha sido concedido a IAMAllowedPrincipals.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GlueFullReadAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions" ], "Resource": "*" } ] }
nota

As políticas em linha designadas nesta etapa e nas etapas anteriores contêm IAM permissões mínimas. Para políticas sugeridas para administradores de data lake, analistas de dados e outras pessoas, consulte Referência de personas e IAM permissões do Lake Formation.

Em seguida, prossiga para a Etapa 7: Limpar IAM as políticas existentes.

Etapa 7: Limpar IAM as políticas existentes

Depois de configurar as AWS Lake Formation permissões e criar e anexar as políticas gerais de controle de acesso AWS Identity and Access Management (IAM), conclua a seguinte etapa final:

Ao fazer isso, você garante que essas entidades principais não tenham mais acesso direto aos dados no Amazon Simple Storage Service (Amazon S3). Em seguida, você pode gerenciar o acesso dessas entidades principais ao data lake inteiramente por meio do Lake Formation.