Criar um perfil de serviço para o Amazon Bedrock Agents
Para usar um perfil de serviço personalizado para agentes, em vez daquele que o Amazon Bedrock cria automaticamente, crie um perfil do IAM e anexe as permissões abaixo seguindo as etapas em Criar um perfil para delegar permissões a um serviço da AWS.
-
Política de confiança
-
Uma política que contém as seguintes permissões baseadas em identidade:
-
Acesso aos modelos de base do Amazon Bedrock.
-
Acesso aos objetos do Amazon S3 que contêm os esquemas OpenAPI para os grupos de ação em agentes.
-
Permissões para o Amazon Bedrock consultar bases de conhecimento que você deseja anexar aos agentes.
-
Se alguma das seguintes situações se referir ao caso de uso, adicione a declaração à política ou adicione uma política com a instrução ao perfil de serviço:
-
(Opcional) Se você associar um throughput provisionado ao alias do agente, permissões para executar a invocação do modelo usando esse throughput provisionado.
-
(Opcional) Se você associar uma barreira de proteção ao agente, permissões para aplicar essa barreira de proteção. Se a barreira de proteção for criptografada com uma chave do KMS, o perfil de serviço também precisará de permissões para descriptografar a chave
-
(Opcional) Se você criptografar o agente com uma chave do KMS, permissões para descriptografar a chave.
-
-
Quer você use um perfil personalizado ou não, também precisará anexar a política baseada em recurso às funções do Lambda dos grupos de ação nos agentes a fim de fornecer permissões para que o perfil de serviço acesse as funções. Para obter mais informações, consulte Política baseada em recurso para permitir que o Amazon Bedrock invoque uma função do Lambda do grupo de ação.
Tópicos
- Relação de confiança
- Permissões baseadas em identidade para o perfil de serviço de agentes
- (Opcional) Política baseada em identidade para permitir que o Amazon Bedrock use o throughput provisionado com o alias do agente
- (Opcional) Política baseada em identidade para permitir que o Amazon Bedrock use barreiras de proteção com o agente
- (Opcional) Política baseada em identidade para permitir que o Amazon Bedrock acesse arquivos do S3 para uso com a interpretação de código
- Política baseada em recurso para permitir que o Amazon Bedrock invoque uma função do Lambda do grupo de ação
Relação de confiança
A política a seguir permite que o Amazon Bedrock assuma esse perfil e crie e gerencie agentes. Substitua os ${values}
conforme necessário. A política contém chaves de condição opcionais (consulte Chaves de condição do Amazon Bedrock e Chaves de contexto de condição globais da AWS) no campo Condition
que devem ser usadas como uma prática recomendada de segurança.
nota
Como prática recomendada para fins de segurança, substitua o *
por IDs de agente específicos depois de criá-los.
{ "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/*
" } } }] }
Permissões baseadas em identidade para o perfil de serviço de agentes
Anexe a política a seguir para fornecer permissões ao perfil de serviço, substituindo ${values}
conforme necessário. A política contém as declarações a seguir. Omita uma declaração quando não for aplicável ao caso de uso. A política contém chaves de condição opcionais (consulte Chaves de condição do Amazon Bedrock e Chaves de contexto de condição globais da AWS) no campo Condition
que devem ser usadas como uma prática recomendada de segurança.
nota
Se você criptografar o agente com uma chave do KMS gerenciada pelo cliente, consulte Criptografia de recursos do agente para obter mais permissões que precisam ser adicionadas.
-
Permissões para usar os modelos de base do Amazon Bedrock para executar inferência de modelos nos prompts usados na orquestração do agente.
-
Permissões para acessar os esquemas da API do grupo de ação do agente no Amazon S3. Omita essa declaração se o agente não tiver grupos de ação.
-
Permissões para acessar as bases de conhecimento associadas ao agente. Omita essa declaração se o agente não tiver bases de conhecimento associadas.
-
Permissões para acessar uma base de conhecimento de terceiros (Pinecone ou Redis Enterprise Cloud) associada ao agente. Omita essa declaração se a base de conhecimento for primária (Amazon OpenSearch Sem Servidor ou Amazon Aurora) ou se o agente não tiver bases de conhecimento associadas.
{ "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 baseada em identidade para permitir que o Amazon Bedrock use o throughput provisionado com o alias do agente
Se você associar um throughput provisionado a um alias do agente, anexe a política baseada em identidade a seguir ao perfil de serviço ou adicione a declaração à política em Permissões baseadas em identidade para o perfil de serviço de 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 baseada em identidade para permitir que o Amazon Bedrock use barreiras de proteção com o agente
Se você associar uma barreira de proteção ao agente, anexe a política baseada em identidade a seguir ao perfil de serviço ou adicione a declaração à política em Permissões baseadas em identidade para o perfil de serviço de 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 baseada em identidade para permitir que o Amazon Bedrock acesse arquivos do S3 para uso com a interpretação de código
Se você habilitar Habilitar a interpretação de código no Amazon Bedrock, anexe a política baseada em identidade a seguir ao perfil de serviço ou adicione a declaração à política em Permissões baseadas em identidade do perfil de serviço de 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 baseada em recurso para permitir que o Amazon Bedrock invoque uma função do Lambda do grupo de ação
Siga as etapas em Usar políticas baseadas em recurso para o Lambda e anexe a política baseada em recurso a seguir a uma função do Lambda para permitir que o Amazon Bedrock acesse a função do Lambda dos grupos de ação do agente, substituindo ${values}
conforme necessário. A política contém chaves de condição opcionais (consulte Chaves de condição do Amazon Bedrock e Chaves de contexto de condição globais da AWS) no campo Condition
que devem ser usadas como uma prática recomendada de segurança.
{ "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}
" } } } ] }