Usar a autenticação do IAM para gerar credenciais do usuário do banco de dados
Você pode gerar credenciais de banco de dados temporárias com base em permissões concedidas por meio de uma política de permissões do AWS Identity and Access Management (IAM) para gerenciar o acesso que seus usuários têm ao banco de dados Amazon Redshift.
Normalmente, os usuários do banco de dados do Amazon Redshift efetuam login no banco de dados fornecendo um nome de usuário e uma senha do banco de dados. No entanto, você não precisa manter nomes de usuário e senhas em seu banco de dados do Amazon Redshift. Como alternativa, é possível configurar o sistema para permitir que os usuários criem credenciais de usuário e façam login no banco de dados com base em suas credenciais do IAM.
O Amazon Redshift fornece a operação de API GetClusterCredentials para gerar credenciais de usuário de banco de dados temporárias. Você pode configurar seu cliente SQL com drivers JDBC ou ODBC do Amazon Redshift que gerenciam o processo de chamada da operação GetClusterCredentials
. Eles fazem isso recuperando as credenciais do usuário do banco de dados e estabelecendo uma conexão entre seu cliente SQL e seu banco de dados do Amazon Redshift. Você também pode usar o aplicativo de banco de dados para chamar a ação GetClusterCredentials
, recuperar credenciais de usuário de base de dados e conectar-se ao banco de dados de modo programático.
Se você já gerencia identidades de usuário fora da AWS, pode usar um provedor de identidade (IdP) compatível com Security Assertion Markup Language (SAML) 2.0 para gerenciar o acesso aos recursos do Amazon Redshift. Configure o IdP para permitir o acesso de usuários federados à função do IAM. Com essa função do IAM, você pode gerar credenciais de banco de dados temporárias e fazer login em bancos de dados do Amazon Redshift.
O cliente SQL precisa de permissão para chamar a operação GetClusterCredentials
para você. Para gerenciar essas permissões, crie uma função do IAM e anexe a política de permissões do IAM que concede ou restringe o acesso à operação GetClusterCredentials
e às ações relacionadas. Como prática recomendada, anexe políticas de permissões a um perfil do IAM e, depois, atribua-as a usuários e grupos, conforme necessário. Para obter mais informações, consulte Gerenciamento de identidade e acesso no Amazon Redshift.
A política também concede ou restringe o acesso a recursos específicos, como clusters, bancos de dados, nomes de usuário de banco de dados e nomes de grupo de usuários do Amazon Redshift.
nota
Recomendamos o uso dos drivers JDBC ou ODBC do Amazon Redshift para gerenciar o processo de chamada da operação GetClusterCredentials
e logon no banco de dados. Para simplificar, partimos do pressuposto de que você está usando um cliente SQL com drivers JDBC ou ODBC durante todo este tópico.
Para obter detalhes específicos e exemplos de uso da operação GetClusterCredentials
ou do comando paralelo da CLI get-cluster-credentials
, consulte GetClusterCredentials e get-cluster-credentials.
Para gerenciar a autenticação e a autorização de forma centralizada, o Amazon Redshift oferece suporte à autenticação do banco de dados com IAM, permitindo a autenticação do usuário por meio da federação empresarial. Em vez de criar um usuário, é possível usar identidades existentes do AWS Directory Service, do diretório de usuário da sua empresa ou de um provedor de identidade da web. Eles são conhecidos como usuários federados. A AWS atribui uma função a um usuário federado quando o acesso é solicitado por meio de um IdP.
Para fornecer acesso federado a um usuário ou aplicação cliente em sua organização para chamar operações de API do Amazon Redshift, você também pode usar o driver JDBC ou ODBC com suporte SAML 2.0 para solicitar autenticação do IdP de sua organização. Nesse caso, os usuários da sua organização não têm acesso direto ao Amazon Redshift.
Para obter mais informações, consulte Provedores de identidade e federação no Guia do usuário do IAM.