Autorizar o Amazon Redshift a acessar serviços da AWS em seu nome - Amazon Redshift

Autorizar o Amazon Redshift a acessar serviços da AWS em seu nome

Alguns recursos do Amazon Redshift exigem que o Amazon Redshift acesse outros serviços da AWS em seu nome. Por exemplo, os comandos COPY e UNLOAD podem carregar ou descarregar dados em seu cluster Amazon Redshift usando um bucket do Amazon S3. O comando CREATE EXTERNAL FUNCTION pode invocar uma função do AWS Lambda usando uma função Lambda definida pelo usuário (UDF) escalar. O Amazon Redshift Spectrum pode usar um catálogo de dados no Amazon Athena ou no AWS Glue. Para que seus clusters Amazon Redshift atuem em seu nome, você fornece credenciais de segurança para seus clusters. O método preferido para fornecer credenciais de segurança é especificar uma função do AWS Identity and Access Management (IAM). Para COPY e UNLOAD, é possível fornecer as credenciais temporárias.

Os usuários precisam de acesso programático se quiserem interagir com a AWS de fora do AWS Management Console. A forma de conceder acesso programático depende do tipo de usuário que está acessando a AWS.

Para conceder acesso programático aos usuários, selecione uma das seguintes opções:

Qual usuário precisa de acesso programático? Para Por

Identificação da força de trabalho

(Usuários gerenciados no Centro de Identidade do IAM)

Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS.

Siga as instruções da interface que deseja utilizar.

IAM Use credenciais temporárias para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS. Siga as instruções em Como usar credenciais temporárias com recursos da AWS no Guia do usuário do IAM.
IAM

(Não recomendado)

Use credenciais de longo prazo para assinar solicitações programáticas para a AWS CLI, os SDKs da AWS ou as APIs da AWS.

Siga as instruções da interface que deseja utilizar.

Em seguida, descubra como criar uma função do IAM com as permissões apropriadas para acessar outros serviços da AWS. Você também precisa associar a função ao seu cluster e especificar o nome do recurso da Amazon (ARN) da função ao executar o comando Amazon Redshift. Para ter mais informações, consulte Autorizar operações COPY, UNLOAD, CREATE EXTERNAL FUNCTION e CREATE EXTERNAL SCHEMA usando funções do IAM.

Além disso, um superusuário pode conceder o privilégio ASSUMEROLE a usuários e grupos específicos para fornecer acesso a uma função para operações COPY e UNLOAD. Para obter informações, consulte GRANT no Guia do desenvolvedor de banco de dados do Amazon Redshift.

Criar uma função do IAM para permitir que o cluster do Amazon Redshift acesse serviços da AWS

Criar um perfil do IAM com permissões

Para criar uma função IAM para permitir que seu cluster do Amazon Redshift se comunique com outros serviços da AWS em seu nome, execute as seguintes etapas. Os valores usados nesta seção são exemplos, você pode escolher valores com base em suas necessidades.

Para criar uma função do IAM para permitir que o Amazon Redshift acesse os serviços da AWS
  1. Abra o console do IAM.

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

  3. Escolha Criar Perfil.

  4. Escolha serviço da AWS e clique em Redshift.

  5. Em Select your use case, escolha Redshift - Customizable e clique em Next: Permissions. A página Attach permissions policy é exibida.

  6. Para acesso ao Amazon S3 usando COPY, como exemplo, use AmazonS3ReadOnlyAccess anexe. Para acesso ao Amazon S3 usando COPY ou UNLOAD, sugerimos que você crie políticas gerenciadas que restrinjam o acesso ao bucket desejado e ao prefixo adequadamente. Para operações de leitura e gravação, recomendamos aplicar os privilégios mínimos e restringir apenas os buckets do Amazon S3 e prefixos chave necessários para o Amazon Redshift.

    Para acessar as funções do Lambda para o comando CREATE EXTERNAL FUNCTION, adicione AWSLambdaRole.

    Para o Redshift Spectrum, além do acesso ao Amazon S3, adicione AWSGlueConsoleFullAccess ou AmazonAthenaFullAccess.

    Escolha Próximo: etiquetas.

  7. A página Adicionar tags é exibida. Opcionalmente, é possível adicionar tags. Selecione Next: Review (Próximo: revisar).

  8. Para Role Name, digite um nome para sua função, por exemplo, RedshiftCopyUnload. Selecione Criar função.

  9. A nova função está disponível para todos os usuários em clusters que usam a função. Para restringir acesso somente a usuários específicos em clusters específicos ou, a clusters em regiões específicas, edite a relação de confiança da função. Para ter mais informações, consulte Restringir acesso a funções do IAM.

  10. Associe a função ao cluster. Você pode associar uma função do IAM a um cluster ao criar o cluster, ou adicionar a função a um cluster existente. Para ter mais informações, consulte Associar funções do IAM a clusters.

    nota

    Para restringir o acesso a dados específicos, use uma função do IAM que conceda o mínimo de privilégios necessários.