Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Voraussetzungen für die Erstellung einer Amazon Bedrock-Wissensdatenbank mit einem strukturierten Datenspeicher

Fokusmodus
Voraussetzungen für die Erstellung einer Amazon Bedrock-Wissensdatenbank mit einem strukturierten Datenspeicher - Amazon Bedrock

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.

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.

Wenn Sie eine Amazon Bedrock-Wissensdatenbank mit einem strukturierten Datenspeicher verbinden möchten, müssen Sie die in diesem Thema beschriebenen Voraussetzungen erfüllen.

Wichtig

Die Ausführung beliebiger SQL-Abfragen kann ein Sicherheitsrisiko für jede Text-to-SQL Anwendung darstellen. Es wird empfohlen, bei Bedarf Vorsichtsmaßnahmen zu treffen, z. B. eingeschränkte Rollen, schreibgeschützte Datenbanken und Sandboxing zu verwenden.

Lesen Sie sich die folgenden Themen durch, um sicherzustellen, dass Sie alle erforderlichen Berechtigungen eingerichtet haben.

Eine Amazon Redshift Redshift-Abfrage-Engine einrichten

Amazon Bedrock Knowledge Bases verwendet Amazon Redshift als Abfrage-Engine für die Abfrage Ihres Datenspeichers. Wenn sich Ihre Daten bereits in einer von Amazon Redshift bereitgestellten oder serverlosen Abfrage-Engine befinden, können Sie diese Voraussetzung überspringen. Andernfalls richten Sie eine der folgenden Arten von Abfrage-Engines ein:

Um eine Abfrage-Engine in Amazon Redshift einzurichten, bereitgestellt
  1. Folgen Sie dem Verfahren in Schritt 1: Erstellen eines Amazon Redshift-Beispiel-Clusters im Amazon Redshift Getting Started Guide.

  2. Notieren Sie sich die Cluster-ID.

  3. (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
  1. 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.

  2. Notieren Sie sich den ARN der Arbeitsgruppe.

  3. (Optional) Weitere Informationen zu Amazon Redshift Serverless-Arbeitsgruppen finden Sie unter Arbeitsgruppen und Namespaces im Amazon Redshift Management Guide.

Sammeln Sie Informationen über Ihre Datenbank

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)

Anmerkung

Wenn sich Ihre Daten nicht in einer der oben genannten Datenquellen befinden, sondern in einem Datenspeicher, von dem das Crawlen unterstützt wird AWS Glue, können Sie einen Crawler einrichten, der Ihren Datenspeicher in eine AWS Glue Tabelle schreibt. Folgen Sie dazu den Schritten unter Konfiguration eines Crawlers im AWS Glue Entwicklerhandbuch.

Beachten Sie bei der Erstellung der Wissensdatenbank die folgenden Informationen:

  • Wenn Ihre Daten in einer Amazon Redshift Redshift-Datenbank gespeichert sind, notieren Sie sich den Namen der Datenbank.

  • Wenn Ihre Daten in AWS Glue Data Catalog (Amazon SageMaker AI Lakehouse) gespeichert sind, notieren Sie sich die Namen der Tabellen, auf die Ihre Wissensdatenbank Zugriff haben soll.

Ordnen Sie Ihrer Benutzerrolle Berechtigungen zu

Damit eine IAM-Rolle Aktionen im Zusammenhang mit Amazon Bedrock Knowledge Bases ausführen kann, müssen Sie der Rolle Richtlinien zuordnen, die Berechtigungen zur Ausführung der Aktionen gewähren. In diesem Thema werden Berechtigungen beschrieben, die es einem Benutzer ermöglichen, eine Wissensdatenbank zu erstellen und zu verwalten, die mit einem strukturierten Datenspeicher verbunden ist. Außerdem werden Berechtigungen beschrieben, die es einem Benutzer ermöglichen, Informationen aus diesen Wissensdatenbanken abzurufen und daraus Antworten zu generieren.

Erweitern Sie die folgenden Abschnitte, um zu erfahren, wie Sie Berechtigungen für bestimmte Anwendungsfälle einrichten:

Damit eine IAM-Rolle eine Wissensdatenbank erstellen, sie mit einem strukturierten Datenspeicher verbinden, die Wissensdatenbank verwalten und Aufnahmeaufträge von der Datenquelle bis zur Wissensdatenbank starten und verwalten kann, müssen Sie Berechtigungen für die Aktionen KnowledgeBaseDataSource, und bereitstellen. IngestionJob

Anmerkung

Wenn der Rolle die AmazonBedrockFullAccess AWS verwaltete Richtlinie zugewiesen ist, können Sie diese Voraussetzung überspringen.

Wenn Sie Berechtigungen für das Markieren von Wissensdatenbanken bereitstellen möchten, müssen Sie auch Berechtigungen für bedrock:TagResource und angebenbedrock:UntagResource. Damit eine Rolle diese Aktionen ausführen kann, fügen Sie der Rolle die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateKB", "Effect": "Allow", "Action": [ "bedrock:CreateKnowledgeBase" ], "Resource": "*" }, { "Sid": "KBDataSourceManagement", "Effect": "Allow", "Action": [ "bedrock:GetKnowledgeBase", "bedrock:ListKnowledgeBases", "bedrock:UpdateKnowledgeBase", "bedrock:DeleteKnowledgeBase", "bedrock:StartIngestionJob", "bedrock:GetIngestionJob", "bedrock:ListIngestionJobs", "bedrock:StopIngestionJob", "bedrock:TagResource", "bedrock:UntagResource" ], "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/*" ] } ] }

Nachdem Sie eine Wissensdatenbank erstellt haben, empfehlen wir, die Berechtigungen in der KBDataSourceManagement Anweisung nach unten zu beschränken, indem Sie den Platzhalter (*) durch die ID der Wissensdatenbank ersetzen, die Sie erstellt haben.

Damit eine IAM-Rolle eine Wissensdatenbank erstellen, sie mit einem strukturierten Datenspeicher verbinden, die Wissensdatenbank verwalten und Aufnahmeaufträge von der Datenquelle bis zur Wissensdatenbank starten und verwalten kann, müssen Sie Berechtigungen für die Aktionen KnowledgeBaseDataSource, und bereitstellen. IngestionJob

Anmerkung

Wenn der Rolle die AmazonBedrockFullAccess AWS verwaltete Richtlinie zugewiesen ist, können Sie diese Voraussetzung überspringen.

Wenn Sie Berechtigungen für das Markieren von Wissensdatenbanken bereitstellen möchten, müssen Sie auch Berechtigungen für bedrock:TagResource und angebenbedrock:UntagResource. Damit eine Rolle diese Aktionen ausführen kann, fügen Sie der Rolle die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateKB", "Effect": "Allow", "Action": [ "bedrock:CreateKnowledgeBase" ], "Resource": "*" }, { "Sid": "KBDataSourceManagement", "Effect": "Allow", "Action": [ "bedrock:GetKnowledgeBase", "bedrock:ListKnowledgeBases", "bedrock:UpdateKnowledgeBase", "bedrock:DeleteKnowledgeBase", "bedrock:StartIngestionJob", "bedrock:GetIngestionJob", "bedrock:ListIngestionJobs", "bedrock:StopIngestionJob", "bedrock:TagResource", "bedrock:UntagResource" ], "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/*" ] } ] }

Nachdem Sie eine Wissensdatenbank erstellt haben, empfehlen wir, die Berechtigungen in der KBDataSourceManagement Anweisung nach unten zu beschränken, indem Sie den Platzhalter (*) durch die ID der Wissensdatenbank ersetzen, die Sie erstellt haben.

Damit eine IAM-Rolle eine Wissensdatenbank abfragen kann, die mit einem strukturierten Datenspeicher verbunden ist, fügen Sie der Rolle die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetKB", "Effect": "Allow", "Action": [ "bedrock:GetKnowledgeBase" ], "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}" ] }, { "Sid": "GenerateQueryAccess", "Effect": "Allow", "Action": [ "bedrock:GenerateQuery", "sqlworkbench:GetSqlRecommendations" ], "Resource": "*" }, { "Sid": "Retrieve", "Effect": "Allow", "Action": [ "bedrock:Retrieve", ] "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}" ] }, { "Sid": "RetrieveAndGenerate", "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate", ] "Resource": [ "*" ] } ] }

Je nach Anwendungsfall können Sie Anweisungen entfernen, die Sie nicht benötigen:

  • Die GenerateQuery Anweisungen GetKB und müssen aufgerufen werden, GenerateQueryum SQL-Abfragen zu generieren, die Benutzerabfragen und Ihre verbundene Datenquelle berücksichtigen.

  • Die Retrieve Anweisung ist zum Aufrufen erforderlich Retrieveum Daten aus Ihrem strukturierten Datenspeicher abzurufen.

  • Die RetrieveAndGenerate Anweisung ist für den Anruf erforderlich RetrieveAndGenerateum Daten aus Ihrem strukturierten Datenspeicher abzurufen und Antworten auf der Grundlage der Daten zu generieren.

Damit eine IAM-Rolle eine Wissensdatenbank abfragen kann, die mit einem strukturierten Datenspeicher verbunden ist, fügen Sie der Rolle die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetKB", "Effect": "Allow", "Action": [ "bedrock:GetKnowledgeBase" ], "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}" ] }, { "Sid": "GenerateQueryAccess", "Effect": "Allow", "Action": [ "bedrock:GenerateQuery", "sqlworkbench:GetSqlRecommendations" ], "Resource": "*" }, { "Sid": "Retrieve", "Effect": "Allow", "Action": [ "bedrock:Retrieve", ] "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}" ] }, { "Sid": "RetrieveAndGenerate", "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate", ] "Resource": [ "*" ] } ] }

Je nach Anwendungsfall können Sie Anweisungen entfernen, die Sie nicht benötigen:

  • Die GenerateQuery Anweisungen GetKB und müssen aufgerufen werden, GenerateQueryum SQL-Abfragen zu generieren, die Benutzerabfragen und Ihre verbundene Datenquelle berücksichtigen.

  • Die Retrieve Anweisung ist zum Aufrufen erforderlich Retrieveum Daten aus Ihrem strukturierten Datenspeicher abzurufen.

  • Die RetrieveAndGenerate Anweisung ist für den Anruf erforderlich RetrieveAndGenerateum Daten aus Ihrem strukturierten Datenspeicher abzurufen und Antworten auf der Grundlage der Daten zu generieren.

Um die Berechtigungen weiter einzuschränken, können Sie Aktionen auslassen oder Ressourcen und Bedingungsschlüssel angeben, nach denen Berechtigungen gefiltert werden sollen. Weitere Informationen zu Aktionen, Ressourcen und Bedingungsschlüsseln finden Sie unter den folgenden Themen in der Service Authorization Reference:

Berechtigungen für Ihre Amazon Bedrock Knowledge Bases-Servicerolle erstellen und einrichten

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:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftDataAPIStatementPermissions", "Effect": "Allow", "Action": [ "redshift-data:GetStatementResult", "redshift-data:DescribeStatement", "redshift-data:CancelStatement" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } }, { "Sid": "RedshiftDataAPIExecutePermissions", "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement" ], "Resource": [ "arn:aws:redshift:${Region}:${Account}:cluster:${Cluster}" ] }, { "Sid": "SqlWorkbenchAccess", "Effect": "Allow", "Action": [ "sqlworkbench:GetSqlRecommendations", "sqlworkbench:PutSqlGenerationContext", "sqlworkbench:GetSqlGenerationContext", "sqlworkbench:DeleteSqlGenerationContext" ], "Resource": "*" }, { "Sid": "GenerateQueryAccess", "Effect": "Allow", "Action": [ "bedrock:GenerateQuery" ], "Resource": "*" } ] }

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 den Anwendungsfall anzuzeigen.

Damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit IAM authentifizieren kann, fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie bei:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithFederatedIAMCredentials", "Effect": "Allow", "Action": "redshift:GetClusterCredentialsWithIAM", "Resource": [ "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } }
Anmerkung

Wenn Ihre Daten in AWS Glue Data Catalog gespeichert sind, ersetzen Sie sie durch. ${database} dev

Um sich als Amazon Redshift Redshift-Datenbankbenutzer zu authentifizieren, fügen Sie der Servicerolle die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithClusterCredentials", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:${region}:${account}:dbuser:${cluster}/${dbuser}", "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } ] }

Gehen Sie wie folgt vor, damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit einem AWS Secrets Manager geheimen Schlüssel authentifizieren kann:

  • Fügen Sie der Rolle die folgende Richtlinie hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

Fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie hinzu, damit sie auf Ihre Daten zugreifen und damit Abfragen generieren kann:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftDataAPIStatementPermissions", "Effect": "Allow", "Action": [ "redshift-data:GetStatementResult", "redshift-data:DescribeStatement", "redshift-data:CancelStatement" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } }, { "Sid": "RedshiftDataAPIExecutePermissions", "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement" ], "Resource": [ "arn:aws:redshift:${Region}:${Account}:cluster:${Cluster}" ] }, { "Sid": "SqlWorkbenchAccess", "Effect": "Allow", "Action": [ "sqlworkbench:GetSqlRecommendations", "sqlworkbench:PutSqlGenerationContext", "sqlworkbench:GetSqlGenerationContext", "sqlworkbench:DeleteSqlGenerationContext" ], "Resource": "*" }, { "Sid": "GenerateQueryAccess", "Effect": "Allow", "Action": [ "bedrock:GenerateQuery" ], "Resource": "*" } ] }

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 den Anwendungsfall anzuzeigen.

Damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit IAM authentifizieren kann, fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie bei:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithFederatedIAMCredentials", "Effect": "Allow", "Action": "redshift:GetClusterCredentialsWithIAM", "Resource": [ "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } }
Anmerkung

Wenn Ihre Daten in AWS Glue Data Catalog gespeichert sind, ersetzen Sie sie durch. ${database} dev

Damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit IAM authentifizieren kann, fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie bei:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithFederatedIAMCredentials", "Effect": "Allow", "Action": "redshift:GetClusterCredentialsWithIAM", "Resource": [ "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } }
Anmerkung

Wenn Ihre Daten in AWS Glue Data Catalog gespeichert sind, ersetzen Sie sie durch. ${database} dev

Um sich als Amazon Redshift Redshift-Datenbankbenutzer zu authentifizieren, fügen Sie der Servicerolle die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithClusterCredentials", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:${region}:${account}:dbuser:${cluster}/${dbuser}", "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } ] }

Um sich als Amazon Redshift Redshift-Datenbankbenutzer zu authentifizieren, fügen Sie der Servicerolle die folgende Richtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithClusterCredentials", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:${region}:${account}:dbuser:${cluster}/${dbuser}", "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } ] }

Gehen Sie wie folgt vor, damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit einem AWS Secrets Manager geheimen Schlüssel authentifizieren kann:

  • Fügen Sie der Rolle die folgende Richtlinie hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

Gehen Sie wie folgt vor, damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit einem AWS Secrets Manager geheimen Schlüssel authentifizieren kann:

  • Fügen Sie der Rolle die folgende Richtlinie hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

Die Berechtigungen zum Anhängen hängen hängen von Ihrer Authentifizierungsmethode ab. Erweitern Sie einen Abschnitt, um die Berechtigungen für den Anwendungsfall zu sehen.

Damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit IAM authentifizieren kann, fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie bei:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftServerlessGetCredentials", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:${Region}:${Account}:workgroup:${WorkgroupId}" ] } }

Gehen Sie wie folgt vor, damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit einem AWS Secrets Manager geheimen Schlüssel authentifizieren kann:

  • Fügen Sie der Rolle die folgende Richtlinie hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

Die Berechtigungen zum Anhängen hängen hängen von Ihrer Authentifizierungsmethode ab. Erweitern Sie einen Abschnitt, um die Berechtigungen für den Anwendungsfall zu sehen.

Damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit IAM authentifizieren kann, fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie bei:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftServerlessGetCredentials", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:${Region}:${Account}:workgroup:${WorkgroupId}" ] } }

Damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit IAM authentifizieren kann, fügen Sie Ihrer benutzerdefinierten Servicerolle die folgende Richtlinie bei:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftServerlessGetCredentials", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:${Region}:${Account}:workgroup:${WorkgroupId}" ] } }

Gehen Sie wie folgt vor, damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit einem AWS Secrets Manager geheimen Schlüssel authentifizieren kann:

  • Fügen Sie der Rolle die folgende Richtlinie hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

Gehen Sie wie folgt vor, damit sich Ihre Servicerolle bei Ihrer von Amazon Redshift bereitgestellten Abfrage-Engine mit einem AWS Secrets Manager geheimen Schlüssel authentifizieren kann:

  • Fügen Sie der Rolle die folgende Richtlinie hinzu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

Gewähren Sie der Rolle, die Sie für die Authentifizierung verwenden, Datenbankzugriff

Um der Rolle, die Sie für die Authentifizierung verwenden, mit dem Amazon Redshift Query Editor v2 Datenbankzugriff zu gewähren, führen Sie die folgenden SQL-Befehle aus:

  1. (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.

  2. Erteilen Sie dem Datenbankbenutzer Berechtigungen zum Abrufen von Informationen aus Ihrer Datenbank, indem Sie den Befehl GRANT ausführen. Sie können den Bereich auf bestimmte Datenbanken, Tabellen oder Zeilen oder Spalten in Tabellen beschränken, indem Sie ${tableName} oder ersetzen${dbName}.

    Führen Sie den Befehl aus, der dem Dienst entspricht, in dem Ihre Daten gespeichert sind:

    • Wenn Ihre Daten in Amazon Redshift gespeichert sind, führen Sie den Befehl aus, der Ihrer Authentifizierungsmethode entspricht.

      IAM
      GRANT SELECT ON ${tableName} TO "IAMR:${serviceRole}";
      Database user
      GRANT SELECT ON ${tableName} TO "${dbUser}";
      AWS Secrets Manager username
      GRANT SELECT ON ${tableName} TO "IAMR:${secretsUsername}";
      GRANT SELECT ON ${tableName} TO "IAMR:${serviceRole}";
    • Wenn Ihre Daten in gespeichert sind AWS Glue Data Catalog, führen Sie den Befehl aus, der Ihrer Authentifizierungsmethode entspricht.

      IAM
      GRANT USAGE ON DATABASE ${schemaName} TO "IAMR:${serviceRole}";
      Database user
      GRANT USAGE ON DATABASE ${schemaName} TO "${dbUser}";
      AWS Secrets Manager username
      GRANT USAGE ON DATABASE ${schemaName} TO "${secretsUsername}";
      GRANT USAGE ON DATABASE ${schemaName} TO "IAMR:${serviceRole}";
    Wichtig

    Gewähren CREATE oder DELETE greifen Sie nicht zu. UPDATE Wenn Sie diese Aktionen gewähren, kann dies zu unbeabsichtigten Änderungen Ihrer Daten führen.

(Wenn Ihre Daten gespeichert sind AWS Glue Data Catalog) Zusätzliche erforderliche Berechtigungen

Unabhängig davon, ob Sie die Amazon Bedrock Knowledge Bases-Servicerolle verwenden, die der für Sie AWS Management Console erstellt, oder eine benutzerdefinierte Rolle, die Sie selbst erstellt haben, müssen Sie die folgenden Berechtigungen konfigurieren, um den Zugriff auf Ihre Daten zu ermöglichen, wenn diese gespeichert sind: AWS Glue Data Catalog

  • Um den Zugriff auf Ihre AWS Glue Data Catalog Datenbanken zu ermöglichen, fügen Sie der Servicerolle die folgenden Berechtigungen zu:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "glue:GetDatabases", "glue:GetDatabase", "glue:GetTables", "glue:GetTable", "glue:GetPartitions", "glue:GetPartition", "glue:SearchTables" ], "Resource": [ "arn:aws:glue:${Region}:${Account}:table/${DatabaseName}/${TableName}", "arn:aws:glue:${Region}:${Account}:database/${DatabaseName}", "arn:aws:glue:${Region}:${Account}:catalog" ] } ] }
  • Gewähren Sie Ihrer Servicerolle Berechtigungen AWS Lake Formation (weitere Informationen zu Lake Formation und seiner Beziehung zu Amazon Redshift finden Sie unter Redshift Spectrum und AWS Lake Formation), indem Sie wie folgt vorgehen:

    1. Melden Sie sich bei an AWS Management Console und öffnen Sie die Lake Formation Formation-Konsole unter https://console.aws.amazon.com/lakeformation/.

    2. Wählen Sie im linken Navigationsbereich Datenberechtigungen aus.

    3. Erteilen Sie der Servicerolle, die Sie für Amazon Bedrock Knowledge Bases verwenden, Berechtigungen.

    4. 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 auch 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}/*" ] }

Beantragen Sie Zugriff auf Basismodelle für RetrieveAndGenerate

Wenn Sie Folgendes verwenden möchten RetrieveAndGenerateUm Antworten auf der Grundlage der abgerufenen Daten aus Ihrer Datenquelle zu generieren, fordern Sie Zugriff auf die Basismodelle an, die Sie für die Generierung verwenden können. Gehen Sie dazu wie unter beschrieben vorGreifen Sie auf Amazon Bedrock Foundation-Modelle zu.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.