Etapa 1. Criar uma função do IAM para o Amazon Redshift - Amazon Redshift

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:

Para criar uma função do IAM para o Amazon Redshift
  1. Abra o console do IAM.

  2. No painel de navegação, escolha Roles.

  3. Selecione Create role.

  4. Selecione Serviço da AWS como a entidade confiável e, depois, Redshift como caso de uso.

  5. Em Caso de uso para outros Serviços da AWS, selecione Redshift: personalizável e Próximo.

  6. A página Add permissions policy (Adicionar política de permissões) é exibida. Escolha AmazonS3ReadOnlyAccess e AWSGlueConsoleFullAccess se estiver usando o catálogo de dados do AWS Glue. Ou escolha AmazonAthenaFullAccess 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/*" } ] }
  7. Para Role name (Nome da função), digite um nome para sua função, por exemplo, myspectrum_role.

  8. Revise as informações e escolha Create role.

  9. 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
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. 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.

  3. Escolha Criar política.

  4. Opte por criar a política na guia JSON.

  5. 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": "*" } ] }
  6. Ao terminar, escolha Review (Revisar) para revisar a política. O validador de política indica se há qualquer erro de sintaxe.

  7. 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:

Para conceder permissões SELECT na tabela para consultar no banco de dados do Lake Formation
  1. Abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/.

  2. No painel de navegação, escolha Permissões do data lake e Conceder.

  3. 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.

  4. 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.