Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración del motor de consultas y los permisos para crear una base de conocimiento con un almacén de datos estructurados
En este tema se describen los permisos que necesita para conectar su base de conocimiento a un almacén de datos estructurados. Si planea conectar una base de conocimiento de Amazon Bedrock a un almacén de datos estructurados, debe cumplir los requisitos previos. Para conocer los requisitos generales de permisos que deben cumplirse, consulte Configuración de los permisos de un usuario o rol para crear y administrar bases de conocimiento.
importante
La ejecución de consultas SQL arbitrarias puede suponer un riesgo de seguridad para cualquier Text-to-SQL aplicación. Le recomendamos que tome las precauciones necesarias, como utilizar roles restringidos, bases de datos de solo lectura y entornos de pruebas.
Bases de conocimiento de Amazon Bedrock utiliza Amazon Redshift como el motor de consultas para consultar el almacén de datos. Un motor de consultas accede a los metadatos de un almacén de datos estructurados y los utiliza para ayudar a generar consultas SQL. Amazon Redshift es un servicio de almacén de datos que usa SQL para analizar datos estructurados en almacenes de datos, bases de datos y lagos de datos.
Creación del motor de consultas de Amazon Redshift
Puede usar Amazon Redshift sin servidor o Amazon Redshift aprovisionado, según su caso de uso y conectarse a grupos de trabajo o clústeres para el almacén de datos. Los datos subyacentes que el motor Amazon Redshift puede consultar pueden ser datos almacenados de forma nativa en clústeres de Amazon Redshift o datos ubicados de forma predeterminada AWS Glue Data Catalog (como en Amazon S3, entre otros).
Puede omitir este requisito previo si ya ha creado un motor de consultas. De lo contrario, realice los siguientes pasos para configurar su motor de consultas de Amazon Redshift aprovisionado o Amazon Redshift sin servidor:
Cómo configurar un motor de consultas en Amazon Redshift aprovisionado
-
Siga el procedimiento de Paso 1: creación de un clúster de Amazon Redshift de ejemplo de la Guía de introducción a Amazon Redshift.
-
Anote el ID del clúster.
-
(Opcional) Para obtener más información acerca de los clústeres aprovisionados de Amazon Redshift, consulte Clústeres aprovisionados de Amazon Redshift en la Guía de administración de Amazon Redshift.
Cómo configurar un motor de consultas en Amazon Redshift sin servidor
-
Siga únicamente el procedimiento de configuración que se describe en Creación de un almacén de datos con Amazon Redshift sin servidor de la Guía de introducción a Amazon Redshift y configúrelo con los ajustes predeterminados.
-
Anote el ARN del grupo de trabajo.
-
(Opcional) Para obtener más información sobre los grupos de trabajo de Amazon Redshift sin servidor, consulte Grupos de trabajo y espacios de nombres en la Guía de administración de Amazon Redshift.
Configuración de los permisos del motor de consultas de Amazon Redshift
En función del motor de consultas de Amazon Redshift que elija, puede configurar determinados permisos. Los permisos que configure dependen del método de autenticación. En la siguiente tabla se muestran los métodos de autenticación que se pueden usar para los distintos motores de consultas:
| Método de autenticación | Amazon Redshift aprovisionado | Amazon Redshift sin servidor |
|---|---|---|
| IAM |
|
|
| Nombre de usuario de la base de datos |
|
|
| AWS Secrets Manager |
|
|
Bases de conocimiento de Amazon Bedrock utiliza un rol de servicio para conectar las bases de conocimiento con los almacenes de datos estructurados, recuperar datos de estos almacenes de datos y generar consultas SQL basadas en las consultas de los usuarios y la estructura de los almacenes de datos.
nota
Si piensa utilizar el Consola de administración de AWS para crear una base de conocimientos, puede omitir este requisito previo. La consola creará un rol de servicio de Bases de conocimiento de Amazon Bedrock con los permisos adecuados.
Para crear un rol de servicio de IAM personalizado con los permisos adecuados, siga los pasos que se indican en Creación de un rol para delegar permisos a un Servicio de AWS y asocie la relación de confianza definida en Relación de confianza.
A continuación, añada permisos para que su base de conocimiento pueda acceder al motor de consultas y a las bases de datos de Amazon Redshift. Amplíe la sección que se corresponda con su caso de uso:
Asocie la siguiente política a su rol de servicio personalizado para que pueda acceder a sus datos y generar consultas con ellos:
También debe añadir permisos para permitir que su rol de servicio se autentique en el motor de consultas. Amplíe una sección para ver los permisos de ese método.
Los permisos que se pueden asociar dependen del método de autenticación. Amplíe una sección para ver los permisos de ese método.
Autorización para que el rol de servicio de la base de conocimiento acceda a su almacén de datos
Asegúrese de que sus datos estén almacenados en uno de los siguientes almacenes de datos estructurados compatibles:
Amazon Redshift
AWS Glue Data Catalog(AWS Lake Formation)
En la siguiente tabla se resumen los métodos de autenticación disponibles para el motor de consultas, en función del almacén de datos:
| Método de autenticación | Amazon Redshift | AWS Glue Data Catalog(AWS Lake Formation) |
|---|---|---|
| IAM |
|
|
| Nombre de usuario de la base de datos |
|
|
| AWS Secrets Manager |
|
|
Para obtener información sobre cómo configurar los permisos para que su rol de servicio de Bases de conocimiento de Amazon Bedrock acceda al almacén de datos y genere consultas basadas en dicho almacén, amplíe la sección correspondiente al servicio en el que se encuentra su almacén de datos:
Para conceder a su rol de servicio de Bases de conocimiento de Amazon Bedrock acceso a su base de datos de Amazon Redshift, utilice el editor de consultas v2 de Amazon Redshift y ejecute los siguientes comandos SQL:
-
(Si se autentica con IAM y aún no se ha creado un usuario para la base de datos) Ejecute el siguiente comando, que utiliza CREATE USER para crear un usuario de base de datos y permitir que se autentique a través de IAM, sustituyéndolo
${service-role}por el nombre del rol de servicio personalizado de Amazon Bedrock Knowledge Bases que creó:CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;importante
Si utiliza el rol de servicio de Bases de conocimiento de Amazon Bedrock creado para usted en la consola y, a continuación, sincroniza el almacén de datos antes de realizar este paso, se creará el usuario automáticamente, pero la sincronización fallará porque no se le han concedido permisos para acceder a su almacén de datos. Debe realizar el siguiente paso antes de la sincronización.
-
Otorgue permisos de identidad para recuperar información de su base de datos ejecutando el comando GRANT.
importante
No conceda acceso
CREATE,UPDATEniDELETE. La concesión de estas acciones puede provocar una modificación no intencionada de sus datos.Para tener un control más preciso de las tablas a las que se puede acceder, puede sustituir los nombres
ALL TABLESespecíficos de las tablas por la siguiente notación:.${schemaName}${tableName}Para obtener más información sobre esta notación, consulte la sección Objetos de consulta en Consultas entre bases de datos. -
Si ha creado un esquema nuevo en la base de datos de Redshift, ejecute el siguiente comando para conceder permisos de identidad para el nuevo esquema.
GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
Para conceder a su función de servicio de Amazon Bedrock Knowledge Bases acceso a su almacén de AWS Glue Data Catalog datos, utilice el editor de consultas Amazon Redshift v2 y ejecute los siguientes comandos SQL:
-
Ejecute el siguiente comando, que usa CREATE USER para crear un usuario de base de datos y permitir que se autentique a través de IAM, sustituyéndolo
${service-role}por el nombre del rol de servicio personalizado de Amazon Bedrock Knowledge Bases que creó:CREATE USER "IAMR:${service-role}" WITH PASSWORD DISABLE;importante
Si utiliza el rol de servicio de Bases de conocimiento de Amazon Bedrock creado para usted en la consola y, a continuación, sincroniza el almacén de datos antes de realizar este paso, se creará el usuario automáticamente, pero la sincronización fallará porque no se le han concedido permisos para acceder a su almacén de datos. Debe realizar el siguiente paso antes de la sincronización.
-
Otorgue permisos de rol de servicio para recuperar información de su base de datos ejecutando el comando GRANT:
GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:${serviceRole}";importante
No conceda acceso
CREATE,UPDATEniDELETE. La concesión de estas acciones puede provocar una modificación no intencionada de sus datos. -
Para permitir el acceso a sus AWS Glue Data Catalog bases de datos, asocie los siguientes permisos a la función de servicio:
-
Otorgue permisos a su función de servicio de la siguiente manera AWS Lake Formation (para obtener más información sobre Lake Formation y su relación con Amazon Redshift, consulte Fuentes de datos de Redshift):
-
Inicie sesión en y abra la Consola de administración de AWS consola de Lake Formation en https://console.aws.amazon.com/lakeformation/
. -
En el panel de navegación izquierdo, seleccione Permisos de datos.
-
Conceda permisos al rol de servicio que está utilizando para Bases de conocimiento de Amazon Bedrock.
-
Conceda los permisos Describe y Select para sus bases de datos y tablas.
-
-
En función de la fuente de datos que utiliceAWS Glue Data Catalog, es posible que necesite añadir permisos para acceder a esa fuente de datos (para obtener más información, consulte la sección sobre la AWS Glue dependencia de otras fuentesServicios de AWS). Por ejemplo, si su origen de datos se encuentra en una ubicación de Amazon S3, tendrá que añadir la siguiente instrucción a la política anterior.
{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${BucketName}", "arn:aws:s3:::${BucketName}/*" ] } -
(Opcional) Si lo utiliza AWS KMS para cifrar los datos en Amazon S3 oAWS Glue Data Catalog, entonces necesita añadir permisos al rol para descifrar los datos de la clave de KMS.
{ "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${Account}:key/{KmsId}", "arn:aws:kms:${Region}:${Account}:key/{KmsId}" ], "Effect": "Allow" }