Trabalhar com visualizações - 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á.

Trabalhar com visualizações

Esse recurso está em prévia de release e sujeito a alterações. Para obter mais informações, consulte a seção Beta e pré-visualizações no documento de Termos de serviço da AWS.

Em AWS Glue Data Catalog, uma exibição é uma tabela virtual na qual o conteúdo é definido por uma consulta que faz referência a uma ou mais tabelas. É possível criar uma visualização que faça referência a até dez tabelas usando editores SQL para Amazon Athena, Amazon Redshift ou Amazon EMR. As tabelas de referência subjacentes de uma visualização podem pertencer ao mesmo banco de dados ou a bancos de dados diferentes na mesma Conta da AWS.

SQL é uma linguagem de programação usada para consultar tabelas, e cada mecanismo AWS analítico usa sua própria variação de SQL ou dialeto SQL. O catálogo de dados aceita a criação de visualizações usando diferentes dialetos de SQL, desde que cada dialeto faça referência ao mesmo conjunto de tabelas, colunas e tipos de dados. Ao definir um esquema de visualização comum e um objeto de metadados que você pode consultar em vários mecanismos, as visualizações do catálogo de dados permitem usar visualizações uniformes em todo o data lake.

Ao gerenciar visualizações no Catálogo de Dados, você pode usar AWS Lake Formation para conceder permissões refinadas por meio do método de recurso nomeado ou usando tags LF e compartilhá-las entre AWS organizações e unidades Contas da AWS organizacionais. Também é possível compartilhar visualizações do catálogo de dados entre Regiões da AWS. Isso permite que os usuários forneçam acesso aos dados Regiões da AWS sem duplicar a fonte de dados.

Para obter mais informações sobre compartilhamento de dados entre contas e acesso a dados entre regiões, consulte:

É possível usar as visualizações do catálogo de dados para:

  • Criar e gerenciar permissões em um único esquema de visualização. Isso ajuda a evitar o risco de permissões inconsistentes em visualizações duplicadas criadas em vários mecanismos.

  • Conceda permissões aos usuários em uma visualização que faz referência a várias tabelas sem conceder permissões diretamente nas tabelas de referência subjacentes.

Para conhecer as limitações, consulte Considerações e limitações das visualizações do catálogo de dados.

Pré-requisitos para criar visualizações

  • Para criar visualizações no catálogo de dados, é necessário registrar os locais de dados subjacentes do Amazon S3 das tabelas de referência no Lake Formation.

    Para obter detalhes sobre o registro de dados no Lake Formation, consulte Adicionar uma localização do Amazon S3 ao seu data lake.

  • O programador de visualizações deve ser um perfil do IAM. Outras identidades do IAM não podem criar visualizações do catálogo de dados.

  • O perfil do IAM que define a visualização deve ter as seguintes permissões:

    • Permissão SELECT completa do Lake Formation com a opção Grantable em todas as tabelas de referência.

    • Uma política de confiança para que a Lake Formation e AWS Glue os serviços assumam a função.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "DataCatalogViewDefinerAssumeRole1", "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
    • O objetivo: PassRole permissão para AWS Glue e Lake Formation.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "DataCatalogViewDefinerPassRole1", "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "glue.amazonaws.com", "lakeformation.amazonaws.com" ] } } } ] }
    • AWS Glue e permissões do Lake Formation.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "Glue:GetDatabase", "Glue:GetDatabases", "Glue:CreateTable", "Glue:GetTable", "Glue:UpdateTable", "Glue:DeleteTable", "Glue:GetTables", "Glue:SearchTables", "Glue:BatchGetPartition", "Glue:GetPartitions", "Glue:GetPartition", "Glue:GetTableVersion", "Glue:GetTableVersions", "lakeFormation:GetDataAccess", "lakeFormation:GetTemporaryTableCredentials", "lakeFormation:GetTemporaryGlueTableCredentials", "lakeFormation:GetTemporaryUserCredentialsWithSAML" ], "Resource": "*" } ] }
  • Não será possível criar visualizações se o banco de dados sob o qual a visualização está sendo criada tiver uma permissão Super ou ALL concedida ao grupo IAMAllowedPrincipals. Para revogar a permissão Super do grupo IAMAllowedPrincipals em um banco de dados, consulte Etapa 4: mude seus armazenamentos de dados para o modelo de permissões do Lake Formation.

    Se as configurações de data lake existentes não permitirem a definição de um grupo CreateTableDefaultPermissions ou IAMAllowedPrincipals vazio, será possível criar um banco de dados e codificar a configuração do data lake usando a estrutura a seguir.

    { "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>" } ], CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [] } ] }

Criar visualizações

É possível usar editores SQL para Athena, Amazon Redshift ou Amazon EMR para criar visualizações no AWS Glue Data Catalog.

Para obter mais informações sobre a sintaxe para criar e gerenciar visualizações do catálogo de dados, consulte:

Depois de criar uma visualização do catálogo de dados, os detalhes da visualização no console do Lake Formation.

  1. Selecione Visualizações no catálogo de dados no console do Lake Formation.

  2. Uma lista das visualizações disponíveis é exibida na página de visualizações.

  3. Selecione uma visualização na lista e a página de detalhes mostrará os atributos da visualização.

A seção inferior contém cinco guias dispostas horizontalmente, e cada guia inclui as informações correspondentes.
Schema

Selecione uma linha Column e selecione Editar tags do LF para atualizar os valores das tags ou atribuir novas tags do LF.

Definições de SQL

É possível ver uma lista das definições de SQL disponíveis. Selecione Adicionar definição de SQL e escolha um mecanismo de consulta para adicionar uma definição de SQL. Selecione um mecanismo de consulta (Athena ou Amazon Redshift) na coluna Edit definition para atualizar as definições de SQL.

Tags do LF

Selecione Editar tags do LF para editar valores para uma tag ou atribuir novas tags. É possível usar tags do LF para conceder permissões nas visualizações.

Acesso entre contas

Você pode ver uma lista de Contas da AWS organizações e unidades organizacionais (OUs) que você compartilhou na visualização do Catálogo de Dados.

Tabelas subjacentes

As tabelas subjacentes referenciadas na definição de SQL usada para criar a exibição são mostradas nessa guia.

Conceder permissões nas visualizações do catálogo de dados

Depois de criar visualizações, é possível conceder permissões de data lake em visualizações a entidades principais entre Contas da AWS, organizações e unidades organizacionais. Para obter mais informações sobre a concessão de permissões, consulte Conceder permissões em visualizações usando o método de recurso nomeado