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á.
Criar catálogos federados do Amazon Redshift
Este tópico descreve as etapas que você precisa seguir para aceitar um convite de cluster ou namespace, criar um catálogo federado de vários níveis e conceder permissões a outras entidades principais. Você pode concluir essas tarefas usando o console Lake Formation, o AWS Command Line Interface (AWS CLI) ou APIs/SDKs. Os exemplos neste tópico mostram o cluster/namespace produtor, o Data Catalog e o consumidor de dados na mesma conta.
Para saber mais sobre os recursos de entre contas do Lake Formation, consulte Compartilhamento de dados entre contas no Lake Formation.
Como gerenciar um namespace do Amazon Redshift no Data Catalog
-
Analise um convite de namespace e aceite-o.
- Console
-
-
Faça login no console do Lake Formation como administrador do data lake em https://console.aws.amazon.com/lakeformation/
. Navegue até a página Catálogos em Data Catalog. -
Analise o convite do namespace que você tem autorização para acessar. A coluna Status indica seu status atual de participação no namespace. O status Não aceito indica que você foi adicionado ao namespace, mas não o aceitou ainda ou rejeitou o convite.
-
Para responder ao convite de um namespace ou cluster, selecione o nome do convite e escolha Revisar convite. Em Aceitar ou rejeitar convite, examine os detalhes do convite. Selecione Aceitar para aceitar o convite ou Rejeitar para recusar o convite. Se você rejeitar o convite, não terá acesso ao namespace.
-
- AWS CLI
-
Os exemplos a seguir mostram como exibir, aceitar e registrar o convite. Substitua o Conta da AWS ID por um Conta da AWS ID válido. Substitua o
data-share-arnpelo nome do recurso da Amazon (ARN) real que faz referência ao namespace.-
Visualize um convite pendente.
aws redshift describe-data-shares \ --data-share-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace' \ -
Aceite um convite.
aws redshift associate-data-share-consumer \ --data-share-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace' \ --consumer-arn 'arn:aws:glue:us-east-1:123456789012:catalog' -
Registre o cluster ou o namespace na conta do Lake Formation. Use a operação RegisterResourceda API para registrar o compartilhamento de dados no Lake Formation.
DataShareArné o parâmetro de entrada paraResourceArn.nota
Este é uma etapa obrigatória.
aws lakeformation register-resource \ --resource-arn 'arn:aws:redshift:us-east-1:123456789012:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/ds_internal_namespace'
-
-
Crie um catálogo federado.
Depois de aceitar um convite, você precisa criar um catálogo federado no Data Catalog que associe os objetos no namespace do Amazon Redshift ao Data Catalog. Você deve ser administrador de data lake ou um usuário ou perfil que tenha as permissões necessárias para criar um catálogo.
- Console
-
-
Depois de aceitar o convite do namespace, a página Definir detalhes do catálogo é exibida.
-
Na página Definir detalhes do catálogo, insira um nome exclusivo para o catálogo. Use letras minúsculas para nomes de catálogos. Os nomes dos catálogos devem ter, no máximo, 255 caracteres. Use esse identificador para associar o namespace internamente na hierarquia de metadados (catalogid.dbName.schema.table).
-
Digite uma descrição para o catálogo. A descrição deve ter 2.048 caracteres ou menos.
Depois, marque a caixa de seleção Acessar esse catálogo por meio de mecanismos compatíveis com o Iceberg para permitir o acesso aos recursos do Amazon Redshift usando mecanismos analíticos compatíveis com o Apache Iceberg, como o Athena e o Apache Spark no Amazon EMR.
Não é necessário habilitar o acesso ao data lake para acessar os catálogos federados usando o Amazon Redshift.
-
Para permitir que esses mecanismos de consulta leiam e gravem nos namespaces do Amazon Redshift, AWS Glue cria um cluster gerenciado do Amazon Redshift com os recursos computacionais e de armazenamento necessários para realizar operações de leitura e gravação sem afetar as cargas de trabalho do armazém de dados do Amazon Redshift.
Também é preciso fornecer um perfil do IAM com as permissões necessárias para transferir dados de e para o bucket do Amazon S3.
-
Por padrão, os dados no cluster do Amazon Redshift são criptografados usando uma chave AWS gerenciada. O Lake Formation oferece uma opção para criar sua chave do KMS personalizada para criptografia. Se você estiver usando uma chave gerenciada pelo cliente, deverá adicionar políticas de chave específicas à chave.
Escolha Personalizar configurações de criptografia se você estiver usando uma chave gerenciada pelo cliente para criptografar os dados no cluster/namespace do Amazon Redshift. Para usar uma chave personalizada, você deve adicionar outra política de chave gerenciada personalizada à sua chave do KMS. Para obter mais informações, consulte Pré-requisitos para gerenciar namespaces do Amazon Redshift no AWS Glue Data Catalog.
-
- AWS CLI
-
Use o código de exemplo a seguir para criar um catálogo com os dados do Amazon Redshift publicados no Data Catalog usando a AWS CLI.
aws glue create-catalog --cli-input-json \ '{ "Name": "nscatalog", "CatalogInput": { "Description": "Redshift federated catalog", "CreateDatabaseDefaultPermissions" : [], "CreateTableDefaultPermissions": [], "FederatedCatalog": { "Identifier": "arn:aws:redshift:us-east-1:123456789012:datashare:11524d7f-f56d-45fe-83f7-d7bb0a4d6d71/ds_internal_namespace", "ConnectionName": "aws:redshift" }, "CatalogProperties": { "DataLakeAccessProperties" : { "DataLakeAccess" : true, "DataTransferRole" : "arn:aws:iam::123456789012:role/DataTransferRole" } } } }'
-
Conceda permissões aos usuários em sua conta ou em contas externas.
- Console de gerenciamento da AWS
-
-
Selecione Próximo para conceder permissões a outros usuários nos catálogos, banco de dados e tabelas compartilhados.
-
Na tela Adicionar permissões, escolha as entidades principais e os tipos de permissões a serem concedidas.
-
Na seção Entidades principais, escolha um tipo de entidade principal e, em seguida, especifique as entidades principais para conceder permissões.
-
Usuários e perfis do IAM: escolha um ou mais usuários ou perfis na lista de usuários e perfis do IAM.
-
Usuários e grupos do SAML — Para SAML e Amazon Quick Suite usuários e grupos, insira um ou mais nomes de recursos da Amazon (ARNs) para usuários ou grupos federados por meio do SAML ou para usuários ou grupos do ARNs Amazon Quick Suite. Pressione Enter após cada ARN.
Para obter informações sobre como construir o ARNs, consulte os AWS CLI comandos AWS CLI grant e revoke.
-
Contas externas — Para AWS, AWS organização ou diretor do IAM, insira uma ou mais AWS contas IDs, organizações IDs IDs, unidades organizacionais ou ARN válidas para o usuário ou a função do IAM. Pressione Enter após cada ID. O ID da organização consiste em “o-” seguido por 10 a 32 letras minúsculas ou dígitos. Uma ID de unidade organizacional começa com “ou-” seguida de 4 a 32 letras minúsculas ou dígitos (o ID da raiz que contém a OU). Essa sequência é seguida por um segundo travessão "-" e 8 a 32 letras minúsculas ou dígitos adicionais.
-
-
Na seção Permissões, selecione permissões e permissões concedidas.
Em Permissões do catálogo, selecione uma ou mais permissões a serem concedidas. Em Permissões concedidas, selecione as permissões que o beneficiário do subsídio pode conceder a outros diretores em sua conta. AWS Essa opção não é compatível quando você está concedendo permissões a uma entidade principal do IAM a partir de uma conta externa.
Escolha Superusuário para conceder ao usuário permissões irrestritas aos recursos (bancos de dados, tabelas, visualizações) dentro do catálogo.
-
-
Escolha Adicionar.
-
- AWS CLI
-
Use os exemplos a seguir para conceder permissões de catálogo, banco de dados e tabelas usando a AWS CLI:
-
O exemplo a seguir mostra como conceder permissões no catálogo federado.
aws lakeformation grant-permissions --cli-input-cli-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789012:role/non-admin" }, "Resource": { "Catalog": { "Id": "123456789012:nscatalog" } }, "Permissions": [ "DESCRIBE","CREATE_CATALOG" ], "PermissionsWithGrantOption": [ ] }' -
Use o exemplo da seguir para conceder permissões em um banco de dados.
aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/non-admin"}, "Resource": { "Database": { "CatalogId":"123456789012:nscatalog/dev", "Name":"public"} }, "Permissions": [ "ALL" ] }' -
O exemplo a seguir mostra como conceder permissões em uma tabela no banco de dados do Amazon Redshift.
aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier":"arn:aws:iam::123456789012:role/non-admin"}, "Resource": { "Table": { "CatalogId":"123456789012:nscatalog2/dev", "DatabaseName":"public", "TableWildcard" : {} } }, "Permissions": [ "ALL" ] }'
-
Escolha Próximo para revisar os detalhes do catálogo e criar um catálogo federado. O catálogo federado recém-criado e os objetos do catálogo aparecem na página Catálogos.
Um catálogo federado do Amazon Redshift é referido com
catalogID = 123456789012:Redshift-federated catalog id.