Erstellen Sie eine Servicerolle für Amazon Bedrock Knowledge Bases - 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.

Erstellen Sie eine Servicerolle für Amazon Bedrock Knowledge Bases

Um eine benutzerdefinierte Rolle für eine Wissensdatenbank anstelle der Rolle zu verwenden, die Amazon Bedrock automatisch erstellt, erstellen Sie eine IAM Rolle und fügen Sie die folgenden Berechtigungen hinzu, indem Sie die Schritte unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS Service befolgen. Geben Sie zu Ihrer eigenen Sicherheit nur die erforderlichen Berechtigungen an.

  • Vertrauensstellung

  • Zugriff auf die Amazon-Bedrock-Basismodelle

  • Zugriff auf die Datenquelle, in der Sie Ihre Daten speichern

  • (Wenn Sie eine Vektordatenbank in Amazon OpenSearch Service erstellen) Zugriff auf Ihre OpenSearch Service-Sammlung

  • (Wenn Sie eine Vektordatenbank in Amazon Aurora erstellen) Zugriff auf Ihren Aurora-Cluster

  • (Wenn Sie eine Vektordatenbank erstellen in Pinecone or Redis Enterprise Cloud) Berechtigungen für AWS Secrets Manager die Authentifizierung Ihres Pinecone or Redis Enterprise Cloud Konto

  • (Optional) Wenn Sie eine der folgenden Ressourcen mit einem KMS Schlüssel verschlüsseln, Berechtigungen zum Entschlüsseln des Schlüssels (siehe). Verschlüsselung von Wissensdatenbankressourcen

    • Ihre Wissensdatenbank

    • Datenquellen für Ihre Wissensdatenbank

    • Ihre Vektordatenbank in Amazon OpenSearch Service

    • Das Geheimnis für Ihre Vektordatenbank von Drittanbietern in AWS Secrets Manager

    • Ein Datenerfassungsauftrag

Vertrauensstellung

Die folgende Richtlinie ermöglicht es Amazon Bedrock, diese Rolle zu übernehmen und Wissensdatenbanken zu erstellen und zu verwalten. Das folgende Beispiel zeigt eine Richtinie, die Sie verwenden können. Sie können den Geltungsbereich der Berechtigung einschränken, indem Sie einen oder mehrere globale Bedingungskontextschlüssel verwenden. Weitere Informationen finden Sie unter Globale AWS -Bedingungskontextschlüssel. Legen Sie den Wert aws:SourceAccount auf Ihre Konto-ID fest. Verwenden Sie die Bedingung ArnEquals oder ArnLike, um den Geltungsbereich auf bestimmte Wissensdatenbanken zu beschränken.

Anmerkung

Aus Sicherheitsgründen empfiehlt es sich, diese IDs nach der Erstellung * durch eine spezifische Wissensdatenbank zu ersetzen.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "${AccountId}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${Region}:${AccountId}:knowledge-base/*" } } }] }

Berechtigungen für den Zugriff auf Amazon-Bedrock-Modelle

Fügen Sie die folgende Richtlinie hinzu, um der Rolle Berechtigungen zu erteilen, damit sie Amazon Bedrock für die Einbettung Ihrer Quelldaten verwenden kann.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:ListFoundationModels", "bedrock:ListCustomModels" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${Region}::foundation-model/amazon.titan-embed-text-v1", "arn:aws:bedrock:${Region}::foundation-model/cohere.embed-english-v3", "arn:aws:bedrock:${Region}::foundation-model/cohere.embed-multilingual-v3" ] } ] }

Berechtigungen für den Zugriff auf Ihre Datenquellen

Wählen Sie aus den folgenden Datenquellen aus, um die erforderlichen Berechtigungen für die Rolle zuzuweisen.

Berechtigungen für den Zugriff auf Ihre Amazon S3 S3-Datenquelle

Fügen Sie die folgende Richtlinie bei, um der Rolle Berechtigungen für den Zugriff auf Amazon S3 zu gewähren.

Wenn Sie die Datenquelle mit einem AWS KMS Schlüssel verschlüsselt haben, fügen Sie der Rolle Berechtigungen zum Entschlüsseln des Schlüssels hinzu, indem Sie die Schritte unter Berechtigungen zum Entschlüsseln Ihres AWS KMS Schlüssels für Ihre Datenquellen in Amazon S3 befolgen.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${bucket/path/to/folder}", "arn:aws:s3:::${bucket/path/to/folder}/*" ], "Condition": { "StringEquals": { "aws:PrincipalAccount": "${AccountId}" } } }] }

Berechtigungen für den Zugriff auf Ihre Confluence-Datenquelle

Anmerkung

Der Confluence-Datenquellen-Connector befindet sich in der Vorschauversion und kann sich ändern.

Fügen Sie die folgende Richtlinie hinzu, um der Rolle Berechtigungen für den Zugriff auf Confluence zu gewähren.

Anmerkung

secretsmanager:PutSecretValueist nur erforderlich, wenn Sie die OAuth 2.0-Authentifizierung mit einem Aktualisierungstoken verwenden.

Das Confluence OAuth2 2.0-Zugriffstoken hat eine Standardablaufzeit von 60 Minuten. Wenn dieses Token abläuft, während Ihre Datenquelle synchronisiert wird (Synchronisierungsjob), verwendet Amazon Bedrock das bereitgestellte Aktualisierungstoken, um dieses Token neu zu generieren. Bei dieser Regenerierung werden sowohl die Zugriffs- als auch die Aktualisierungstoken aktualisiert. Um die Token vom aktuellen Synchronisierungsauftrag bis zum nächsten Synchronisierungsauftrag auf dem neuesten Stand zu halten, benötigt Amazon Bedrock Schreib- und Schreibberechtigungen für Ihre geheimen Anmeldeinformationen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${Region}:${AccountId}:secret:${secret-id}" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.${Region}.amazonaws.com" ] } } }, }

Berechtigungen für den Zugriff auf Ihre SharePoint Microsoft-Datenquelle

Anmerkung

SharePoint Der Datenquellen-Connector befindet sich in der Vorschauversion und kann sich ändern.

Fügen Sie die folgende Richtlinie hinzu, um der Rolle Zugriffsberechtigungen zu gewähren SharePoint.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${Region}:${AccountId}:secret:${SecretId}" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.${Region}.amazonaws.com" ] } } }, }

Berechtigungen für den Zugriff auf Ihre Salesforce-Datenquelle

Anmerkung

Der Salesforce-Datenquellen-Connector befindet sich in der Vorschauversion und kann sich ändern.

Fügen Sie die folgende Richtlinie hinzu, um der Rolle Berechtigungen für den Zugriff auf Salesforce zu gewähren.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${Region}:${AccountId}:secret:${SecretId}" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.${Region}.amazonaws.com" ] } } }, }

Berechtigungen zum Chatten mit Ihrem Dokument

Fügen Sie die folgende Richtlinie bei, um der Rolle die Erlaubnis zu erteilen, Amazon Bedrock-Modelle für den Chat mit Ihrem Dokument zu verwenden:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" } ] }

Wenn Sie einem Benutzer nur Zugriff auf den Chat mit Ihrem Dokument gewähren möchten (und nicht RetrieveAndGenerate auf allen Wissensdatenbanken), verwenden Sie die folgende Richtlinie:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "bedrock:Retrieve" ], "Resource": "*" } ] }

Wenn Sie sowohl mit Ihrem Dokument chatten als auch in einer bestimmten Wissensdatenbank verwenden RetrieveAndGenerate möchten, geben Sie eine ${KnowledgeBaseArn} Richtlinie an und verwenden Sie die folgende Richtlinie:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource": ${KnowledgeBaseArn} } ] }

(Optional) Berechtigungen für den Zugriff auf Ihren Amazon Kendra GenAI-Index

Wenn Sie einen Amazon Kendra GenAI-Index für Ihre Wissensdatenbank erstellt haben, fügen Sie Ihrer Amazon Bedrock Knowledge Bases-Servicerolle die folgende Richtlinie hinzu, um den Zugriff auf den Index zu ermöglichen. Ersetzen Sie in der Richtlinie, ${Partition} ${Region}${AccountId}, und ${IndexId} durch die Werte für Ihren Index. Sie können den Zugriff auf mehrere Indizes zulassen, indem Sie sie der Resource Liste hinzufügen. Um Zugriff auf jeden Index in Ihrem zu gewähren AWS-Konto, ${IndexId} ersetzen Sie ihn durch einen Platzhalter (*).

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kendra:Retrieve", // To call their Retrieve API "kendra:DescribeIndex" // For validation when creating the KB ], "Resource": "arn:${${Partition}}:kendra:${${Region}}:${${AccountId}}:index/${${IndexId}}" } ] }

(Optional) Berechtigungen für den Zugriff auf Ihre Vektordatenbank in Amazon OpenSearch Service

Wenn Sie in Amazon OpenSearch Service eine Vektordatenbank für Ihre Wissensdatenbank erstellt haben, fügen Sie Ihrer Amazon Bedrock Knowledge Bases-Servicerolle die folgende Richtlinie hinzu, um Zugriff auf die Sammlung zu gewähren. Ersetzen Sie ${Region} und ${AccountId} durch die Region und die Konto-ID, zu der die Datenbank gehört. Geben Sie die ID Ihrer Amazon OpenSearch Service-Sammlung in ein${CollectionId}. Sie können den Zugriff auf mehrere Sammlungen gewähren, indem Sie sie der Liste Resource hinzufügen.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:${Region}:${AccountId}:collection/${CollectionId}" ] }] }

(Optional) Berechtigungen für den Zugriff auf Ihren Amazon–Aurora-Datenbank-Cluster

Wenn Sie in Amazon Aurora einen Datenbank-Cluster (DB) für Ihre Wissensdatenbank erstellt haben, fügen Sie Ihrer Amazon Bedrock Knowledge Bases-Servicerolle die folgende Richtlinie hinzu, um Zugriff auf den DB-Cluster zu gewähren und Lese- und Schreibberechtigungen dafür zu gewähren. Ersetzen Sie ${Region} und ${AccountId} durch die Region und Konto-ID, zu der der DB-Cluster gehört. Geben Sie die ID Ihres Amazon Aurora Aurora-Datenbank-Clusters ein${DbClusterId}. Sie können den Zugriff auf mehrere DB-Cluster gewähren, indem Sie sie der Liste Resource hinzufügen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RdsDescribeStatementID", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters" ], "Resource": [ "arn:aws:rds:${Region}:${AccountId}:cluster:${DbClusterId}" ] }, { "Sid": "DataAPIStatementID", "Effect": "Allow", "Action": [ "rds-data:BatchExecuteStatement", "rds-data:ExecuteStatement" ], "Resource": [ "arn:aws:rds:${Region}:${AccountId}:cluster:${DbClusterId}" ] }] }

(Optional) Berechtigungen für den Zugriff auf eine Vektordatenbank, die mit einem AWS Secrets Manager Geheimnis konfiguriert ist

Wenn Ihre Vektordatenbank mit einem AWS Secrets Manager Geheimnis konfiguriert ist, fügen Sie Ihrer Amazon Bedrock Knowledge Bases-Servicerolle die folgende Richtlinie hinzu, damit Sie Ihr Konto AWS Secrets Manager für den Zugriff auf die Datenbank authentifizieren können. Ersetzen Sie ${Region} und ${AccountId} durch die Region und die Konto-ID, zu der die Datenbank gehört. Ersetze es ${SecretId} durch die ID deines Geheimnisses.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${Region}:${AccountId}:secret:${SecretId}" ] }] }

Wenn Sie Ihr Geheimnis mit einem AWS KMS Schlüssel verschlüsselt haben, fügen Sie der Rolle Berechtigungen zum Entschlüsseln des Schlüssels hinzu, indem Sie die Schritte unter Berechtigungen zum Entschlüsseln eines AWS Secrets Manager Geheimnisses für den Vektorspeicher, der Ihre Wissensdatenbank enthält befolgen.

(Optional) Berechtigungen für die AWS Verwaltung eines AWS KMS Schlüssels für die Speicherung vorübergehender Daten während der Datenaufnahme

Um die Erstellung eines AWS KMS Schlüssels für die Speicherung vorübergehender Daten während der Aufnahme Ihrer Datenquelle zu ermöglichen, fügen Sie Ihrer Amazon Bedrock Knowledge Bases-Servicerolle die folgende Richtlinie bei. Ersetzen Sie ${Region}${AccountId}, und durch die ${KeyId} entsprechenden Werte.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}" ] } ] }

(Optional) Berechtigungen AWS zur Verwaltung von Datenquellen über das AWS Konto eines anderen Benutzers.

Um den Zugriff auf das AWS Konto eines anderen Benutzers zu ermöglichen, müssen Sie eine Rolle erstellen, die den kontoübergreifenden Zugriff auf einen Amazon S3 S3-Bucket im Konto eines anderen Benutzers ermöglicht. Ersetzen Sie das ${BucketName}${BucketOwnerAccountId}, und ${BucketNameAndPrefix} durch die entsprechenden Werte.

Für die Knowledge Base-Rolle sind Berechtigungen erforderlich

Die Wissensdatenbank-Rolle, die bei der Erstellung der Wissensdatenbank bereitgestellt wird, createKnowledgeBase erfordert die folgenden Amazon S3 S3-Berechtigungen.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "S3ListBucketStatement", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${BucketName}" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${BucketOwnerAccountId}" } } },{ "Sid": "S3GetObjectStatement", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${BucketNameAndPrefix}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${BucketOwnerAccountId}" } }] }

Wenn der Amazon S3 S3-Bucket mit einem AWS KMS Schlüssel verschlüsselt ist, muss der Knowledge-Base-Rolle auch Folgendes hinzugefügt werden. Ersetzen Sie das ${BucketOwnerAccountId} und ${Region} durch die entsprechenden Werte.

{ "Sid": "KmsDecryptStatement", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${Region}:${BucketOwnerAccountId}:key/${KeyId}" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.${Region}.amazonaws.com" ] } } }

Erforderliche Berechtigungen für eine kontoübergreifende Amazon S3 S3-Bucket-Richtlinie

Für den Bucket im anderen Konto ist die folgende Amazon S3 S3-Bucket-Richtlinie erforderlich. Ersetzen Sie ${KbRoleArn}${BucketName}, und ${BucketNameAndPrefix} durch die entsprechenden Werte.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Example ListBucket permissions", "Effect": "Allow", "Principal": { "AWS": "${KbRoleArn}" }, "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::${BucketName}" ] }, { "Sid": "Example GetObject permissions", "Effect": "Allow", "Principal": { "AWS": "${KbRoleArn}" }, "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${BucketNameAndPrefix}/*" ] } ] }

Für die kontoübergreifende AWS KMS Schlüsselrichtlinie sind Berechtigungen erforderlich

Wenn der kontoübergreifende Amazon S3 S3-Bucket mit einem AWS KMS Schlüssel in diesem Konto verschlüsselt ist, erfordert die Richtlinie des AWS KMS Schlüssels die folgende Richtlinie. Ersetzen Sie das ${KbRoleArn} und ${KmsKeyArn} durch die entsprechenden Werte.

{ "Sid": "Example policy", "Effect": "Allow", "Principal": { "AWS": [ "${KbRoleArn}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "${KmsKeyArn}" }