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 eine AWS Dienst. Fügen Sie nur die erforderlichen Berechtigungen zu Ihrer eigenen Sicherheit hinzu.

  • 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 um deine zu authentifizieren 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 eines Drittanbieters 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 AWS Schlüssel für den globalen Bedingungskontext. 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, das zu ersetzen * durch eine spezifische Wissensdatenbank, IDs nachdem Sie sie erstellt haben.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:region:account-id: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 verschlüsselt haben AWS KMS Schlüssel, fügen Sie Berechtigungen zum Entschlüsseln des Schlüssels für die Rolle 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": "account-id" } } }] }

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:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-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:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-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:your-region:your-account-id:secret:secret-id" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:your-region:your-account-id:key/key-id" ], "Condition": { "StringLike": { "kms:ViaService": [ "secretsmanager.your-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 möchten, geben Sie Folgendes RetrieveAndGenerate an insert KB ARN, und verwenden Sie die folgende Richtlinie:

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

(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 region and account-id mit der Region und der Konto-ID, zu der die Datenbank gehört. Geben Sie die ID Ihrer Amazon OpenSearch Service-Sammlung ein in collection-id. Sie können den Zugriff auf mehrere Sammlungen gewähren, indem Sie sie der Resource Liste hinzufügen.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": [ "arn:aws:aoss:region:account-id:collection/collection-id" ] }] }

(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 region and account-id mit der Region und der Konto-ID, zu der der DB-Cluster gehört. Geben Sie die ID Ihres Amazon Aurora Aurora-Datenbank-Clusters ein db-cluster-id. Sie können den Zugriff auf mehrere DB-Cluster zulassen, indem Sie sie der Resource Liste hinzufügen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RdsDescribeStatementID", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters" ], "Resource": [ "arn:aws:rds:region:account-id:cluster:db-cluster-id" ] }, { "Sid": "DataAPIStatementID", "Effect": "Allow", "Action": [ "rds-data:BatchExecuteStatement", "rds-data:ExecuteStatement" ], "Resource": [ "arn:aws:rds:region:account-id:cluster:db-cluster-id" ] }] }

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

Wenn Ihre Vektordatenbank mit einem konfiguriert ist AWS Secrets Manager geheim, fügen Sie Ihrer Amazon Bedrock Knowledge Bases-Servicerolle die folgende Richtlinie hinzu, um Folgendes zuzulassen AWS Secrets Manager um Ihr Konto für den Zugriff auf die Datenbank zu authentifizieren. Ersetzen region and account-id mit der Region und der Konto-ID, zu der die Datenbank gehört. Ersetzen secret-id mit der ID Ihres Geheimnisses.

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

Wenn du dein Geheimnis mit einem verschlüsselt hast AWS KMS Schlüssel, fügen Sie Berechtigungen zum Entschlüsseln des Schlüssels für die Rolle 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 AWS um ein zu verwalten AWS KMS Schlüssel für die vorübergehende Speicherung von Daten während der Datenaufnahme

Um die Erstellung eines zu ermöglichen AWS KMS Als Schlüssel für die vorübergehende Datenspeicherung bei der Aufnahme Ihrer Datenquelle fügen Sie Ihrer Amazon Bedrock Knowledge Bases-Servicerolle die folgende Richtlinie bei. Ersetzen Sie das region, account-id, und key-id durch die entsprechenden Werte.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ] } ] }

(Optional) Berechtigungen für AWS um Datenquellen aus den Quellen eines anderen Benutzers zu verwalten AWS Konto.

Um den Zugriff auf die Daten eines anderen Benutzers zu ermöglichen AWS Konto, Sie müssen 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 verschlüsselt ist AWS KMS Schlüssel, Folgendes muss ebenfalls zur Wissensdatenbank-Rolle hinzugefügt werden. Ersetzen Sie das bucketOwnerAccountId and 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 den 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 Cross-Account-Konten sind Berechtigungen erforderlich AWS KMS wichtige Richtlinie

Wenn der kontoübergreifende Amazon S3 S3-Bucket mit einem verschlüsselt ist AWS KMS Schlüssel für dieses Konto, die Richtlinie des AWS KMS Der Schlüssel erfordert die folgende Richtlinie. Ersetzen Sie den kbRoleArn and kmsKeyArn durch die entsprechenden Werte.

{ "Sid": "Example policy", "Effect": "Allow", "Principal": { "AWS": [ "kbRoleArn" ] }, "Action": [ "kms:Decrypt" ], "Resource": "kmsKeyArn" }