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

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

Anmerkung

Wenn Sie die Servicerolle verwenden, die Amazon Bedrock automatisch für Sie in der Konsole erstellt, werden Berechtigungen dynamisch angehängt, 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, folgen Sie den Schritten unter Ändern einer Rolle im IAM-Benutzerhandbuch.

Um eine benutzerdefinierte Servicerolle für Prompt Flows zu erstellen, erstellen Sie eine IAM-Rolle, indem Sie die Schritte unter Erstellen einer Rolle zum Delegieren von Berechtigungen für einen Service ausführen. AWS Ordnen Sie der Rolle dann die folgenden Berechtigungen zu.

  • Vertrauensrichtlinie

  • Die folgenden identitätsbasierten Berechtigungen:

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

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

    • Wenn Sie ein benutzerdefiniertes Modell aufrufen, Berechtigungen für den Zugriff und das Aufrufen des benutzerdefinierten Modells. Fügen Sie jedes Modell, das im Prompt-Flow verwendet wird, der Resource Liste hinzu.

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

      • Wenn Sie Prompt-Knoten einbeziehen, die Prompts aus der Prompt-Verwaltung verwenden, Berechtigungen für den Zugriff auf die Aufforderung. Fügen Sie alle Eingabeaufforderungen, die im Prompt-Flow verwendet werden, der Resource Liste hinzu.

      • Wenn Sie Knotenpunkte in der Wissensdatenbank einbeziehen, sind das Berechtigungen zum Abfragen der Wissensdatenbank. Fügen Sie jede Wissensdatenbank, die im Prompt-Flow abgefragt wird, der Liste hinzu. Resource

      • Wenn Sie Agentenknoten einbeziehen, Berechtigungen zum Aufrufen eines Alias des Agenten. Fügen Sie jeden Agenten, der im Prompt-Flow aufgerufen wird, der Liste hinzu. Resource

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

      • Wenn Sie S3-Speicherknoten einbeziehen, Berechtigungen zum Schreiben in den Amazon S3 S3-Bucket, in dem die Ausgabedaten gespeichert werden. Fügen Sie jeden Bucket, in den Daten geschrieben werden, zur Resource Liste hinzu.

      • Wenn Sie eine Ressource verschlüsselt haben, die in einem Prompt-Flow aufgerufen wurde, Berechtigungen zum Entschlüsseln des Schlüssels. Fügen Sie jeden Schlüssel der Liste hinzu. Resource

Möglicherweise müssen Sie auch die folgenden ressourcenbasierten Richtlinien anhängen:

  • Wenn Sie einen Lambda-Funktionsknoten einbeziehen, fügen Sie der Lambda-Funktion, die der Prompt-Flow aufruft, eine ressourcenbasierte Richtlinie hinzu, um der Servicerolle Berechtigungen für den Zugriff auf die Funktion zu gewähren. Weitere Informationen finden Sie unter Ressourcenbasierte Richtlinie, die es Amazon Bedrock ermöglicht, eine Lambda-Funktion für Aktionsgruppen aufzurufen.

  • Wenn Sie einen Amazon Lex Lex-Knoten hinzufügen, fügen Sie dem Amazon Lex Lex-Bot eine ressourcenbasierte Richtlinie hinzu, die im Prompt-Flow aufgerufen wird, um der Servicerolle Berechtigungen für den Zugriff auf den Amazon Lex Lex-Bot zu gewähren. Weitere Informationen finden Sie unter Beispiele für ressourcenbasierte Richtlinien für Amazon Lex.

  • Wenn Sie den Prompt-Flow verschlüsseln, fügen Sie dem KMS-Schlüssel, den Sie zum Verschlüsseln des Prompt-Flows verwenden, eine Schlüsselrichtlinie hinzu.

Vertrauensstellung

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

Anmerkung

Es hat sich bewährt, das * nach der Erstellung durch eine Prompt-Flow-ID zu ersetzen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FlowsTrustBedrock", "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}:flow/*" } } } ] }

Identitätsbasierte Berechtigungen für die Flows-Dienstrolle.

Fügen Sie die folgende Richtlinie hinzu, um Berechtigungen für die Servicerolle bereitzustellen, und ersetzen Sie die Werte nach Bedarf. Die Richtlinie enthält die folgenden Aussagen. Lassen Sie eine Aussage weg, wenn sie auf Ihren Anwendungsfall nicht zutrifft. Die Richtlinie enthält optionale Bedingungsschlüssel (siehe Bedingungsschlüssel für Amazon Bedrock und AWS globale Bedingungskontextschlüssel) in dem Condition Feld, deren Verwendung wir aus Sicherheitsgründen empfehlen.

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

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

  • Wenn Sie ein benutzerdefiniertes Modell aufrufen, Berechtigungen für den Zugriff und das Aufrufen des benutzerdefinierten Modells. Fügen Sie jedes Modell, das im Prompt-Flow verwendet wird, der Resource Liste hinzu.

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

    • Wenn Sie Prompt-Knoten einbeziehen, die Prompts aus der Prompt-Verwaltung verwenden, Berechtigungen für den Zugriff auf die Aufforderung. Fügen Sie alle Eingabeaufforderungen, die im Prompt-Flow verwendet werden, der Resource Liste hinzu.

    • Wenn Sie Knotenpunkte in der Wissensdatenbank einbeziehen, sind das Berechtigungen zum Abfragen der Wissensdatenbank. Fügen Sie jede Wissensdatenbank, die im Prompt-Flow abgefragt wird, der Liste hinzu. Resource

    • Wenn Sie Agentenknoten einbeziehen, Berechtigungen zum Aufrufen eines Alias des Agenten. Fügen Sie jeden Agenten, der im Prompt-Flow aufgerufen wird, der Liste hinzu. Resource

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

    • Wenn Sie S3-Speicherknoten einbeziehen, Berechtigungen zum Schreiben in den Amazon S3 S3-Bucket, in dem die Ausgabedaten gespeichert werden. Fügen Sie jeden Bucket, in den Daten geschrieben werden, zur Resource Liste hinzu.

    • Wenn Sie eine Ressource verschlüsselt haben, die in einem Prompt-Flow aufgerufen wurde, Berechtigungen zum Entschlüsseln des Schlüssels. Fügen Sie jeden Schlüssel der Liste hinzu. Resource

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InvokeModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/${model-id}" ] }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:provisioned-model/${model-id}" ] }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetCustomModel" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:custom-model/${model-id}" ] }, { "Sid": "UsePromptManagement", "Effect": "Allow", "Action": [ "bedrock:GetPrompt" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:prompt/${prompt-id}" ] }, { "Sid": "QueryKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "InvokeAgent", "Effect": "Allow", "Action": [ "bedrock:InvokeAgent" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:agent-alias/${agent-alias-id}" ] }, { "Sid": "AccessS3Bucket", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "WriteToS3Bucket", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}", "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${region}:${account-id}:key/${key-id}" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } } ] }

Ressourcenbasierte Richtlinien für schnelle Abläufe

Wenn Sie einen Lambda-Funktionsknoten oder einen Amazon Lex Lex-Knoten in einen Prompt-Flow einbeziehen, müssen Sie jeder Ressource die folgenden Richtlinien zuordnen, um Amazon Bedrock beim Aufrufen des Prompt-Flows Zugriffsberechtigungen zu gewähren.

Ressourcenbasierte Richtlinie, die es Amazon Bedrock ermöglicht, beim Aufrufen eines Prompt-Flows eine Lambda-Funktion aufzurufen

Folgen Sie den Schritten unter Verwenden von ressourcenbasierten Richtlinien für Lambda und hängen Sie die folgende ressourcenbasierte Richtlinie an eine Lambda-Funktion an, damit Amazon Bedrock auf die Lambda-Funktion für Ihren Prompt-Flow zugreifen und die Werte nach Bedarf ersetzen kann. Die Richtlinie enthält optionale Bedingungsschlüssel (siehe Bedingungsschlüssel für Amazon Bedrock und AWS globale Bedingungskontextschlüssel) in dem Condition Feld, deren Verwendung wir aus Sicherheitsgründen empfehlen.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowBedrockToAccessLambdaFunction", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:${region}:${account-id}:function:${function-name}", "Condition": { "StringEquals": { "AWS:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flows/${flow-id}" } } }] }

Ressourcenbasierte Richtlinie, die es Amazon Bedrock ermöglicht, einen Amazon Lex Lex-Bot aufzurufen

Folgen Sie den Schritten unter Beispiele für ressourcenbasierte Richtlinien für Amazon Lex und hängen Sie die folgende ressourcenbasierte Richtlinie an einen Amazon Lex Lex-Bot an, damit Amazon Bedrock ihn in einem Prompt-Flow aufrufen und die Werte nach Bedarf ersetzen kann. Die Richtlinie enthält optionale Bedingungsschlüssel (siehe Bedingungsschlüssel für Amazon Bedrock und AWS globale Bedingungskontextschlüssel) in dem Condition Feld, deren Verwendung wir aus Sicherheitsgründen empfehlen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockToAccessLexBot", "Effect": "Allow", "Principal": { "Service": [ "bedrock.amazonaws.com" ] }, "Action": [ "lex:RecognizeUtterance" ], "Resource": [ "arn:aws:lex:${region}:${account-id}:bot-alias/${bot-id}/${bot-alias-id}" ], "Condition": { "StringEquals": { "AWS:SourceAccount": ${account-id} }, "ArnEquals": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flows/${flow-id}" } } } ]

Wichtige Richtlinie, die es Amazon Bedrock ermöglicht, einen Datenfluss zu verschlüsseln und zu entschlüsseln

Folgen Sie den Schritten unter Erstellen einer Schlüsselrichtlinie und hängen Sie die folgende Schlüsselrichtlinie an einen KMS-Schlüssel an, damit Amazon Bedrock einen Datenfluss mit dem Schlüssel ver- und entschlüsseln kann, wobei die Werte nach Bedarf ersetzt werden. Die Richtlinie enthält optionale Bedingungsschlüssel (siehe Bedingungsschlüssel für Amazon Bedrock und AWS globale Bedingungskontextschlüssel) in dem Condition Feld, deren Verwendung wir aus Sicherheitsgründen empfehlen.

{ "Sid": "EncryptFlowKMS", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext": "arn:aws:bedrock:${region}:${account-id}:flow/${flow-id}" } } }