Cree un rol de servicio para Amazon Bedrock Prompt Flujos en Amazon Bedrock - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree un rol de servicio para Amazon Bedrock Prompt Flujos en Amazon Bedrock

Para crear y gestionar un flujo rápido en Amazon Bedrock, debe utilizar un rol de servicio con los permisos necesarios que se describen en esta página. Puede usar un rol de servicio que Amazon Bedrock cree automáticamente para usted en la consola o usar uno que personalice usted mismo.

nota

Si usa el rol de servicio que Amazon Bedrock crea automáticamente para usted en la consola, adjuntará los permisos de forma dinámica si agrega nodos al flujo y guarda el flujo. Sin embargo, si elimina nodos, los permisos no se eliminarán, por lo que tendrá que eliminar los permisos que ya no necesite. Para administrar los permisos del rol que se creó para usted, siga los pasos que se indican en Modificación de un rol en la Guía del IAM usuario.

Para crear un rol de servicio personalizado para Amazon Bedrock Prompt Flows, cree un IAM rol siguiendo los pasos que se indican en Crear un rol para delegar permisos a un AWS servicio. A continuación, asocie los siguientes permisos al rol.

  • Política de confianza

  • Los siguientes permisos basados en la identidad:

    • Acceso a los modelos base de Amazon Bedrock que utilizará PrompFlow. Añada a la Resource lista todos los modelos que se utilizan en el flujo de mensajes.

    • Si invoca un modelo mediante el rendimiento aprovisionado, permisos para acceder e invocar el modelo aprovisionado. Añada a la lista todos los modelos que se utilizan en el flujo de solicitudes. Resource

    • Si invoca un modelo personalizado, permisos para acceder al modelo personalizado e invocarlo. Agregue a la lista todos los modelos que se utilizan en el flujo de solicitudes. Resource

    • Permisos basados en los nodos que añada al flujo:

      • Si incluye nodos de solicitud que utilizan solicitudes de la administración de solicitudes, permisos para acceder a la solicitud. Agregue a la Resource lista todos los mensajes que se utilizan en el flujo de mensajes.

      • Si incluye nodos de la base de conocimientos, permisos para consultar la base de conocimientos. Agregue a la Resource lista todas las bases de conocimientos consultadas en el flujo de solicitudes.

      • Si incluye nodos de agente, permisos para invocar un alias del agente. Añada a la Resource lista todos los agentes que se invoquen en el flujo de solicitudes.

      • Si incluye nodos de recuperación de S3, permisos para acceder al bucket de Amazon S3 del que se recuperarán los datos. Añada a la Resource lista cada depósito del que se recuperan los datos.

      • Si incluye nodos de almacenamiento S3, permisos para escribir en el bucket de Amazon S3 en el que se almacenarán los datos de salida. Añada a la Resource lista cada depósito en el que se escriben los datos.

      • Si has cifrado algún recurso invocado en un flujo de mensajes, permisos para descifrar la clave. Añada cada clave a la Resource lista.

Es posible que también deba adjuntar las siguientes políticas basadas en recursos:

Relación de confianza

Adjunte la siguiente política de confianza a la función de ejecución de flujo rápido para permitir que Amazon Bedrock asuma esta función y gestione un flujo rápido. Sustituya el values según sea necesario. La política contiene claves de condición opcionales (consulte Claves de condición para Amazon Bedrock y claves de contexto de condición AWS globales) en el Condition campo que le recomendamos que utilice como práctica recomendada de seguridad.

nota

Como práctica recomendada, sustituya la * por un identificador de flujo rápido después de crearlo.

{ "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/*" } } } ] }

Permisos basados en la identidad para la función de servicio de flujos.

Adjunte la siguiente política para proporcionar permisos para el rol de servicio, sustituyendo values según sea necesario. La política contiene las siguientes declaraciones. Omite una declaración si no es aplicable a tu caso de uso. La política contiene claves de condición opcionales (consulte Claves de condición para Amazon Bedrock y claves de contexto de condición AWS globales) en el Condition campo que le recomendamos que utilice como práctica recomendada de seguridad.

  • Acceso a los modelos base de Amazon Bedrock que utilizará PrompFlow. Añada a la Resource lista todos los modelos que se utilizan en el flujo de mensajes.

  • Si invoca un modelo mediante el rendimiento aprovisionado, permisos para acceder e invocar el modelo aprovisionado. Añada a la lista todos los modelos que se utilizan en el flujo de solicitudes. Resource

  • Si invoca un modelo personalizado, permisos para acceder al modelo personalizado e invocarlo. Agregue a la lista todos los modelos que se utilizan en el flujo de solicitudes. Resource

  • Permisos basados en los nodos que añada al flujo:

    • Si incluye nodos de solicitud que utilizan solicitudes de la administración de solicitudes, permisos para acceder a la solicitud. Agregue a la Resource lista todos los mensajes que se utilizan en el flujo de mensajes.

    • Si incluye nodos de la base de conocimientos, permisos para consultar la base de conocimientos. Agregue a la Resource lista todas las bases de conocimientos consultadas en el flujo de solicitudes.

    • Si incluye nodos de agente, permisos para invocar un alias del agente. Añada a la Resource lista todos los agentes que se invoquen en el flujo de solicitudes.

    • Si incluye nodos de recuperación de S3, permisos para acceder al bucket de Amazon S3 del que se recuperarán los datos. Añada a la Resource lista cada depósito del que se recuperan los datos.

    • Si incluye nodos de almacenamiento S3, permisos para escribir en el bucket de Amazon S3 en el que se almacenarán los datos de salida. Añada a la Resource lista cada depósito en el que se escriben los datos.

    • Si has cifrado algún recurso invocado en un flujo de mensajes, permisos para descifrar la clave. Añada cada clave a la Resource lista.

{ "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}" } } } ] }

Políticas basadas en recursos para flujos rápidos

Si incluye un nodo de función Lambda o un nodo de Amazon Lex en un flujo de solicitud, debe adjuntar las siguientes políticas a cada recurso para permitir que Amazon Bedrock acceda a él al invocar el flujo de solicitud.

Política basada en recursos que permite a Amazon Bedrock invocar una función Lambda al invocar un flujo rápido

Siga los pasos que se indican en Uso de políticas basadas en recursos para Lambda y adjunte la siguiente política basada en recursos a una función de Lambda para permitir que Amazon Bedrock acceda a la función Lambda para su flujo de solicitudes, sustituyendo la values según sea necesario. La política contiene claves de condición opcionales (consulte Claves de condición para Amazon Bedrock y claves de contexto de condición AWS globales) en el Condition campo que le recomendamos que utilice como práctica recomendada de seguridad.

{ "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}:flow/${flow-id}" } } }] }

Política basada en recursos que permite a Amazon Bedrock llamar a un bot de Amazon Lex

Siga los pasos que se indican en los ejemplos de políticas basadas en recursos para Amazon Lex y adjunte la siguiente política basada en recursos a un bot de Amazon Lex para que Amazon Bedrock pueda llamarla rápidamente, sustituyendo la values según sea necesario. La política contiene claves de condición opcionales (consulte Claves de condición para Amazon Bedrock y claves de contexto de condición AWS globales) en el Condition campo que le recomendamos que utilice como práctica recomendada de seguridad.

{ "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}:flow/${flow-id}" } } } ]

Política clave que permite a Amazon Bedrock cifrar y descifrar un flujo

Siga los pasos que se indican en Crear una política de claves y adjunte la siguiente política de claves a una KMS clave para permitir que Amazon Bedrock cifre y descifre un flujo con la clave, sustituyendo la values según sea necesario. La política contiene claves de condición opcionales (consulte Claves de condición para Amazon Bedrock y claves de contexto de condición AWS globales) en el Condition campo que le recomendamos que utilice como práctica recomendada de seguridad.

{ "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}" } } }