Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'un rôle de service pour Prompt flows dans Amazon Bedrock
Pour créer et gérer un flux d'appels dans Amazon Bedrock, vous devez utiliser un rôle de service doté des autorisations nécessaires décrites sur cette page. Vous pouvez utiliser un rôle de service qu'Amazon Bedrock crée automatiquement pour vous dans la console ou un rôle que vous personnalisez vous-même.
Note
Si vous utilisez le rôle de service qu'Amazon Bedrock crée automatiquement pour vous dans la console, les autorisations seront associées de manière dynamique si vous ajoutez des nœuds à votre flux et que vous enregistrez le flux. Toutefois, si vous supprimez des nœuds, les autorisations ne seront pas supprimées. Vous devrez donc supprimer les autorisations dont vous n'avez plus besoin. Pour gérer les autorisations associées au rôle créé pour vous, suivez les étapes décrites à la section Modification d'un rôle dans le Guide de l'utilisateur IAM.
Pour créer un rôle de service personnalisé pour les flux Prompt, créez un rôle IAM en suivant les étapes de la section Création d'un rôle pour déléguer des autorisations à un AWS service. Attachez ensuite les autorisations suivantes au rôle.
-
Politique d’approbation
-
Les autorisations basées sur l'identité suivantes :
-
Accès aux modèles de base Amazon Bedrock que le prompt flow utilisera. Ajoutez chaque modèle utilisé dans le flux d'invite à la
Resource
liste. -
Si vous invoquez un modèle à l'aide du débit provisionné, vous êtes autorisé à accéder au modèle provisionné et à l'invoquer. Ajoutez chaque modèle utilisé dans le flux d'invite à la
Resource
liste. -
Si vous invoquez un modèle personnalisé, autorisations pour accéder au modèle personnalisé et l'invoquer. Ajoutez chaque modèle utilisé dans le flux d'invite à la
Resource
liste. -
Autorisations basées sur les nœuds que vous ajoutez au flux :
-
Si vous incluez des nœuds d'invite qui utilisent les instructions de la gestion des invites, les autorisations d'accès à l'invite. Ajoutez chaque invite utilisée dans le flux d'invite à la
Resource
liste. -
Si vous incluez des nœuds de base de connaissances, des autorisations pour interroger la base de connaissances. Ajoutez à la liste chaque base de connaissances interrogée dans le flux d'invite.
Resource
-
Si vous incluez des nœuds d'agent, des autorisations permettant d'invoquer un alias de l'agent. Ajoutez chaque agent invoqué dans le flux d'invite à la
Resource
liste. -
Si vous incluez des nœuds de récupération S3, des autorisations pour accéder au compartiment Amazon S3 à partir duquel les données seront extraites. Ajoutez à la
Resource
liste chaque compartiment à partir duquel les données sont extraites. -
Si vous incluez des nœuds de stockage S3, les autorisations d'écriture dans le compartiment Amazon S3 dans lequel les données de sortie seront stockées. Ajoutez à la
Resource
liste chaque compartiment dans lequel les données sont écrites. -
Si vous avez chiffré une ressource invoquée dans un flux d'invite, autorisations pour déchiffrer la clé. Ajoutez chaque clé à la
Resource
liste.
-
-
Vous devrez peut-être également joindre les politiques basées sur les ressources suivantes :
-
Si vous incluez un nœud de fonction Lambda, associez une politique basée sur les ressources à la fonction Lambda que le flux d'invite invoque pour autoriser le rôle de service à accéder à la fonction. Pour plus d’informations, consultez Politique basée sur les ressources permettant à Amazon Bedrock d'invoquer une fonction Lambda de groupe d'actions.
-
Si vous incluez un nœud Amazon Lex, associez une politique basée sur les ressources au bot Amazon Lex que le flux d'invite invoque pour autoriser le rôle de service à accéder au bot Amazon Lex. Pour plus d'informations, consultez les exemples de politiques basées sur les ressources pour Amazon Lex.
-
Si vous chiffrez le flux d'invite, associez une politique de clé à la clé KMS que vous utilisez pour chiffrer le flux d'invite.
Rubriques
Relation d'approbation
Associez la politique de confiance suivante au rôle d'exécution du flux rapide pour permettre à Amazon Bedrock d'assumer ce rôle et de gérer un flux rapide. Remplacez les valeurs
si nécessaire. La politique contient des clés de condition facultatives (voir Clés de condition pour Amazon Bedrock et clés contextuelles de condition AWS globale) dans le Condition
champ que nous vous recommandons d'utiliser comme bonne pratique de sécurité.
Note
Il est recommandé de remplacer le *
par un ID de flux rapide une fois que vous l'avez créé.
{ "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/*
" } } } ] }
Autorisations basées sur l'identité pour le rôle de service de flux.
Joignez la politique suivante pour fournir des autorisations pour le rôle de service, en remplaçant les valeurs
si nécessaire. La politique contient les déclarations suivantes. Omettez une déclaration si elle ne s'applique pas à votre cas d'utilisation. La politique contient des clés de condition facultatives (voir Clés de condition pour Amazon Bedrock et clés contextuelles de condition AWS globale) dans le Condition
champ que nous vous recommandons d'utiliser comme bonne pratique de sécurité.
-
Accès aux modèles de base Amazon Bedrock que le prompt flow utilisera. Ajoutez chaque modèle utilisé dans le flux d'invite à la
Resource
liste. -
Si vous invoquez un modèle à l'aide du débit provisionné, vous êtes autorisé à accéder au modèle provisionné et à l'invoquer. Ajoutez chaque modèle utilisé dans le flux d'invite à la
Resource
liste. -
Si vous invoquez un modèle personnalisé, autorisations pour accéder au modèle personnalisé et l'invoquer. Ajoutez chaque modèle utilisé dans le flux d'invite à la
Resource
liste. -
Autorisations basées sur les nœuds que vous ajoutez au flux :
-
Si vous incluez des nœuds d'invite qui utilisent les instructions de la gestion des invites, les autorisations d'accès à l'invite. Ajoutez chaque invite utilisée dans le flux d'invite à la
Resource
liste. -
Si vous incluez des nœuds de base de connaissances, des autorisations pour interroger la base de connaissances. Ajoutez à la liste chaque base de connaissances interrogée dans le flux d'invite.
Resource
-
Si vous incluez des nœuds d'agent, des autorisations permettant d'invoquer un alias de l'agent. Ajoutez chaque agent invoqué dans le flux d'invite à la
Resource
liste. -
Si vous incluez des nœuds de récupération S3, des autorisations pour accéder au compartiment Amazon S3 à partir duquel les données seront extraites. Ajoutez à la
Resource
liste chaque compartiment à partir duquel les données sont extraites. -
Si vous incluez des nœuds de stockage S3, les autorisations d'écriture dans le compartiment Amazon S3 dans lequel les données de sortie seront stockées. Ajoutez à la
Resource
liste chaque compartiment dans lequel les données sont écrites. -
Si vous avez chiffré une ressource invoquée dans un flux d'invite, autorisations pour déchiffrer la clé. Ajoutez chaque clé à la
Resource
liste.
-
{ "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}
" } } } ] }
Politiques basées sur les ressources pour des flux rapides
Si vous incluez un nœud de fonction Lambda ou un nœud Amazon Lex dans un flux d'invite, vous devez associer les politiques suivantes à chaque ressource afin de permettre à Amazon Bedrock d'y accéder lors de l'appel du flux d'invite.
Rubriques
Politique basée sur les ressources permettant à Amazon Bedrock d'invoquer une fonction Lambda lors de l'appel d'un flux rapide
Suivez les étapes décrites dans la section Utilisation de politiques basées sur les ressources pour Lambda et associez la politique basée sur les ressources suivante à une fonction Lambda afin de permettre à Amazon Bedrock d'accéder à la fonction Lambda pour votre flux d'appels, en remplaçant les valeurs si nécessaire.
La politique contient des clés de condition facultatives (voir Clés de condition pour Amazon Bedrock et clés contextuelles de condition AWS globale) dans le Condition
champ que nous vous recommandons d'utiliser comme bonne pratique de sécurité.
{ "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}
" } } }] }
Politique basée sur les ressources permettant à Amazon Bedrock d'appeler un bot Amazon Lex
Suivez les étapes décrites dans Exemples de politiques basées sur les ressources pour Amazon Lex et associez la politique basée sur les ressources suivante à un bot Amazon Lex pour permettre à Amazon Bedrock de l'appeler rapidement, en remplaçant les valeurs si nécessaire.
La politique contient des clés de condition facultatives (voir Clés de condition pour Amazon Bedrock et clés contextuelles de condition AWS globale) dans le Condition
champ que nous vous recommandons d'utiliser comme bonne pratique de sécurité.
{ "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}
" } } } ]
Politique clé permettant à Amazon Bedrock de chiffrer et de déchiffrer un flux
Suivez les étapes décrites dans la section Création d'une politique clé et associez la politique clé suivante à une clé KMS pour permettre à Amazon Bedrock de chiffrer et de déchiffrer un flux avec la clé, en remplaçant les valeurs
si nécessaire. La politique contient des clés de condition facultatives (voir Clés de condition pour Amazon Bedrock et clés contextuelles de condition AWS globale) dans le Condition
champ que nous vous recommandons d'utiliser comme bonne pratique de sécurité.
{ "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}
" } } }