Cree un rol de servicio para los agentes de 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 los agentes de Amazon Bedrock

Para usar un rol de servicio personalizado para los agentes en lugar del que Amazon Bedrock crea automáticamente, cree un IAM rol y adjunte los siguientes permisos siguiendo los pasos que se indican en Crear un rol para delegar permisos a un AWS servicio.

  • Política de confianza

  • Una política que contenga los siguientes permisos basados en la identidad:

    • Acceso a los modelos base de Amazon Bedrock.

    • Acceso a los objetos de Amazon S3 que contienen OpenAPI esquemas para los grupos de acción de sus agentes.

    • Permisos para que Amazon Bedrock consulte las bases de conocimiento que desee adjuntar a sus agentes.

    • Si alguna de las siguientes situaciones se refiere a su caso de uso, añada la declaración a la política o añada una política con la declaración a la función de servicio:

Tanto si utiliza un rol personalizado como si no, también debe adjuntar una política basada en recursos a las funciones de Lambda para que los grupos de acción de sus agentes proporcionen permisos al rol de servicio para acceder a las funciones. Para obtener más información, consulte Política basada en recursos que permite a Amazon Bedrock invocar una función Lambda de un grupo de acciones.

Relación de confianza

La siguiente política de confianza permite a Amazon Bedrock asumir esta función y crear y gestionar agentes. 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 por motivos de seguridad, sustituya la * con un agente específico una IDs vez que los haya creado.

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

Permisos basados en la identidad para el rol de servicio del agente

Adjunte la siguiente política para proporcionar permisos para el rol de servicio, sustituyéndola ${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.

nota

Si cifra su agente con una KMS clave gestionada por el cliente, consulte Cifrado de los recursos de los agentes para obtener más información sobre los permisos que necesite añadir.

  • Permisos para usar los modelos básicos de Amazon Bedrock para ejecutar inferencias de modelos según las indicaciones utilizadas en la organización de su agente.

  • Permisos para acceder a los API esquemas de grupos de acciones de su agente en Amazon S3. Omita esta afirmación si su agente no tiene grupos de acción.

  • Permisos para acceder a las bases de conocimiento asociadas a su agente. Omita esta afirmación si su agente no tiene bases de conocimiento asociadas.

  • Permisos para acceder a un tercero (Pinecone o Redis Enterprise Cloud) base de conocimientos asociada a su agente. Omita esta afirmación si su base de conocimientos es propia (Amazon OpenSearch Serverless o Amazon Aurora) o si su agente no tiene bases de conocimientos asociadas.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow model invocation for orchestration", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-v2:1", "arn:aws:bedrock:${region}::foundation-model/anthropic.claude-instant-v1" ] }, { "Sid": "Allow access to action group API schemas in S3", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::bucket/path/to/schema" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "Query associated knowledge bases", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "Associate a third-party knowledge base with your agent", "Effect": "Allow", "Action": [ "bedrock:AssociateThirdPartyKnowledgeBase", ], "Resource": "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id", "Condition": { "StringEquals" : { "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:${region}:${account-id}:key/${key-id}" } } } ] }

(Opcional) Política basada en la identidad que permite a Amazon Bedrock utilizar Provisioned Throughput con su alias de agente

Si asocia un rendimiento aprovisionado a un alias de su agente, adjunte la siguiente política basada en la identidad a la función de servicio o añada la declaración a la política. Permisos basados en la identidad para el rol de servicio del agente

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Use a Provisioned Throughput in model invocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:${provisioned-model-id}" ] } ] }

(Opcional) Política basada en la identidad que permite a Amazon Bedrock utilizar barandas con su agente

Si asocia una barrera de protección a su agente, adjunte la siguiente política basada en la identidad a la función de servicio o añada la declaración a la política. Permisos basados en la identidad para el rol de servicio del agente

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Apply a guardrail to your agent", "Effect": "Allow", "Action": "bedrock:ApplyGuardrail", "Resource": [ "arn:aws:bedrock:{${region}}:{${account-id}}:guardrail/${guardrail-id}" ] } ] }

(Opcional) Política basada en la identidad que permite a Amazon Bedrock acceder a los archivos de S3 para usarlos con la interpretación del código

Si la habilitaHabilite la interpretación de código en Amazon Bedrock, adjunte la siguiente política basada en la identidad a la función de servicio o añada la declaración a la política en los permisos basados en la identidad para la función de servicio del agente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonBedrockAgentFileAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectVersionAttributes", "s3:GetObjectAttributes" ], "Resource": [ "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]" ] } ] }

Política basada en recursos que permite a Amazon Bedrock invocar una función Lambda de un grupo de acciones

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 los grupos de acción de su agente, 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": "Allow Amazon Bedrock to access action group Lambda function", "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}:agent/${agent-id}" } } } ] }