Creación de un rol de servicio para Flujos de Amazon Bedrock 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.

Creación de un rol de servicio para Flujos de Amazon Bedrock en Amazon Bedrock

Para crear y administrar un flujo 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, los permisos se asociarán de forma dinámica si usted agrega nodos al flujo y lo guarda. 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 ha creado para usted, siga los pasos que se indican en Modificación de un rol en la Guía del usuario de IAM.

Para crear un rol de servicio personalizado para Amazon Bedrock Flows, cree un rol de IAM 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 identidades:

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

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

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

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

      • Si incluye nodos de petición que utilizan peticiones de Administración de peticiones, necesita permisos para acceder a la petición. Añada a la lista Resource todas las peticiones que se utilizan en el flujo.

      • Si incluye nodos de base de conocimiento, necesita permisos para consultar la base de conocimiento. Añada a la lista Resource todas las bases de conocimiento consultadas en el flujo.

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

      • Si incluye nodos de recuperación de S3, necesita permisos para acceder al bucket de Amazon S3 del que se recuperarán los datos. Agregue a la lista Resource cada bucket del que se obtengan datos.

      • Si incluye nodos de almacenamiento de S3, necesita permisos para escribir en el bucket de Amazon S3 en el que se almacenarán los datos de salida. Agregue a la lista Resource cada bucket en el que se escriben datos.

      • Si incluye barreras de protección para un nodo de base de conocimiento o un nodo de petición, necesitará permisos para aplicar las barreras de protección en un flujo. Añada a la lista Resource todas las barreras de protección que se utilizan en el flujo.

      • Si incluye nodos de Lambda, necesitará permisos para invocar la función de Lambda. Añada a la lista Resource todas las funciones de Lambda que deban invocarse.

      • Si incluye nodos de Amazon Lex, necesitará permisos para usar el bot de Amazon Lex. Añada a la lista Resource todos los alias de bots que tenga que utilizar.

      • Si ha cifrado algún recurso invocado en un flujo, necesita permisos para descifrar la clave. Agregue cada clave a la lista Resource.

  • Si cifra el flujo, también deberá asociar una política de claves a la clave de KMS que utilice para cifrar el flujo.

nota

Se han implementado recientemente los siguientes cambios:

  • Anteriormente, AWS Lambda los recursos de Amazon Lex se invocaban mediante el servicio principal de Amazon Bedrock. Este comportamiento está cambiando para los flujos creados después del 22 de noviembre de 2024 y la función de servicio Amazon Bedrock Flows se utilizará para invocar los recursos y AWS Lambda los de Amazon Lex. Si creó algún flujo que utilice alguno de estos recursos antes del 22 de noviembre de 2020, debe actualizar sus funciones de servicio de Amazon Bedrock Flows con los permisos de Amazon AWS Lambda Lex.

  • Anteriormente, los recursos de Administración de peticiones se representaban mediante la acción bedrock:GetPrompt. Este comportamiento ha cambiado en los flujos creados después del 22 de noviembre de 2024 y se utilizará la acción bedrock:RenderPrompt para representar el recurso de petición. Si creó algún flujo que usa un recurso de petición antes del 22 de noviembre de 2024, debe actualizar sus roles de servicio de Flujos de Amazon Bedrock con los permisos de bedrock:RenderPrompt.

Si usa el rol de servicio que Amazon Bedrock crea automáticamente para usted en la consola, Amazon Bedrock asociará los permisos correctos de forma dinámica cuando guarde el flujo.

Relación de confianza

Asocie la siguiente política de confianza al rol de ejecución del flujo para permitir que Amazon Bedrock asuma este rol y administre un flujo. Sustitúyalo según sea necesario. values La política contiene claves de condición opcionales (consulte Claves de condición para Amazon Bedrock y Claves de contexto de condición globales de AWS) en el campo Condition que es una práctica de seguridad que recomendamos.

nota

Como práctica recomendada, sustituya el * por un identificador de flujo después de haberlo creado.

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

Permisos basados en identidades para el rol de servicio de los flujos.

Adjunte la siguiente política para proporcionar permisos para el rol de servicio y sustitúyala values según sea necesario. La política contiene las siguientes instrucciones. Omita una instrucción si no es aplicable a su 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 globales de AWS) en el campo Condition que es una práctica de seguridad que recomendamos.

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

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

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

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

    • Si incluye nodos de petición que utilizan peticiones de Administración de peticiones, necesita permisos para acceder a la petición. Añada a la lista Resource todas las peticiones que se utilizan en el flujo.

    • Si incluye nodos de base de conocimiento, necesita permisos para consultar la base de conocimiento. Añada a la lista Resource todas las bases de conocimiento consultadas en el flujo.

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

    • Si incluye nodos de recuperación de S3, necesita permisos para acceder al bucket de Amazon S3 del que se recuperarán los datos. Agregue a la lista Resource cada bucket del que se obtengan datos.

    • Si incluye nodos de almacenamiento de S3, necesita permisos para escribir en el bucket de Amazon S3 en el que se almacenarán los datos de salida. Agregue a la lista Resource cada bucket en el que se escriben datos.

    • Si incluye barreras de protección para un nodo de base de conocimiento o un nodo de petición, necesitará permisos para aplicar las barreras de protección en un flujo. Añada a la lista Resource todas las barreras de protección que se utilizan en el flujo.

    • Si incluye nodos de Lambda, necesitará permisos para invocar la función de Lambda. Añada a la lista Resource todas las funciones de Lambda que deban invocarse.

    • Si incluye nodos de Amazon Lex, necesitará permisos para usar el bot de Amazon Lex. Añada a la lista Resource todos los alias de bots que tenga que utilizar.

    • Si ha cifrado algún recurso invocado en un flujo, necesita permisos para descifrar la clave. Agregue cada clave a la lista Resource.

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