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.
Génération d'informations d'identification de base de données pour une IAM identité à l'aide d'Amazon Redshift ou CLI API
Pour générer par programmation des informations d'identification utilisateur temporaires de base de données, Amazon Redshift fournit get-cluster-credentialsla commande pour le AWS CLI() et AWS Command Line Interface l'opération. GetClusterCredentialsAPI Vous pouvez également configurer votre SQL client avec Amazon Redshift JDBC ou des ODBC pilotes qui gèrent le processus d'appel de l'GetClusterCredentials
opération, de récupération des informations d'identification utilisateur de la base de données et d'établissement d'une connexion entre votre SQL client et votre base de données Amazon Redshift. Pour de plus amples informations, veuillez consulter JDBCet ODBC options pour créer des informations d'identification utilisateur de base de données.
Note
Nous vous recommandons d'utiliser Amazon Redshift JDBC ou des ODBC pilotes pour générer les informations d'identification des utilisateurs de la base de données.
Dans cette section, vous trouverez les étapes permettant d'appeler l'GetClusterCredentials
opération ou la get-cluster-credentials commande par programme, de récupérer les informations d'identification de l'utilisateur de la base de données et de se connecter à la base de données.
Pour générer et utiliser des informations d'identification temporaires de base de données
-
Créez ou modifiez un utilisateur ou un rôle avec les autorisations requises. Pour plus d'informations sur IAM les autorisations, consultezÉtape 3 : créer un IAM rôle avec des autorisations d'appel GetClusterCredentials.
-
En tant qu'utilisateur ou rôle que vous avez autorisé à l'étape précédente, exécutez la get-cluster-credentials CLI commande ou appelez l'
GetClusterCredentials
APIopération et fournissez les valeurs suivantes :-
Identifiant du cluster – Le nom du cluster qui contient la base de données.
-
Nom d'utilisateur de la base de données – Le nom d'un utilisateur de base de données, existant ou nouveau.
-
Si l'utilisateur n'existe pas dans la base de données et AutoCreate qu'il est vrai, un nouvel utilisateur est créé avec cette option PASSWORD désactivée.
-
Si l'utilisateur n'existe pas et qu' AutoCreate il est faux, la demande échoue.
-
Pour cet exemple, le nom de l'utilisateur de la base de données est
temp_creds_user
.
-
-
Autocreate – (Facultatif) Créez un utilisateur si le nom de l'utilisateur de la base de données n'existe pas.
-
Nom de base de données – (Facultatif) Le nom de la base de données à laquelle l'utilisateur est autorisé à se connecter. Si aucun nom de base de données n'est spécifié, l'utilisateur peut se connecter à n'importe quelle base de données de cluster.
-
Groupes de bases de données – (Facultatif) Une liste des groupes d'utilisateurs de bases de données existants. Lorsque la connexion réussit, l'utilisateur de base de données est ajouté aux groupes d'utilisateurs spécifiés. Si aucun groupe n'est spécifié, l'utilisateur dispose uniquement d'PUBLICautorisations. Les noms des groupes d'utilisateurs doivent correspondre aux ressources dbgroup ARNs spécifiées dans la IAM politique attachée à l'utilisateur ou au rôle.
-
Durée d'expiration – (Facultatif) La durée, en secondes, après laquelle les informations d'identification temporaires expirent. Vous pouvez spécifier une valeur comprise entre 900 secondes (15 minutes) et 3 600 secondes (60 minutes). Le durée par défaut est 900 secondes.
-
-
Amazon Redshift vérifie que l'utilisateur dispose de l'autorisation pour appeler l'opération
GetClusterCredentials
avec les ressources spécifiées. -
Amazon Redshift renvoie un mot de passe temporaire et le nom de l'utilisateur de la base de données.
L'exemple suivant utilise Amazon Redshift CLI pour générer des informations d'identification de base de données temporaires pour un utilisateur existant nommé.
temp_creds_user
aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --db-name exampledb --duration-seconds 3600
Le résultat est le suivant.
{ "DbUser": "IAM:temp_creds_user", "Expiration": "2016-12-08T21:12:53Z", "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg==" }
L'exemple suivant utilise Amazon Redshift CLI avec autocreate pour générer des informations d'identification de base de données temporaires pour un nouvel utilisateur et l'ajouter au groupe.
example_group
aws redshift get-cluster-credentials --cluster-identifier examplecluster --db-user temp_creds_user --auto-create --db-name exampledb --db-groups example_group --duration-seconds 3600
Le résultat est le suivant.
{ "DbUser": "IAMA:temp_creds_user:example_group", "Expiration": "2016-12-08T21:12:53Z", "DbPassword": "EXAMPLEjArE3hcnQj8zt4XQj9Xtma8oxYEM8OyxpDHwXVPyJYBDm/gqX2Eeaq6P3DgTzgPg==" }
-
Établissez une connexion d'authentification Secure Socket Layer (SSL) avec le cluster Amazon Redshift et envoyez une demande de connexion avec le nom d'utilisateur et le mot de passe figurant dans la
GetClusterCredentials
réponse. Incluez le préfixeIAM:
ouIAMA:
avec le nom d'utilisateur, par exemple,IAM:temp_creds_user
ouIAMA:temp_creds_user
.Important
Configurez votre SQL client en fonction des besoinsSSL. Sinon, si votre SQL client essaie automatiquement de se connecterSSL, il peut revenir à la case SSL « non » en cas d'échec. Dans ce cas, la première tentative de connexion peut échouer car les informations d'identification sont expirées ou non valides, puis une deuxième tentative de connexion échoue car la connexion ne l'est pasSSL. Si cela se produit, le premier message d'erreur peut être manqué. Pour plus d'informations sur la connexion à votre cluster à SSL l'aide deConfiguration des options de sécurité des connexions.
-
Si la connexion n'est pas utiliséeSSL, la tentative de connexion échoue.
-
Le cluster envoie une
authentication
demande au SQL client. -
Le SQL client envoie ensuite le mot de passe temporaire au cluster.
-
Si le mot de passe est valide et n'a pas expiré, le cluster établit la connexion.