Erstellen einer Servicerolle für Amazon Bedrock Flows in Amazon Bedrock - 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 einer Servicerolle für Amazon Bedrock Flows in Amazon Bedrock

Um einen Flow in Amazon Bedrock zu erstellen und zu verwalten, müssen Sie eine Servicerolle mit den erforderlichen Berechtigungen verwenden, die auf dieser Seite beschrieben werden. Sie können eine Servicerolle verwenden, die Amazon Bedrock automatisch für Sie in der Konsole erstellt, oder eine Servicerolle, die Sie selbst anpassen.

Anmerkung

Wenn Sie die Servicerolle verwenden, die Amazon Bedrock automatisch für Sie in der Konsole erstellt, werden Berechtigungen dynamisch angefügt, wenn Sie Ihrem Flow Knoten hinzufügen und den Flow speichern. Wenn Sie Knoten entfernen, werden die Berechtigungen jedoch nicht gelöscht, sodass Sie die Berechtigungen löschen müssen, die Sie nicht mehr benötigen. Um die Berechtigungen für die Rolle zu verwalten, die für Sie erstellt wurde, befolgen Sie die Schritte unter Ändern einer Rolle im IAM-Benutzerhandbuch.

Um eine benutzerdefinierte Servicerolle für Amazon Bedrock Flows zu erstellen, erstellen Sie eine IAM-Rolle, indem Sie die Schritte unter Erstellen einer Rolle zum Delegieren von Berechtigungen für einen Service befolgen. AWS Fügen Sie der Rolle dann die folgenden Berechtigungen an.

  • Vertrauensrichtlinie

  • Die folgenden identitätsbasierten Berechtigungen:

    • Zugriff auf die Amazon-Bedrock-Basismodelle, die der Flow verwenden wird. Fügen Sie jedes Modell, das im Flow verwendet wird, zur Liste Resource hinzu.

    • Wenn Sie ein Modell mithilfe von bereitgestelltem Durchsatz aufrufen, Berechtigungen für den Zugriff auf das bereitgestellte Modell und dessen Aufruf. Fügen Sie jedes Modell, das im Flow verwendet wird, zur Liste Resource hinzu.

    • Wenn Sie ein benutzerdefiniertes Modell aufrufen, Berechtigungen für den Zugriff auf das benutzerdefinierte Modell und dessen Aufruf. Fügen Sie jedes Modell, das im Flow verwendet wird, zur Liste Resource hinzu.

    • Berechtigungen, die auf den Knoten basieren, die Sie dem Flow hinzufügen:

      • Wenn Sie Prompt-Knoten einbeziehen, die Prompts aus dem Prompt-Management verwenden, benötigen Sie Berechtigungen für den Zugriff auf den Prompt. Fügen Sie jeden Prompt, der im Flow verwendet wird, zur Liste Resource hinzu.

      • Wenn Sie Wissensdatenbank-Knoten einbeziehen, benötigen Sie Berechtigungen zum Abfragen der Wissensdatenbank. Fügen Sie jede Wissensdatenbank, die im Flow abgefragt wird, zur Liste Resource hinzu.

      • Wenn Sie Agenten-Knoten einbeziehen, benötigen Sie Berechtigungen zum Aufrufen eines Alias des Agenten. Fügen Sie jeden Agenten, der im Flow aufgerufen wird, zur Liste Resource hinzu.

      • Wenn Sie S3-Abrufknoten einbeziehen, benötigen Sie Berechtigungen für den Zugriff auf den Amazon-S3-Bucket, aus dem Daten abgerufen werden. Fügen Sie jeden Bucket, aus dem Daten abgerufen werden, zur Liste Resource hinzu.

      • Wenn Sie S3-Speicherknoten einbeziehen, benötigen Sie Berechtigungen, um in den Amazon-S3-Bucket zu schreiben, in dem Ausgabedaten gespeichert werden. Fügen Sie jeden Bucket, in den Daten geschrieben werden, zur Liste Resource hinzu.

      • Wenn Sie Integritätsschutz für einen Wissensdatenbank-Knoten oder einen Prompt-Knoten einbeziehen, benötigen Sie Berechtigungen zum Anwenden des Integritätsschutzes in einem Flow. Fügen Sie jeden Integritätsschutz, der im Flow verwendet wird, zur Liste Resource hinzu.

      • Wenn Sie Lambda-Knoten einbeziehen, benötigen Sie Berechtigungen zum Aufrufen der Lambda-Funktion. Fügen Sie jede Lambda-Funktion, die aufgerufen werden muss, zur Liste Resource hinzu.

      • Wenn Sie Amazon-Lex-Knoten einbeziehen, benötigen Sie Berechtigungen zur Verwendung des Amazon-Lex-Bots. Fügen Sie jeden Bot-Alias, der verwendet werden muss, zur Liste Resource hinzu.

      • Wenn Sie eine in einem Flow aufgerufene Ressource verschlüsselt haben, benötigen Sie Berechtigungen zum Entschlüsseln des Schlüssels. Fügen Sie jeden Schlüssel zur Liste Resource hinzu.

  • Wenn Sie den Flow verschlüsseln, müssen Sie dem KMS-Schlüssel, den Sie zum Verschlüsseln des Flows verwenden, auch eine Schlüsselrichtlinie anfügen.

Anmerkung

Die folgenden Änderungen wurden kürzlich implementiert:

  • Zuvor AWS Lambda wurden Amazon Lex Lex-Ressourcen mithilfe des Amazon Bedrock Service Principal aufgerufen. Dieses Verhalten ändert sich für Flows, die nach dem 22.11.2024 erstellt wurden, und die Amazon Bedrock Flows-Servicerolle wird verwendet, um die AWS Lambda Ressourcen und Amazon Lex-Ressourcen aufzurufen. Wenn Sie vor dem 22.11.2024 Flows erstellt haben, die eine dieser Ressourcen verwenden, sollten Sie Ihre Amazon Bedrock Flows-Servicerollen mit AWS Lambda und Amazon Lex Lex-Berechtigungen aktualisieren.

  • Bisher wurden Ressourcen zur Prompt-Management mithilfe der Aktion bedrock:GetPrompt gerendert. Dieses Verhalten ändert sich für Flows, die nach dem 22.11.2024 erstellt wurden, und die Aktion bedrock:RenderPrompt wird zum Rendern der Prompt-Ressource verwendet. Wenn Sie vor dem 22.11.2024 Flows erstellt haben, die eine Prompt-Ressource verwenden, sollten Sie die Servicerollen von Amazon Bedrock Flows mit bedrock:RenderPrompt-Berechtigungen aktualisieren.

Wenn Sie eine Servicerolle verwenden, die Amazon Bedrock automatisch für Sie in der Konsole erstellt hat, fügt Amazon Bedrock die korrigierten Berechtigungen dynamisch an, wenn Sie den Flow speichern.

Vertrauensstellung

Fügen Sie der Flow-Ausführungsrolle die folgende Vertrauensrichtlinie an, damit Amazon Bedrock diese Rolle übernehmen und einen Flow verwalten kann. Ersetzen Sie die nach Bedarf. values Die Richtlinie enthält optionale Bedingungsschlüssel (siehe Bedingungsschlüssel für Amazon Bedrock und Globale AWS-Bedingungskontextschlüssel) im Feld Condition, deren Verwendung wir aus Sicherheitsgründen empfehlen.

Anmerkung

Es hat sich bewährt, die * durch eine Flow-ID zu ersetzen, nachdem Sie sie erstellt haben.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "FlowsTrustBedrock", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:flow/*" } } } ] }

Identitätsbasierte Berechtigungen für die Flows-Servicerolle

Fügen Sie die folgende Richtlinie hinzu, um Berechtigungen für die Servicerolle bereitzustellen, und ersetzen Sie values sie bei Bedarf. Die Richtlinie enthält die folgenden Anweisungen: Lassen Sie eine Anweisung weg, wenn sie auf Ihren Anwendungsfall nicht zutrifft. Die Richtlinie enthält optionale Bedingungsschlüssel (siehe Bedingungsschlüssel für Amazon Bedrock und Globale AWS-Bedingungskontextschlüssel) im Feld Condition, deren Verwendung wir aus Sicherheitsgründen empfehlen.

  • Zugriff auf die Amazon-Bedrock-Basismodelle, die der Flow verwenden wird. Fügen Sie jedes Modell, das im Flow verwendet wird, zur Liste Resource hinzu.

  • Wenn Sie ein Modell mithilfe von bereitgestelltem Durchsatz aufrufen, Berechtigungen für den Zugriff auf das bereitgestellte Modell und dessen Aufruf. Fügen Sie jedes Modell, das im Flow verwendet wird, zur Liste Resource hinzu.

  • Wenn Sie ein benutzerdefiniertes Modell aufrufen, Berechtigungen für den Zugriff auf das benutzerdefinierte Modell und dessen Aufruf. Fügen Sie jedes Modell, das im Flow verwendet wird, zur Liste Resource hinzu.

  • Berechtigungen, die auf den Knoten basieren, die Sie dem Flow hinzufügen:

    • Wenn Sie Prompt-Knoten einbeziehen, die Prompts aus dem Prompt-Management verwenden, benötigen Sie Berechtigungen für den Zugriff auf den Prompt. Fügen Sie jeden Prompt, der im Flow verwendet wird, zur Liste Resource hinzu.

    • Wenn Sie Wissensdatenbank-Knoten einbeziehen, benötigen Sie Berechtigungen zum Abfragen der Wissensdatenbank. Fügen Sie jede Wissensdatenbank, die im Flow abgefragt wird, zur Liste Resource hinzu.

    • Wenn Sie Agenten-Knoten einbeziehen, benötigen Sie Berechtigungen zum Aufrufen eines Alias des Agenten. Fügen Sie jeden Agenten, der im Flow aufgerufen wird, zur Liste Resource hinzu.

    • Wenn Sie S3-Abrufknoten einbeziehen, benötigen Sie Berechtigungen für den Zugriff auf den Amazon-S3-Bucket, aus dem Daten abgerufen werden. Fügen Sie jeden Bucket, aus dem Daten abgerufen werden, zur Liste Resource hinzu.

    • Wenn Sie S3-Speicherknoten einbeziehen, benötigen Sie Berechtigungen, um in den Amazon-S3-Bucket zu schreiben, in dem Ausgabedaten gespeichert werden. Fügen Sie jeden Bucket, in den Daten geschrieben werden, zur Liste Resource hinzu.

    • Wenn Sie Integritätsschutz für einen Wissensdatenbank-Knoten oder einen Prompt-Knoten einbeziehen, benötigen Sie Berechtigungen zum Anwenden des Integritätsschutzes in einem Flow. Fügen Sie jeden Integritätsschutz, der im Flow verwendet wird, zur Liste Resource hinzu.

    • Wenn Sie Lambda-Knoten einbeziehen, benötigen Sie Berechtigungen zum Aufrufen der Lambda-Funktion. Fügen Sie jede Lambda-Funktion, die aufgerufen werden muss, zur Liste Resource hinzu.

    • Wenn Sie Amazon-Lex-Knoten einbeziehen, benötigen Sie Berechtigungen zur Verwendung des Amazon-Lex-Bots. Fügen Sie jeden Bot-Alias, der verwendet werden muss, zur Liste Resource hinzu.

    • Wenn Sie eine in einem Flow aufgerufene Ressource verschlüsselt haben, benötigen Sie Berechtigungen zum Entschlüsseln des Schlüssels. Fügen Sie jeden Schlüssel zur Liste Resource hinzu.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "InvokeModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/ModelId" ] }, { "Sid": "InvokeProvisionedThroughput", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/ModelId" ] }, { "Sid": "InvokeCustomModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetCustomModel" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:custom-model/ModelId" ] }, { "Sid": "UsePromptFromPromptManagement", "Effect": "Allow", "Action": [ "bedrock:RenderPrompt" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:prompt/PromptId" ] }, { "Sid": "QueryKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:Retrieve" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId" ] }, { "Sid": "InvokeAgent", "Effect": "Allow", "Action": [ "bedrock:InvokeAgent" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId" ] }, { "Sid": "AccessS3Bucket", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } }, { "Sid": "WriteToS3Bucket", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } }, { "Sid": "GuardrailPermissions", "Effect": "Allow", "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/GuardrailId" ] }, { "Sid": "LambdaPermissions", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-1:123456789012:function:FunctionId" ] }, { "Sid": "AmazonLexPermissions", "Effect": "Allow", "Action": [ "lex:RecognizeUtterance" ], "Resource": [ "arn:aws:lex:us-east-1:123456789012:bot-alias/BotId/BotAliasId" ] }, { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/KeyId" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }