Etapa 1. Criar uma função do IAM para o Amazon Redshift
O cluster precisa de autorização para acessar o catálogo de dados externo no AWS Glue ou no Amazon Athena e os arquivos de dados no Amazon S3. Para fornecer essa autorização, referencie a função do AWS Identity and Access Management (IAM) que é associada ao cluster. Para obter mais informações sobre como usar funções com o Amazon Redshift, consulte Autorização das operações COPY e UNLOAD usando as funções do IAM.
nota
Em determinados casos, é possível migrar o catálogo de dados do Athena para um catálogo de dados do AWS Glue. Isso poderá ser feito se o cluster estiver em uma região da AWS compatível com o AWS Glue e se você tiver tabelas externas do Redshift Spectrum no catálogo de dados do Athena. Para usar o catálogo de dados do AWS Glue com o Redshift Spectrum, talvez seja necessário alterar as políticas do IAM. Para obter mais informações, consulte Atualizar para o catálogo de dados do AWS Glue no Manual do usuário do Athena.
Ao criar uma função para o Amazon Redshift, escolha uma das seguintes abordagens:
Se você estiver usando o Redshift Spectrum com um catálogo de dados do Athena ou um catálogo de dados do AWS Glue, siga as etapas descritas em Para criar uma função do IAM para o Amazon Redshift.
Se você estiver usando o Redshift Spectrum com um AWS Glue Data Catalog habilitado para AWS Lake Formation, siga as etapas descritas nestes procedimentos:
Para criar uma função do IAM para o Amazon Redshift
-
Abra o console do IAM
. -
No painel de navegação, escolha Roles.
-
Selecione Create role.
-
Selecione Serviço da AWS como a entidade confiável e, depois, Redshift como caso de uso.
-
Em Caso de uso para outros Serviços da AWS, selecione Redshift: personalizável e Próximo.
-
A página Add permissions policy (Adicionar política de permissões) é exibida. Escolha
AmazonS3ReadOnlyAccess
eAWSGlueConsoleFullAccess
se estiver usando o catálogo de dados do AWS Glue. Ou escolhaAmazonAthenaFullAccess
se estiver usando o catálogo de dados do Athena. Escolha Próximo.nota
A política
AmazonS3ReadOnlyAccess
concede ao seu cluster acesso somente leitura a todos os buckets do Amazon S3. Para conceder acesso apenas ao bucket de dados de amostra da AWS, crie uma nova política e adicione as permissões a seguir.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::redshift-downloads/*" } ] }
-
Para Role name (Nome da função), digite um nome para sua função, por exemplo,
myspectrum_role
. -
Revise as informações e escolha Create role.
-
No painel de navegação, escolha Perfis. Escolha o nome de sua nova função para visualizar o resumo e copie o Nome de recurso da Amazon (ARN) da função em sua área de transferência. Esse valor é o nome de recurso da Amazon (ARN) para a função que você acaba de criar. Esse valor é usado quando tabelas externas são criadas para referenciar os arquivos de dados no Amazon S3.
Para criar uma função do IAM para o Amazon Redshift usando um AWS Glue Data Catalog habilitado para o AWS Lake Formation
-
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Policies.
Se essa for a primeira vez que você escolhe Políticas, a página Bem-vindo às políticas gerenciadas será exibida. Escolha Começar.
-
Escolha Criar política.
-
Opte por criar a política na guia JSON.
-
Cole no documento de política JSON a seguir, que concede acesso ao catálogo de dados, mas nega as permissões de administrador para o Lake Formation.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftPolicyForLF", "Effect": "Allow", "Action": [ "glue:*", "lakeformation:GetDataAccess" ], "Resource": "*" } ] }
-
Ao terminar, escolha Review (Revisar) para revisar a política. O validador de política indica se há qualquer erro de sintaxe.
-
Na página Review policy (Revisar política), em Name (Nome), insira
myspectrum_policy
para dar um nome à política que você está criando. Insira uma Description (Descrição) (opcional). Revise o Resumo da política para ver as permissões que são concedidas pela política. Em seguida, escolha Criar política para salvar seu trabalho.Depois de criar uma política, você pode conceder acesso aos usuários.
Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos no AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
Para conceder permissões SELECT na tabela para consultar no banco de dados do Lake Formation
-
Abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/
. -
No painel de navegação, escolha Permissões do data lake e Conceder.
-
Siga as instruções em Concessão das permissões da tabela usando o nome do recurso nomeado no Guia do desenvolvedor do AWS Lake Formation. Forneça as informações a seguir:
-
Para a Função do IAM, selecione a função do IAM criada,
myspectrum_role
. Ao executar o editor de consulta do Amazon Redshift, ele usa essa função do IAM para conceder permissão aos dados.nota
Para conceder permissão SELECT na tabela em um catálogo de dados habilitado para o Lake Formation para consulta, faça o seguinte:
Registre o caminho dos dados no Lake Formation.
Conceda aos usuários permissão para esse caminho no Lake Formation.
As tabelas criadas podem ser encontradas no caminho registrado no Lake Formation.
-
-
Selecione Conceder.
Importante
Como prática recomendada, permita o acesso somente aos objetos subjacentes do Amazon S3 por meio de permissões do Lake Formation. Para impedir o acesso não aprovado, remova qualquer permissão concedida aos objetos do Amazon S3 fora do Lake Formation. Se você já tiver acessado objetos do Amazon S3 antes de configurar o Lake Formation, remova políticas do IAM ou permissões de bucket que tenham sido configuradas anteriormente. Para obter mais informações, consulte Atualizar permissões de dados do AWS Glue para o modelo do AWS Lake Formation e Permissões do Lake Formation.