Credenciais e permissões de acesso - Amazon Redshift

Credenciais e permissões de acesso

Para carregar ou descarregar dados usando outro recurso da AWS como Amazon S3, Amazon DynamoDB, Amazon EMR ou Amazon EC2, seu cluster deve ter permissão para acessar o recurso e executar as ações necessárias para acessar os dados. Por exemplo, para carregar dados do Amazon S3, COPY deve ter acesso LIST para o bucket e acesso GET para os objetos do bucket.

Para obter autorização para acessar um recurso, o cluster deve ser autenticado. Você pode escolher o controle de acesso com base em função ou o controle de acesso com base em chave. Esta seção apresenta uma visão geral dos dois métodos. Para obter os detalhes completos e exemplos, consulte Permissões para acessar outros recursos da AWS.

Controle de acesso com base em função

Com o controle de acesso baseado em função, seu cluster assume temporariamente uma função do AWS Identity and Access Management (IAM) em seu nome. Então, com base nas autorizações concedidas para a função, seu cluster pode acessar os recursos da AWS necessários.

Recomendamos o uso de controle de acesso baseado em função porque ele fornece um controle mais seguro e refinado de acesso a recursos da AWS e dados confidenciais do usuário, além de proteger suas credenciais da AWS.

Para usar o controle de acesso baseado em função, você deve primeiro criar uma função do IAM usando o tipo de função de serviço do Amazon Redshift e, em seguida, anexar a função ao seu cluster. A função deve ter, pelo menos, as permissões listadas em Permissões do IAM para COPY, UNLOAD e CREATE LIBRARY. Para ver as etapas de como criar um perfil do IAM e anexá-lo ao cluster, consulte “Criar uma função do IAM para permitir que o cluster do Amazon Redshift acesse serviços da AWS” no Guia de gerenciamento de clusters do Amazon Redshift.

Você pode adicionar uma função a um cluster ou visualizar as funções associadas a um cluster usando o Console de Gerenciamento do Amazon Redshift, a CLI ou a API. Para obter mais informações, consulte “Autorizar operações COPY, UNLOAD, CREATE EXTERNAL FUNCTION e CREATE EXTERNAL SCHEMA usando funções do IAM” no Guia de gerenciamento de clusters do Amazon Redshift.

Quando você cria uma função do IAM, o IAM retorna um nome de recurso da Amazon (ARN) para a função. Para executar o comando COPY usando uma função do IAM, forneça o ARN da função usando o parâmetro IAM_ROLE ou o parâmetro CREDENTIALS.

O seguinte exemplo de comando COPY usa o parâmetro IAM_ROLE com a função MyRedshiftRole para autenticação.

copy customer from 's3://mybucket/mydata' iam_role 'arn:aws:iam::12345678901:role/MyRedshiftRole';

O usuário do AWS deve ter, pelo menos, as permissões listadas em Permissões do IAM para COPY, UNLOAD e CREATE LIBRARY.

Controle de acesso com base em chave

Com o controle de acesso baseado em chave, você fornece o ID da chave de acesso e a chave de acesso secreta para um usuário que está autorizado a acessar os recursos da AWS que contêm os dados. 

nota

É altamente recomendável usar uma função do IAM para autenticação em vez de fornecer um ID da chave de acesso de texto simples e uma chave de acesso secreta. Se você escolher o controle de acesso com base em chave, nunca use as credenciais de sua conta da AWS (raiz). Sempre crie um usuário do IAM e forneça o ID da chave de acesso e a chave de acesso secreta desse usuário. Para obter as etapas para criar um usuário do IAM, consulte Criação de um usuário do IAM em sua conta da AWS.