Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usar o AWS Glue com AWS Lake Formation para controle de acesso refinado

Modo de foco
Usar o AWS Glue com AWS Lake Formation para controle de acesso refinado - AWS Glue

Visão geral

Com o AWS Glue versão 5.0 e superior, você pode usar o AWS Lake Formation para aplicar controles de acesso refinados em tabelas do Catálogo de Dados com suporte do S3. Esse recurso permite configurar controles de acesso em nível de tabela, linha, coluna e célula para consultas read nos trabalhos do AWS Glue para Apache Spark. Consulte as seções a seguir para saber mais sobre o Lake Formation e como usá-lo com o AWS Glue.

Utilizar o AWS Glue com o AWS Lake Formation gera cobranças adicionais.

Como o AWS Glue funciona com o AWS Lake Formation

Usar o AWS Glue com o Lake Formation permite impor uma camada de permissões em cada trabalho do Spark para aplicar o controle de permissões do Lake Formation quando o AWS Glue executa trabalhos. O AWS Glue usa perfis de recursos do Spark para criar dois perfis para executar trabalhos de forma efetiva. O perfil do usuário executa o código fornecido pelo usuário, enquanto o perfil do sistema impõe as políticas do Lake Formation. Para obter mais informações, consulte What is AWS Lake Formation e Considerations and limitations.

Cada trabalho habilitado para o Lake Formation utiliza dois drivers do Spark, um para o perfil do usuário e outro para o perfil do sistema.

Veja a seguir uma visão geral de alto nível sobre como o AWS Glue obtém acesso aos dados protegidos pelas políticas de segurança do Lake Formation.

O diagrama mostra como o controle de acesso refinado funciona com a API StartJoBrun do AWS Glue.
  1. Um usuário chama a API StartJobRun em uma tarefa do AWS Glue habilitada para AWS Lake Formation.

  2. O AWS Glue envia o trabalho para um driver de usuário e executa o trabalho no perfil do usuário. O driver do usuário executa uma versão enxuta do Spark que não tem a capacidade de iniciar tarefas, solicitar executores, acessar o S3 ou o Glue Catalog. Ele cria um plano de trabalho.

  3. O AWS Glue configura um segundo driver chamado driver do sistema e o executa no perfil do sistema (com uma identidade privilegiada). O AWS Glue configura um canal TLS criptografado entre os dois drivers para comunicação. O driver do usuário usa o canal para enviar os planos de trabalho ao driver do sistema. O driver do sistema não executa o código enviado pelo usuário. Ele executa o Spark completo e se comunica com o S3 e com o Data Catalog para acesso aos dados. Ele solicita executores e compila o plano de trabalho em uma sequência de estágios de execução.

  4. Em seguida, o AWS Glue executa os estágios nos executores com o driver do usuário ou o driver do sistema. O código do usuário em qualquer estágio é executado exclusivamente nos executores do perfil do usuário.

  5. Os estágios que lêem dados das tabelas do Data Catalog protegidas pelo AWS Lake Formation ou que aplicam filtros de segurança são delegados aos executores do sistema.

Permissões do IAM do perfil de runtime do trabalho

As permissões do Lake Formation controlam o acesso aos recursos do Catálogo de Dados do AWS Glue, aos locais do Amazon S3 e aos dados subjacentes nesses locais. As permissões do IAM controlam o acesso às APIs e aos recursos do Lake Formation e do AWS Glue. Embora você possa ter a permissão do Lake Formation para acessar uma tabela no Data Catalog (SELECT), a operação falhará se você não tiver a permissão do IAM na operação de API glue:Get*.

Confira a seguir um exemplo de política de como fornecer permissões do IAM para acesso a um script no S3, upload de logs no S3, permissões da API do AWS Glue e permissão para acessar o Lake Formation.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ScriptAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.amzn-s3-demo-bucket/scripts", "arn:aws:s3:::*.amzn-s3-demo-bucket/*" ] }, { "Sid": "LoggingAccess", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/logs/*" ] }, { "Sid": "GlueCatalogAccess", "Effect": "Allow", "Action": [ "glue:Get*", "glue:Create*", "glue:Update*" ], "Resource": ["*"] }, { "Sid": "LakeFormationAccess", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": ["*"] } ] }

Configuração de permissões do Lake Formation para perfil de runtime do trabalho

Primeiro, registre a localização da tabela do Hive no Lake Formation. Em seguida, crie permissões para o perfil de runtime do trabalho na tabela desejada. Para obter mais detalhes sobre o Lake Formation, consulte What is AWS Lake Formation? no Guia do desenvolvedor do AWS Lake Formation.

Depois de configurar as permissões do Lake Formation, você pode enviar trabalhos do Spark no AWS Glue.

Envio da execução de um trabalho

Depois de concluir a configuração das concessões do Lake Formation, você pode enviar trabalhos do Spark no AWS Glue. Para executar trabalhos do Iceberg, é necessário fornecer as configurações do Spark a seguir. Para configurar por meio dos parâmetros de trabalho do Glue, inclua o seguinte parâmetro:

  • Chave:

    --conf
  • Valor:

    spark.sql.catalog.spark_catalog=org.apache.iceberg.spark.SparkSessionCatalog --conf spark.sql.catalog.spark_catalog.warehouse=<S3_DATA_LOCATION> --conf spark.sql.catalog.spark_catalog.glue.account-id=<ACCOUNT_ID> --conf spark.sql.catalog.spark_catalog.client.region=<REGION> --conf spark.sql.catalog.spark_catalog.glue.endpoint=https://glue.<REGION>.amazonaws.com

Suporte ao formato de tabela aberta

O AWS Glue versão 5.0 ou posterior inclui suporte ao controle de acesso refinado com base no Lake Formation. O AWS Glue é compatível com os tipos de tabela do Hive e do Iceberg. A tabela a seguir descreve todas as operações compatíveis.

Operações Hive Iceberg
Comandos de DDL Somente com permissões de perfil do IAM Somente com permissões de perfil do IAM
Consultas incrementais Não aplicável Suporte total
Consultas de viagem no tempo Não aplicável a esse formato de tabela Suporte total
Tabelas de metadados Não aplicável a esse formato de tabela Compatível, mas algumas tabelas estão ocultas. Para obter mais informações, consulte Considerations and limitations.
DML INSERT Somente com permissões do IAM Somente com permissões do IAM
ATUALIZAÇÃO DE DML Não aplicável a esse formato de tabela Somente com permissões do IAM
DML DELETE Não aplicável a esse formato de tabela Somente com permissões do IAM
Operações de leitura Suporte total Suporte total
Procedimentos armazenados Não aplicável Compatível com as exceções de register_table e migrate. Para obter mais informações, consulte Considerations and limitations.
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.