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 chamadoredshift_data_api_user
permissão pararedshift: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 permitirredshift:GetClusterCredentials
. O exemplo a seguir permite usuários do banco de dadosawsuser
emyuser
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "UseTemporaryCredentialsForAllDbUsers", "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": [ "arn:aws:redshift:*:*:dbuser:*/awsuser", "arn:aws:redshift:*:*:dbuser:*/myuser" ] } ] }