Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Richten Sie Ihre Abfrage-Engine und Ihre Berechtigungen für die Erstellung einer Wissensdatenbank mit strukturiertem Datenspeicher ein
In diesem Thema werden die Berechtigungen beschrieben, die Sie benötigen, um Ihre Wissensdatenbank mit einem strukturierten Datenspeicher zu verbinden. Wenn Sie planen, eine Amazon Bedrock-Wissensdatenbank mit einem strukturierten Datenspeicher zu verbinden, müssen Sie die Voraussetzungen erfüllen. Informationen zu den allgemeinen Genehmigungsanforderungen, die erfüllt werden müssen, finden Sie unterRichten Sie Berechtigungen für einen Benutzer oder eine Rolle ein, um Wissensdatenbanken zu erstellen und zu verwalten.
Wichtig
Die Ausführung beliebiger SQL-Abfragen kann für jede Text-to-SQL Anwendung ein Sicherheitsrisiko darstellen. Es wird empfohlen, bei Bedarf Vorsichtsmaßnahmen zu treffen, z. B. eingeschränkte Rollen, schreibgeschützte Datenbanken und Sandboxing zu verwenden.
Amazon Bedrock Knowledge Bases verwendet Amazon Redshift als Abfrage-Engine für die Abfrage Ihres Datenspeichers. Eine Abfrage-Engine greift auf Metadaten aus einem strukturierten Datenspeicher zu und verwendet die Metadaten, um SQL-Abfragen zu generieren. Amazon Redshift ist ein Data Warehouse-Service, der SQL verwendet, um strukturierte Daten in Data Warehouses, Datenbanken und Data Lakes zu analysieren.
Amazon Redshift Redshift-Abfrage-Engine erstellen
Sie können je nach Anwendungsfall Amazon Redshift Serverless oder Amazon Redshift Provisioned verwenden und eine Verbindung zu Arbeitsgruppen oder Clustern für Ihr Data Warehouse herstellen. Bei den zugrunde liegenden Daten, die die Amazon Redshift Redshift-Engine abfragen kann, kann es sich um Daten handeln, die nativ in Amazon Redshift Redshift-Clustern gespeichert sind, oder um Daten, die sich unter dem Standard befinden AWS Glue Data Catalog (z. B. in Amazon S3).
Wenn Sie bereits eine Abfrage-Engine erstellt haben, können Sie diese Voraussetzung überspringen. Andernfalls führen Sie die folgenden Schritte aus, um Ihre von Amazon Redshift bereitgestellte oder Amazon Redshift Serverless Abfrage-Engine einzurichten:
Um eine Abfrage-Engine in Amazon Redshift einzurichten, bereitgestellt
-
Folgen Sie dem Verfahren in Schritt 1: Erstellen eines Amazon Redshift-Beispiel-Clusters im Amazon Redshift Getting Started Guide.
-
Notieren Sie sich die Cluster-ID.
-
(Optional) Weitere Informationen zu von Amazon Redshift bereitgestellten Clustern finden Sie unter Bereitgestellte Amazon Redshift-Cluster im Amazon Redshift Management Guide.
So richten Sie eine Abfrage-Engine in Amazon Redshift Serverless ein
-
Folgen Sie nur dem Einrichtungsverfahren unter Creating a Data Warehouse with Amazon Redshift Serverless im Amazon Redshift Getting Started Guide und konfigurieren Sie es mit Standardeinstellungen.
-
Notieren Sie sich den ARN der Arbeitsgruppe.
-
(Optional) Weitere Informationen zu Amazon Redshift Serverless-Arbeitsgruppen finden Sie unter Arbeitsgruppen und Namespaces im Amazon Redshift Management Guide.
Berechtigungen für die Amazon Redshift Redshift-Abfrage-Engine konfigurieren
Abhängig von der Amazon Redshift Redshift-Abfrage-Engine können Sie bestimmte Berechtigungen konfigurieren. Die von Ihnen konfigurierten Berechtigungen hängen von der Authentifizierungsmethode ab. Die folgende Tabelle zeigt die Authentifizierungsmethoden, die für verschiedene Abfrage-Engines verwendet werden können:
Authentifizierungsmethode | Amazon Redshift bereitgestellt | Amazon Redshift Serverless |
---|---|---|
IAM |
![]() |
![]() |
Datenbank-Benutzername |
![]() |
![]() |
AWS Secrets Manager |
![]() |
![]() |
Amazon Bedrock Knowledge Bases verwendet eine Service-Rolle, um Wissensdatenbanken mit strukturierten Datenspeichern zu verbinden, Daten aus diesen Datenspeichern abzurufen und SQL-Abfragen auf der Grundlage von Benutzeranfragen und der Struktur der Datenspeicher zu generieren.
Anmerkung
Wenn Sie planen, mit dem eine Wissensdatenbank AWS Management Console zu erstellen, können Sie diese Voraussetzung überspringen. Die Konsole erstellt eine Amazon Bedrock Knowledge Bases-Servicerolle mit den entsprechenden Berechtigungen.
Um eine benutzerdefinierte IAM-Servicerolle mit den entsprechenden Berechtigungen zu erstellen, folgen Sie den Schritten unter Erstellen Sie eine Rolle, um Berechtigungen an eine zu delegieren AWS-Service und die unter definierte Vertrauensstellung anzuhängen. Vertrauensstellung
Fügen Sie anschließend Berechtigungen für Ihre Wissensdatenbank hinzu, um auf Ihre Amazon Redshift Redshift-Abfrage-Engine und Datenbanken zuzugreifen. Erweitern Sie den Abschnitt, der für Ihren Anwendungsfall gilt:
Fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie hinzu, damit sie auf Ihre Daten zugreifen und damit Abfragen generieren kann:
Sie müssen außerdem Berechtigungen hinzufügen, damit sich Ihre Servicerolle bei der Abfrage-Engine authentifizieren kann. Erweitern Sie einen Abschnitt, um die Berechtigungen für diese Methode zu sehen.
Die Berechtigungen zum Anhängen hängen hängen von Ihrer Authentifizierungsmethode ab. Erweitern Sie einen Abschnitt, um die Berechtigungen für eine Methode zu sehen.
Erlauben Sie der Wissensdatenbank-Dienstrolle den Zugriff auf Ihren Datenspeicher
Stellen Sie sicher, dass Ihre Daten in einem der folgenden unterstützten strukturierten Datenspeicher gespeichert sind:
Amazon Redshift
AWS Glue Data Catalog (AWS Lake Formation)
In der folgenden Tabelle sind die Authentifizierungsmethoden zusammengefasst, die je nach Datenspeicher für die Abfrage-Engine verfügbar sind:
Authentifizierungsmethode | Amazon Redshift | AWS Glue Data Catalog (AWS Lake Formation) |
---|---|---|
IAM |
![]() |
![]() |
Datenbank-Benutzername |
![]() |
![]() |
AWS Secrets Manager |
![]() |
![]() |
Um zu erfahren, wie Sie Berechtigungen für Ihre Amazon Bedrock Knowledge Bases-Servicerolle einrichten, um auf Ihren Datenspeicher zuzugreifen und darauf basierende Abfragen zu generieren, erweitern Sie den Abschnitt, der dem Service entspricht, in dem sich Ihr Datenspeicher befindet:
Um Ihrer Amazon Bedrock Knowledge Bases-Servicerolle Zugriff auf Ihre Amazon Redshift Redshift-Datenbank zu gewähren, verwenden Sie den Amazon Redshift Redshift-Abfrage-Editor v2 und führen Sie die folgenden SQL-Befehle aus:
-
(Wenn Sie sich mit IAM authentifizieren und noch kein Benutzer für Ihre Datenbank erstellt wurde) Führen Sie den folgenden Befehl aus, der CREATE USER verwendet, um einen Datenbankbenutzer zu erstellen und ihm die Authentifizierung über IAM zu ermöglichen, und
${service-role}
ersetzen Sie ihn durch den Namen der benutzerdefinierten Amazon Bedrock Knowledge Bases-Servicerolle, die Sie erstellt haben:CREATE USER "IAMR:
${service-role}
" WITH PASSWORD DISABLE;Wichtig
Wenn Sie die für Sie in der Konsole erstellte Amazon Bedrock Knowledge Bases-Servicerolle verwenden und dann Ihren Datenspeicher synchronisieren, bevor Sie diesen Schritt ausführen, wird der Benutzer für Sie erstellt, aber die Synchronisierung schlägt fehl, da dem Benutzer keine Zugriffsberechtigungen für Ihren Datenspeicher erteilt wurden. Vor der Synchronisierung müssen Sie den folgenden Schritt ausführen.
-
Erteilen Sie einer Identität Berechtigungen zum Abrufen von Informationen aus Ihrer Datenbank, indem Sie den Befehl GRANT ausführen.
Wichtig
Gewähren
CREATE
oderDELETE
greifen Sie nicht zu.UPDATE
Wenn Sie diese Aktionen gewähren, kann dies zu unbeabsichtigten Änderungen Ihrer Daten führen.Für eine genauere Kontrolle der Tabellen, auf die zugegriffen werden kann, können Sie
ALL TABLES
bestimmte Tabellennamen durch die folgende Schreibweise ersetzen:.${schemaName}
${tableName}
Weitere Informationen zu dieser Notation finden Sie im Abschnitt Abfrageobjekte unter Datenbankübergreifende Abfragen. -
Wenn Sie ein neues Schema in der Redshift-Datenbank erstellt haben, führen Sie den folgenden Befehl aus, um eine Identitätsberechtigung für das neue Schema zu erteilen.
GRANT USAGE ON SCHEMA ${schemaName} TO "IAMR:${serviceRole}";
Um Ihrer Amazon Bedrock Knowledge Bases-Servicerolle Zugriff auf Ihren AWS Glue Data Catalog Datenspeicher zu gewähren, verwenden Sie den Amazon Redshift Query Editor v2 und führen Sie die folgenden SQL-Befehle aus:
-
Führen Sie den folgenden Befehl aus, der CREATE USER verwendet, um einen Datenbankbenutzer zu erstellen und ihm die Authentifizierung über IAM zu ermöglichen.
${service-role}
Ersetzen Sie ihn durch den Namen der benutzerdefinierten Amazon Bedrock Knowledge Bases-Servicerolle, die Sie erstellt haben:CREATE USER "IAMR:
${service-role}
" WITH PASSWORD DISABLE;Wichtig
Wenn Sie die für Sie in der Konsole erstellte Amazon Bedrock Knowledge Bases-Servicerolle verwenden und dann Ihren Datenspeicher synchronisieren, bevor Sie diesen Schritt ausführen, wird der Benutzer für Sie erstellt, aber die Synchronisierung schlägt fehl, da dem Benutzer keine Zugriffsberechtigungen für Ihren Datenspeicher erteilt wurden. Vor der Synchronisierung müssen Sie den folgenden Schritt ausführen.
-
Erteilen Sie der Servicerolle Berechtigungen zum Abrufen von Informationen aus Ihrer Datenbank, indem Sie den folgenden GRANT-Befehl ausführen:
GRANT USAGE ON DATABASE awsdatacatalog TO "IAMR:
${serviceRole}
";Wichtig
Gewähren
CREATE
oderDELETE
greifen Sie nicht zu.UPDATE
Wenn Sie diese Aktionen gewähren, kann dies zu unbeabsichtigten Änderungen Ihrer Daten führen. -
Um den Zugriff auf Ihre AWS Glue Data Catalog Datenbanken zu ermöglichen, fügen Sie der Servicerolle die folgenden Berechtigungen zu:
-
Erteilen Sie Ihrer Servicerolle Berechtigungen über AWS Lake Formation (weitere Informationen zu Lake Formation und seiner Beziehung zu Amazon Redshift finden Sie unter Datenquellen für Redshift), indem Sie wie folgt vorgehen:
-
Melden Sie sich bei an AWS Management Console und öffnen Sie die Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/
. -
Wählen Sie im linken Navigationsbereich Datenberechtigungen aus.
-
Erteilen Sie der Servicerolle, die Sie für Amazon Bedrock Knowledge Bases verwenden, Berechtigungen.
-
Erteilen Sie Beschreib - und Auswahlberechtigungen für Ihre Datenbanken und Tabellen.
-
-
Abhängig von der Datenquelle, die Sie verwenden AWS Glue Data Catalog, müssen Sie möglicherweise Berechtigungen für den Zugriff auf diese Datenquelle hinzufügen (weitere Informationen finden Sie unter AWS Glue Abhängigkeit von anderen AWS-Services). Wenn sich Ihre Datenquelle beispielsweise an einem Amazon S3 S3-Standort befindet, müssen Sie der obigen Richtlinie die folgende Erklärung hinzufügen.
{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
${BucketName}
", "arn:aws:s3:::${BucketName}
/*" ] } -
(Optional) Wenn Sie AWS KMS die Daten in Amazon S3 oder verschlüsseln AWS Glue Data Catalog, müssen Sie der Rolle Berechtigungen hinzufügen, um die Daten auf dem KMS-Schlüssel zu entschlüsseln.
{ "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${Account}:key/{KmsId}", "arn:aws:kms:${Region}:${Account}:key/{KmsId}" ], "Effect": "Allow" }