Creación de 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 rol de IAM y asocie los siguientes permisos siguiendo los pasos que se indican en Crear un rol para delegar permisos a un servicio de AWS.
-
Política de confianza
-
Una política que contenga los siguientes permisos basados en identidades:
-
Acceso a los modelos base de Amazon Bedrock
-
Acceso a los objetos de Amazon S3 que contienen los esquemas de OpenAPI para los grupos de acciones de sus agentes
-
Permisos para que Amazon Bedrock consulte las bases de conocimientos que desea asociar a los agentes
-
Si alguna de las siguientes situaciones aparece en su caso de uso, añada la instrucción a la política o añada una política con la instrucción al rol de servicio:
-
(Opcional) Si asocia un rendimiento aprovisionado a su alias de agente, permisos para invocar modelos con ese rendimiento aprovisionado
-
(Opcional) Si asocia una barrera de protección al agente, permisos para aplicarla. Si la barrera de protección está cifrada con una clave de KMS, el rol de servicio también necesitará permisos para descifrar la clave.
-
(Opcional) Si cifra su agente con una clave KMS, permisos para descifrar la clave.
-
-
Independientemente de si utiliza un rol personalizado o no, también debe asociar una política basada en recursos a las funciones de Lambda para los grupos de acciones de sus agentes para proporcionar permisos para que el rol de servicio acceda a las funciones. Para obtener más información, consulte Política basada en recursos que permite a Amazon Bedrock invocar una función de Lambda de un grupo de acciones.
Temas
- Relación de confianza
- Permisos basados en identidades para el rol de servicio de los agentes
- (Opcional) Política basada en identidades que permite a Amazon Bedrock utilizar el rendimiento aprovisionado con su alias de agente
- (Opcional) Política basada en identidades que permite a Amazon Bedrock utilizar barreras de protección con su agente
- (Opcional) Política basada en identidades que permite a Amazon Bedrock acceder a los archivos de S3 para usarlos con la interpretación del código
- Política basada en recursos que permite a Amazon Bedrock invocar una función de Lambda de un grupo de acciones
Relación de confianza
La siguiente política de confianza permite a Amazon Bedrock asumir este rol y crear y administrar agentes. Sustituya los ${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 globales de AWS) en el campo Condition
que es una práctica de seguridad que recomendamos.
nota
Como práctica recomendada por motivos de seguridad, sustituya el *
por identificadores de agente específicos después de crearlos.
{ "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 identidades para el rol de servicio de los agentes
Asocie la siguiente política para proporcionar permisos para el rol de servicio y sustituya ${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.
nota
Si cifra el agente con una clave de KMS administrada por el cliente, consulte Cifrado de los recursos de los agentes para los permisos que debe agregar.
-
Permisos para usar los modelos fundacionales de Amazon Bedrock para ejecutar inferencias de modelos en las peticiones utilizadas en la orquestación de su agente.
-
Permisos para acceder a los esquemas de API de los grupos de acciones de su agente en Amazon S3. Omita esta instrucción si su agente no tiene grupos de acciones.
-
Permisos para acceder a las bases de conocimientos asociadas al agente. Omita esta instrucción si su agente no tiene bases de conocimientos asociadas.
-
Permisos para acceder a una base de conocimientos de terceros (Pinecone o Redis Enterprise Cloud) asociada a su agente. Omita esta instrucción si su base de conocimientos es propia (Amazon OpenSearch sin servidor 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 identidades que permite a Amazon Bedrock utilizar el rendimiento aprovisionado con su alias de agente
Si asocia un rendimiento aprovisionado a un alias del agente, asocie la siguiente política basada en identidades al rol de servicio o añada la instrucción a la política en Permisos basados en identidades para el rol de servicio de los agentes.
{ "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 identidades que permite a Amazon Bedrock utilizar barreras de protección con su agente
Si asocia una barrera de protección al agente, asocie la siguiente política basada en identidades al rol de servicio o añada la instrucción a la política en Permisos basados en identidades para el rol de servicio de los agentes.
{ "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 identidades que permite a Amazon Bedrock acceder a los archivos de S3 para usarlos con la interpretación del código
Si activa Activación de la interpretación del código en Amazon Bedrock, asocie la siguiente política basada en identidades al rol de servicio o añada la instrucción a la política en los permisos basados en identidades para el rol de servicio de los agentes.
{ "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 de Lambda de un grupo de acciones
Siga los pasos que se indican en Uso de políticas basadas en recursos para Lambda y asocie 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 acciones del agente, sustituyendo los ${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 globales de AWS) en el campo Condition
que es una práctica de seguridad que recomendamos.
{ "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}
" } } } ] }