Interrogation d’une base de données à l’aide de l’éditeur de requête - 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.

Interrogation d’une base de données à l’aide de l’éditeur de requête

Utiliser l’éditeur de requête est la façon la plus simple d’exécuter des requêtes sur les bases de données hébergées par votre cluster Amazon Redshift. Après avoir créé votre cluster, vous pouvez exécuter immédiatement des requêtes en utilisant l’éditeur de requête dans la console Amazon Redshift.

Note

Vous ne pouvez pas interroger des données dans Amazon Redshift sans serveur à l’aide de cet éditeur de requêtes original. Utilisez plutôt l’Éditeur de requêtes v2 Amazon Redshift.

En février 2021, un éditeur de requête mis à jour a été déployé et les autorisations d’utilisation de l’éditeur de requête ont été modifiées. Le nouvel éditeur de requêtes utilise l’API Amazon Redshift Data pour exécuter des requêtes. La AmazonRedshiftQueryEditor politique, qui est une politique AWS gérée AWS Identity and Access Management (IAM), a été mise à jour pour inclure les autorisations nécessaires. Si vous avez une politique IAM personnalisée, assurez-vous de la mettre à jour. Utilisez AmazonRedshiftQueryEditor comme guide. Les modifications apportées à AmazonRedshiftQueryEditor sont les suivantes :

  • L’autorisation de gérer les résultats de l’instruction de l’éditeur de requête nécessite l’utilisateur propriétaire de l’instruction.

  • L’autorisation d’utiliser Secrets Manager pour se connecter à une base de données a été ajoutée.

Pour plus d'informations, consultez Autorisations requises pour utiliser l’éditeur de requêtes de la console Amazon Redshift.

Lorsque vous vous connectez à votre cluster à partir du nouvel éditeur de requêtes, vous pouvez utiliser l’une des deux méthodes d’authentification, comme décrit dans Connexion à l’éditeur de requête.

L’éditeur de requête vous permet d’effectuer les opérations suivantes :

  • Exécutez des requêtes d’instruction SQL unique.

  • Téléchargez des jeux de résultats pouvant atteindre 100 Mo dans un fichier de valeurs séparées par des virgules (CSV).

  • Enregistrez les requêtes dans le but de les réutiliser. Vous ne pouvez pas enregistrer les requêtes dans les régions Europe (Paris), Asie-Pacifique (Osaka), Asie-Pacifique (Hong Kong) ou Moyen-Orient (Bahreïn).

  • Affichez les détails d’exécution de requête pour les tables définies par l’utilisateur.

  • Planifiez l’exécution des requêtes à un moment ultérieur.

  • Affichez un historique des requêtes que vous avez créées dans l’éditeur de requêtes.

  • Exécutez des requêtes sur des clusters à l’aide du routage VPC amélioré.

Considérations relatives à l’éditeur de requête

Considérez ce qui suit sur l’utilisation des requêtes lorsque vous utilisez l’éditeur de requête :

  • La durée maximale d’une requête est de 24 heures.

  • La taille maximale du résultat de requête est de 100 Mo. Si un appel renvoie plus de 100 Mo de données de réponse, l’appel est arrêté.

  • La durée maximale de conservation des résultats de la requête est de 24 heures.

  • La taille maximale de l’instruction de requête est de 100 Ko.

  • Le cluster doit être créé dans un cloud privé virtuel (VPC) basé sur le service Amazon VPC.

  • Vous ne pouvez pas utiliser les transactions dans l’éditeur de requête. Pour plus d’informations sur les transactions, consultez BEGIN dans le Manuel du développeur de base de données Amazon Redshift.

  • Vous pouvez enregistrer une requête de 3 000 caractères maximum.

Activation de l’accès à l’éditeur de requête

Pour accéder à l’éditeur de requête, vous avez besoin d’une autorisation. Pour activer l'accès, nous vous recommandons d'associer les politiques AmazonRedshiftQueryEditor et les politiques AmazonRedshiftReadOnlyAccess AWS gérées pour les autorisations IAM au rôle IAM que vous utilisez pour accéder à votre cluster. Vous pouvez ensuite attribuer le rôle à un utilisateur. Vous pouvez attacher des politiques IAM à l’aide de la console IAM à l’adresse https://console.aws.amazon.com/iam/. Pour plus d’informations, consultez Utilisation des politiques basées sur l’identité (politiques IAM) pour Amazon Redshift.

Si vous avez déjà créé un utilisateur pour accéder à Amazon Redshift, vous pouvez associer AmazonRedshiftQueryEditor les politiques AmazonRedshiftReadOnlyAccess AWS gérées à cet utilisateur au moyen d'un rôle attribué. Si vous n’avez pas encore créé d’utilisateur, créez-en un et attachez la politique au rôle IAM et assignez le rôle à l’utilisateur.

La politique AWS gérée AmazonRedshiftQueryEditor autorise l'action quiredshift:GetClusterCredentials, par défaut, donne accès à la base de données aux superutilisateurs. Pour limiter l’accès, vous pouvez effectuer l’une des actions suivantes :

  • Créez une politique personnalisée qui autorise l’appelant redshift:GetClusterCredentials et limite la ressource à une valeur donnée pour DbUser.

  • Ajoutez une politique qui refuse l’autorisation redshift:GetClusterCredentials. Tout utilisateur avec un rôle associé à cette autorisation doit se connecter à l’éditeur de requêtes avec des informations d’identification temporaires. Cette politique de refus illustre cet exemple.

    { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "redshift:GetClusterCredentials", "Resource": "*" } }

Pour plus d’informations sur la création d’un rôle avec les autorisations requises, consultez Création d'un rôle IAM avec des autorisations d'appel GetClusterCredentials.

Tout utilisateur autorisé à accéder à l'éditeur de requêtes Amazon Redshift par le biais de la politique AWS gérée AmazonRedshiftQueryEditor peut répertorier tous les secrets. Toutefois, cette politique autorise la création et la récupération de secrets uniquement marqués avec la clé RedshiftQueryOwner et la valeur ${aws:userid}. Si vous créez la clé à partir de l’éditeur de requête Amazon Redshift, la clé est automatiquement balisée. Pour utiliser un secret qui n’a pas été créé avec l’éditeur de requête Amazon Redshift, vérifiez que le secret est labélisé avec la clé RedshiftQueryOwner et une valeur de votre identifiant utilisateur IAM unique, par exemple AIDACKCEVSQ6C2EXAMPLE.

Les autorisations requises pour utiliser l'éditeur de requêtes Amazon Redshift sont AmazonRedshiftQueryEditoret. AmazonRedshiftReadOnlyAccess

Pour activer l’accès, ajoutez des autorisations à vos utilisateurs, groupes ou rôles :

Connexion à l’éditeur de requête

Lorsque vous vous connectez à un cluster avec l’éditeur de requêtes, vous utilisez l’une des méthodes d’authentification suivantes. Chaque méthode nécessite une combinaison différente d’entrées à partir de la console Amazon Redshift.

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.

Informations d’identification temporaires

Avec cette méthode, fournissez les valeurs de votre base de données et de votre utilisateur de base de données.

Stockage des identifiants de base de données dans AWS Secrets Manager

Lorsque vous appelez l’éditeur de requêtes, vous pouvez utiliser un secret dans AWS Secrets Manager pour transmettre les informations d’identification du cluster. Pour ce faire, vous devez spécifier le nom du secret ou son Amazon Resource Name (ARN).

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 .

Pour sauvegarder vos informations d'identification dans un secret pour un cluster Amazon Redshift
  1. AWS Secrets Manager À utiliser pour créer un secret contenant les informations d'identification du cluster. Lorsque vous choisissez Store a new secret (Sauvegarder un nouveau secret), sélectionnez Credentials for Redshift cluster (Informations d'identification pour le cluster Redshift). Stockez une valeur pour User name (Nom d’utilisateur) (l’utilisateur de la base de données), Password (Mot de passe) et DB cluster (Cluster de la base de données) (identifiant du cluster) dans votre secret.

    Pour obtenir des instructions, consultez Création d’un secret basique dans le Guide de l’utilisateur AWS Secrets Manager .

  2. Utilisez la AWS Secrets Manager console pour afficher les détails du secret que vous avez créé ou exécutez la aws secretsmanager describe-secret AWS CLI commande.

Si vous avez choisi d'utiliser les informations d'identification d'administrateur de votre cluster AWS Secrets Manager, vous pouvez vous connecter à la base de données à l'aide des informations d'identification d'administrateur stockées dans le Gestionnaire de Secrets.

Utilisation de l’éditeur de requête

Dans l’exemple suivant, vous utilisez l’éditeur de requête pour effectuer les tâches suivantes :

  • Exécutez des commandes SQL.

  • Affichez les détails d’exécution de requête.

  • Enregistrez une requête.

  • Téléchargez un jeu de résultats de requête.

Pour terminer l’exemple suivant, vous avez besoin d’un cluster Amazon Redshift existant. Si vous n’avez pas de cluster, créez-en un en suivant la procédure décrite dans Création d’un cluster.

Pour utiliser l’éditeur de requête sur la console Amazon Redshift
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/redshiftv2/.

  2. Dans le menu de navigation, choisissez Éditeur de requête, puis connectez-vous à une base de données dans votre cluster.

  3. Pour Schéma, choisissez public pour créer une nouvelle table basée sur ce schéma.

  4. Entrez ce qui suit dans la fenêtre de l’éditeur de requête et choisissez Exécuter pour créer une nouvelle table.

    create table shoes( shoetype varchar (10), color varchar(10));
  5. Choisissez Effacer.

  6. Entrez l’instruction suivante dans la fenêtre de l’éditeur de requête et choisissez Exécuter la requête pour ajouter des lignes dans la table.

    insert into shoes values ('loafers', 'brown'), ('sandals', 'black');
  7. Choisissez Effacer.

  8. Entrez la commande suivante dans la fenêtre de l’éditeur de requête et choisissez Exécuter la requête pour interroger la nouvelle table.

    select * from shoes;

    La zone Résultats de la requête affiche les résultats.

    Type de chaussure Couleur

    sandals

    black

    loafers

    brown

  9. Choisissez Exécution pour afficher les détails de l’exécution.

  10. Choisissez Données, puis Exporter pour télécharger les résultats de la requête en tant que fichier.