Authentification d'une requête planifiée - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Authentification d'une requête planifiée

Lorsque vous planifiez une requête, vous utilisez l'une des méthodes d'authentification suivantes lors de son SQL exécution. Les entrées à effectuer dans l'éditeur de requête v2 varient en fonction de la méthode utilisée. Ces méthodes d'authentification sont prises en charge par API les données utilisées pour exécuter vos SQL instructions.

L'utilisateur ou le rôle de base de données utilisé pour exécuter la requête doit disposer des privilèges de base de données nécessaires. Par exemple, pour accorder IAMR:MyRedshiftQEv2Scheduler des privilèges à une tablemytable, exécutez la SQL commande suivante.

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

Pour afficher la liste des utilisateurs de base de données de votre cluster ou groupe de travail, interrogez la vue système PG_USER_INFO.

Note

Tout groupe de travail Redshift Serverless pour lequel vous planifiez des requêtes doit être marqué avec la clé. RedshiftDataFullAccess Pour de plus amples informations, veuillez consulter Autoriser l'accès aux données Amazon Redshift API.

Au lieu de baliser le groupe de travail, vous pouvez ajouter une politique intégrée au IAM rôle (spécifié dans le calendrier) qui l'autorise. redshift-serverless:GetCredentials Par exemple :

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

Avec cette méthode, fournissez une valeur secrète pour le paramètre secret-arn qui est stocké dans AWS Secrets Manager. Ce secret contient des informations d’identification pour vous connecter à votre base de données. Vous avez peut-être créé un secret avec les informations d'identification appropriées lorsque vous avez créé votre cluster ou votre groupe de travail. Le secret doit être étiqueté avec la clé RedshiftDataFullAccess. Si la clé de balise n'est pas déjà présente, utilisez la AWS Secrets Manager console pour l'ajouter. Pour plus d'informations sur la création d'un secret, consultezCréation d'un secret pour les informations de connexion à la base de données.

Pour plus d’informations sur les autorisations minimales, consultez Création et gestion des secrets avec AWS Secrets Manager dans le Guide de l’utilisateur AWS Secrets Manager .

Informations d’identification temporaires

Avec cette méthode, indiquez le Nom de la base de données et l'Utilisateur de la base de données pour vous connecter à une base de données située dans un cluster. Vous devez simplement indiquer le Nom de la base de données au moment de vous connecter à une base de données d'un groupe de travail.

Lorsque vous vous connectez à un cluster, la politique AmazonRedshiftDataFullAccess accorde à l'utilisateur de base de données nommé redshift_data_api_user une autorisation pour redshift:GetClusterCredentials. Si vous souhaitez utiliser un autre utilisateur de base de données pour exécuter l'SQLinstruction, ajoutez une politique au IAM rôle attaché à votre cluster pour autoriserredshift:GetClusterCredentials. L’exemple de stratégie suivant autorise les utilisateurs de base de données awsuser et myuser.

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