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.
Configuration de votre moteur de requêtes et des autorisations nécessaires à la création d’une base de connaissances avec un magasin de données structuré
Cette rubrique décrit les autorisations dont vous avez besoin pour connecter votre base de connaissances à un magasin de données structuré. Si vous envisagez de connecter une base de connaissances Amazon Bedrock à un magasin de données structuré, vous devez remplir les conditions préalables. Pour découvrir les conditions générales relatives aux autorisations à remplir, consultez Configuration d’autorisations de création et de gestion de bases de connaissances pour un utilisateur ou un rôle.
Important
L'exécution de requêtes SQL arbitraires peut représenter un risque pour la sécurité de n'importe quelle Text-to-SQL application. Nous vous recommandons de prendre les précautions nécessaires, par exemple en utilisant des rôles restreints, des bases de données en lecture seule et des environnements de test (sandbox).
Amazon Bedrock Knowledge Bases utilise Amazon Redshift en tant que moteur de requête pour interroger votre magasin de données. Un moteur de requête accède aux métadonnées depuis un magasin de données structuré, puis ces métadonnées lui permettent de générer des requêtes SQL. Amazon Redshift est un service d’entrepôt de données qui analyse des données structurées provenant d’entrepôts de données, de bases de données et de lacs de données à l’aide d’SQL.
Création du moteur de requêtes Amazon Redshift
Vous pouvez utiliser Amazon Redshift sans serveur ou Amazon Redshift alloué selon votre cas d’utilisation, et vous connecter à des groupes de travail ou à des clusters pour votre entrepôt de données. Les données sous-jacentes que le moteur Amazon Redshift peut interroger peuvent être des données stockées de manière native dans des clusters Amazon Redshift ou des données situées sous la valeur par défaut AWS Glue Data Catalog (comme dans Amazon S3, entre autres).
Si vous avez déjà créé un moteur de requêtes, vous pouvez ignorer cette condition préalable. Sinon, procédez comme suit pour configurer votre moteur de requêtes Amazon Redshift alloué ou Amazon Redshift sans serveur :
Pour configurer un moteur de requêtes dans Amazon Redshift alloué
-
Suivez la procédure sous Étape 1 : création d’un exemple de cluster Amazon Redshift dans le Guide de démarrage d’Amazon Redshift.
-
Notez l’identifiant du cluster.
-
(Facultatif) Pour plus d’informations sur les clusters Amazon Redshift alloué, consultez Clusters Amazon Redshift alloué dans le Guide de gestion d’Amazon Redshift.
Pour configurer un moteur de requêtes dans Amazon Redshift sans serveur
-
Suivez uniquement la procédure de configuration sous Création d’un entrepôt de données avec Amazon Redshift sans serveur dans le Guide de démarrage d’Amazon Redshift et configurez-le avec les paramètres par défaut.
-
Notez l’ARN du groupe de travail.
-
(Facultatif) Pour plus d’informations sur les groupes de travail Amazon Redshift sans serveur, consultez Groupes de travail et espaces de noms dans le Guide de gestion d’Amazon Redshift.
Configuration des autorisations du moteur de requêtes Amazon Redshift
En fonction du moteur de requêtes Amazon Redshift que vous choisissez, vous pouvez configurer certaines autorisations. Les autorisations que vous configurez dépendent de la méthode d’authentification. Le tableau suivant indique les méthodes d’authentification utilisables pour différents moteurs de requêtes :
| Méthode d’authentification | Amazon Redshift alloué | Amazon Redshift sans serveur |
|---|---|---|
| IAM |
|
|
| Nom d’utilisateur de la base de données |
|
|
| AWS Secrets Manager |
|
|
Amazon Bedrock Knowledge Bases connecte les bases de connaissances aux magasins de données structurés, récupère les données de ces magasins de données et génère des requêtes SQL en fonction des requêtes utilisateur et de la structure des magasins de données à l’aide d’un rôle de service.
Note
Si vous envisagez d'utiliser le AWS Management Console pour créer une base de connaissances, vous pouvez ignorer cette condition préalable. La console créera un rôle de service Amazon Bedrock Knowledge Bases avec les autorisations appropriées.
Pour créer un rôle de service IAM personnalisé avec les autorisations appropriées, suivez les étapes sous Création d’un rôle pour la délégation d’autorisations à un Service AWS et attachez la relation de confiance définie dans Relation d’approbation.
Ajoutez ensuite des autorisations afin que votre base de connaissances puisse accéder à votre moteur de requêtes et à vos bases de données Amazon Redshift. Développez la section s’appliquant à votre cas d’utilisation :
Attachez la politique suivante à votre rôle de service personnalisé pour lui permettre d’accéder à vos données et de générer des requêtes à leur aide :
Vous devez également ajouter des autorisations pour permettre à votre rôle de service de s’authentifier auprès du moteur de requêtes. Développez une section pour afficher les autorisations associées à cette méthode.
Les autorisations à attacher dépendent de votre méthode d’authentification. Développez une section pour afficher les autorisations associées à une méthode.
Autoriser le rôle de service de base de connaissances à accéder à votre magasin de données
Assurez-vous que vos données sont stockées dans l’un des magasins de données structurés pris en charge suivants :
Amazon Redshift
AWS Glue Data Catalog(AWS Lake Formation)
Le tableau suivant récapitule les méthodes d’authentification disponibles pour le moteur de requêtes, en fonction de votre magasin de données :
| Méthode d’authentification | Amazon Redshift | AWS Glue Data Catalog(AWS Lake Formation) |
|---|---|---|
| IAM |
|
|
| Nom d’utilisateur de la base de données |
|
|
| AWS Secrets Manager |
|
|
Pour découvrir comment configurer des autorisations afin de permettre à votre rôle de service Amazon Bedrock Knowledge Bases d’accéder à votre magasin de données et de générer des requêtes en fonction de celui-ci, développez la section correspondant au service dans lequel se trouve votre magasin de données :
Pour accorder à votre rôle de service Amazon Bedrock Knowledge Bases l’accès à votre base de données Amazon Redshift, utilisez Amazon Redshift Query Editor v2 et exécutez les commandes SQL suivantes :
-
(Si vous vous authentifiez avec IAM et qu'aucun utilisateur n'a encore été créé pour votre base de données) Exécutez la commande suivante, qui utilise CREATE USER pour créer un utilisateur de base de données et l'autoriser à s'authentifier via IAM, en le
${service-role}remplaçant par le nom du rôle de service Amazon Bedrock Knowledge Bases personnalisé que vous avez créé :CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;Important
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis synchronisez votre magasin de données avant d’effectuer cette étape, l’utilisateur est créé pour vous, mais la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Vous devez effectuer l’étape suivante avant de procéder à la synchronisation.
-
Accordez à une identité les autorisations nécessaires pour récupérer des informations de votre base de données en exécutant la commande GRANT.
Important
N’accordez aucun accès
CREATE,UPDATEniDELETE. L’octroi de ces actions peut entraîner une modification involontaire de vos données.Pour un contrôle plus précis des tables accessibles, vous pouvez remplacer des noms de tables
ALL TABLESspécifiques par la notation suivante :.${schemaName}${tableName}Pour plus d’informations sur cette notation, consultez la section Objets de requête sous Requêtes entre bases de données. -
Si vous avez créé un schéma dans la base de données Redshift, exécutez la commande suivante pour accorder à une identité les autorisations nécessaires sur le nouveau schéma.
GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
Pour accorder à votre rôle de service Amazon Bedrock Knowledge Bases l'accès à votre magasin de AWS Glue Data Catalog données, utilisez l'éditeur de requêtes Amazon Redshift v2 et exécutez les commandes SQL suivantes :
-
Exécutez la commande suivante, qui utilise CREATE USER pour créer un utilisateur de base de données et l'autoriser à s'authentifier via IAM, en
${service-role}remplaçant par le nom du rôle de service Amazon Bedrock Knowledge Bases personnalisé que vous avez créé :CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;Important
Si vous utilisez le rôle de service Amazon Bedrock Knowledge Bases créé pour vous dans la console, puis synchronisez votre magasin de données avant d’effectuer cette étape, l’utilisateur est créé pour vous, mais la synchronisation échoue, car l’utilisateur n’a pas obtenu les autorisations nécessaires pour accéder à votre magasin de données. Vous devez effectuer l’étape suivante avant de procéder à la synchronisation.
-
Accordez au rôle de service les autorisations nécessaires pour récupérer des informations de votre base de données en exécutant la commande GRANT suivante :
GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";Important
N’accordez aucun accès
CREATE,UPDATEniDELETE. L’octroi de ces actions peut entraîner une modification involontaire de vos données. -
Pour autoriser l'accès à vos AWS Glue Data Catalog bases de données, associez les autorisations suivantes au rôle de service :
-
Accordez des autorisations à votre rôle de service via AWS Lake Formation (pour en savoir plus sur Lake Formation et sa relation avec Amazon Redshift, voir Sources de données pour Redshift) en procédant comme suit :
-
Connectez-vous au et ouvrez AWS Management Console la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/
. -
Sélectionnez Autorisations de données dans le volet de navigation gauche.
-
Accordez des autorisations au rôle de service que vous utilisez pour Amazon Bedrock Knowledge Bases.
-
Accordez les autorisations Describe et Select pour vos bases de données et vos tables.
-
-
Selon la source de données dans laquelle vous utilisezAWS Glue Data Catalog, vous devrez peut-être ajouter des autorisations pour accéder à cette source de données (pour plus d'informations, voir AWS GlueDépendance par rapport à d'autres Services AWS). Par exemple, si votre source de données se trouve à un emplacement Amazon S3, vous devez ajouter l’instruction suivante à la politique ci-dessus.
{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${BucketName}", "arn:aws:s3:::${BucketName}/*" ] } -
(Facultatif) Si vous cryptez les données dans Amazon S3 ou AWS Glue Data Catalog si vous devez ajouter des autorisations au rôle pour déchiffrer les données de la clé KMS. AWS KMS
{ "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${Account}:key/{KmsId}", "arn:aws:kms:${Region}:${Account}:key/{KmsId}" ], "Effect": "Allow" }