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.
Configurez votre moteur de requête et vos autorisations pour créer 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ées. 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 les exigences générales en matière d'autorisations à remplir, voirConfigurer des autorisations pour un utilisateur ou un rôle afin de créer et de gérer des bases de connaissances.
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 le sandboxing.
Les bases de connaissances Amazon Bedrock utilisent Amazon Redshift comme moteur de requêtes 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é et les utilise pour générer des requêtes SQL. Amazon Redshift est un service d'entrepôt de données qui utilise SQL pour analyser des données structurées dans des entrepôts de données, des bases de données et des lacs de données.
Création du moteur de requêtes Amazon Redshift
Vous pouvez utiliser Amazon Redshift Serverless ou Amazon Redshift Provisioned 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ête, vous pouvez ignorer cette condition préalable. Sinon, effectuez les étapes suivantes pour configurer votre moteur de requêtes Amazon Redshift provisioned ou Amazon Redshift Serverless :
Pour configurer un moteur de requêtes dans Amazon Redshift, provisionné
-
Suivez la procédure décrite à l'étape 1 : créer un exemple de cluster Amazon Redshift dans le guide de démarrage Amazon Redshift.
-
Notez l'ID du cluster.
-
(Facultatif) Pour plus d'informations sur les clusters provisionnés par Amazon Redshift, consultez la section relative aux clusters provisionnés Amazon Redshift dans le guide de gestion Amazon Redshift.
Pour configurer un moteur de requêtes dans Amazon Redshift Serverless
-
Suivez uniquement la procédure de configuration décrite dans Création d'un entrepôt de données avec Amazon Redshift Serverless dans le guide de démarrage 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 sans serveur Amazon Redshift, consultez la section Groupes de travail et espaces de noms dans le guide de gestion Amazon Redshift.
Configurer les autorisations du moteur de requêtes Amazon Redshift
En fonction du moteur de requête 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 qui peuvent être utilisées pour les différents moteurs de requête :
Méthode d'authentification | Amazon Redshift provisionné | Amazon Redshift sans serveur |
---|---|---|
IAM |
![]() |
![]() |
Nom d'utilisateur de base |
![]() |
![]() |
AWS Secrets Manager |
![]() |
![]() |
Amazon Bedrock Knowledge Bases utilise un rôle de service pour connecter les bases de connaissances aux magasins de données structurés, récupérer les données de ces magasins de données et générer des requêtes SQL en fonction des requêtes des utilisateurs et de la structure des magasins de données.
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 de la section Créer un rôle pour déléguer des autorisations à un Service AWS et associer la relation de confiance définie dansRelation d'approbation.
Ajoutez ensuite des autorisations pour 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 qui s'applique à votre cas d'utilisation :
Associez 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 à l'aide de celui-ci :
Vous devez également ajouter des autorisations pour permettre à votre rôle de service de s'authentifier auprès du moteur de requête. Développez une section pour voir les autorisations associées à cette méthode.
Les autorisations à joindre dépendent de votre méthode d'authentification. Développez une section pour voir les autorisations associées à une méthode.
Autoriser le rôle de service de base de connaissances à accéder à votre banque 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ête, 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 base |
![]() |
![]() |
AWS Secrets Manager |
![]() |
![]() |
Pour savoir comment configurer des autorisations pour votre rôle de service Amazon Bedrock Knowledge Bases afin 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 utilisé par 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 l'éditeur de requêtes Amazon Redshift 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 que vous synchronisez votre magasin de données avant de procéder à cette étape, l'utilisateur sera créé pour vous, mais la synchronisation échouera car l'utilisateur n'a pas obtenu l'autorisation d'accéder à votre magasin de données. Vous devez effectuer l'étape suivante avant de procéder à la synchronisation.
-
Accordez à une identité l'autorisation de récupérer des informations de votre base de données en exécutant la commande GRANT.
Important
N'accordez
CREATE
pas ou n'DELETE
accédez pas.UPDATE
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 TABLES
spécifiques par la notation suivante :.${schemaName}
${tableName}
Pour plus d'informations sur cette notation, consultez la section Objets de requête sur Requêtes entre bases de données. -
Si vous avez créé un nouveau schéma dans la base de données Redshift, exécutez la commande suivante pour accorder des autorisations d'identité 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 que vous synchronisez votre magasin de données avant de procéder à cette étape, l'utilisateur sera créé pour vous, mais la synchronisation échouera car l'utilisateur n'a pas obtenu l'autorisation d'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
CREATE
pas ou n'DELETE
accédez pas.UPDATE
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 à la AWS Management Console console Lake Formation et ouvrez-la à l'adresse https://console.aws.amazon.com/lakeformation/
. -
Sélectionnez Autorisations relatives aux données dans le volet de navigation de gauche.
-
Accordez des autorisations au rôle de service que vous utilisez pour les bases de connaissances Amazon Bedrock.
-
Accordez les autorisations Describe et Select pour vos bases de données et vos tables.
-
-
Selon la source de données dans laquelle vous utilisez AWS Glue Data Catalog, vous devrez peut-être ajouter des autorisations pour accéder à cette source de données (pour plus d'informations, voir AWS Glue Dépendance par rapport à d'autres Services AWS). Par exemple, si votre source de données se trouve dans un emplacement Amazon S3, vous devez ajouter la déclaration 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" }