Autenticar uma consulta programada - Amazon Redshift

Autenticar uma consulta programada

Ao programar uma consulta, você usa um dos métodos de autenticação a seguir quando o SQL é executado. Cada método requer uma combinação diferente de entrada no editor de consultas v2. Esses métodos de autenticação são compatíveis com a API de dados, que é usada para executar as instruções SQL.

O usuário ou perfil do banco de dados usado para executar a consulta deve ter os privilégios de banco de dados necessários. Por exemplo, para conceder privilégios IAMR:MyRedshiftQEv2Scheduler à tabela mytable, execute o comando SQL a seguir.

GRANT all ON TABLE mytable TO "IAMR:MyRedshiftQEv2Scheduler";

Para ver a lista de usuários do banco de dados no cluster ou grupo de trabalho, consulte a visualização do sistema PG_USER_INFO.

nota

Todos os grupos de trabalho do Redshift sem servidor para o qual você programa consultas devem ser marcados com a chave RedshiftDataFullAccess. Para ter mais informações, consulte Autorizar acesso à API de dados do Amazon Redshift.

Como alternativa à marcação do grupo de trabalho, você pode adicionar uma política em linha ao perfil do IAM (especificado com a programação) que permite redshift-serverless:GetCredentials. Por exemplo:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllServerlessWorkgroups", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:*:*:workgroup/*" ] } ] }
AWS Secrets Manager

Com este método, forneça um valor secreto para secret-arn que é armazenado no AWS Secrets Manager. Este segredo contém credenciais para se conectar ao seu banco de dados. Talvez você tenha criado um segredo com as credenciais adequadas quando criou o cluster ou o grupo de trabalho. O segredo deve ser marcado com a chave RedshiftDataFullAccess. Se a chave da tag ainda não estiver presente, use o console AWS Secrets Manager para adicioná-la. Para obter informações sobre como criar um segredo, consulte Criar um segredo para credenciais de conexão de banco de dados.

Para obter mais informações sobre as permissões mínimas, consulte Criação e gerenciamento de segredos com o AWS Secrets Manager no Manual do usuário do AWS Secrets Manager.

Credenciais temporárias

Com esse método, forneça o Nome do banco de dados e os valores do Usuário do banco de dados ao se conectar a um banco de dados em um cluster. Você só precisa fornecer o Nome do banco de dados ao se conectar a um banco de dados em um grupo de trabalho.

Ao se conectar a um cluster, a política AmazonRedshiftDataFullAccess concede ao usuário do banco de dados chamado redshift_data_api_user permissão para redshift:GetClusterCredentials. Se você quiser usar um usuário de banco de dados diferente para executar a instrução SQL, adicione uma política ao perfil do IAM anexado ao cluster para permitir redshift:GetClusterCredentials. O exemplo a seguir permite usuários do banco de dados awsuser e myuser.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllDbUsers", "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:*:*:dbuser:*/awsuser", "arn:aws:redshift:*:*:dbuser:*/myuser" ] } ] }