Crie uma função de serviço para Agents for Amazon Bedrock - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Crie uma função de serviço para Agents for Amazon Bedrock

Para usar uma função de serviço personalizada para agentes em vez da que o Amazon Bedrock cria automaticamente, crie uma função do IAM e anexe as seguintes permissões seguindo as etapas em Criar uma função para delegar permissões a um AWS serviço.

  • Política de confiança

  • Uma política contendo as seguintes permissões baseadas em identidade:

    • Acesso aos modelos básicos do Amazon Bedrock.

    • Acesso aos objetos do Amazon S3 contendo os OpenAPI esquemas dos grupos de ação em seus agentes.

    • Permissões para o Amazon Bedrock consultar as bases de conhecimento que você deseja anexar aos seus agentes.

    • Se alguma das situações a seguir se referir ao seu caso de uso, adicione a declaração à política ou adicione uma política com a declaração à função de serviço:

      • (Opcional) Se você associar uma taxa de transferência provisionada ao seu alias de agente, permissões para realizar a invocação do modelo usando essa taxa de transferência provisionada.

      • (Opcional) Se você associar uma grade de proteção ao seu agente, permissões para aplicar essa grade de proteção. Se a grade de proteção for criptografada com uma chave KMS, a função de serviço também precisará de permissões para descriptografar a chave

      • (Opcional) Se você criptografar seu agente com uma chave KMS, permissões para descriptografar a chave.

Quer você use uma função personalizada ou não, você também precisa anexar uma política baseada em recursos às funções do Lambda para que os grupos de ação em seus agentes forneçam permissões para que a função de serviço acesse as funções. Para ter mais informações, consulte Política baseada em recursos para permitir que o Amazon Bedrock invoque uma função Lambda do grupo de ação.

Relação de confiança

A política de confiança a seguir permite que o Amazon Bedrock assuma essa função 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 para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use como uma prática recomendada de segurança.

nota

Como prática recomendada para fins de segurança, substitua o * por IDs de agentes 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 a função de serviço de Agentes

Anexe a política a seguir para fornecer permissões para a função de serviço, substituindo $ {values} conforme necessário. A política contém as seguintes declarações. Omita uma declaração se ela não for aplicável ao seu caso de uso. A política contém chaves de condição opcionais (consulte Chaves de condição para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use como uma prática recomendada de segurança.

nota

Se você criptografar seu agente com uma chave KMS gerenciada pelo cliente, consulte Criptografia dos recursos do agente para obter mais permissões que você precisa adicionar.

  • Permissões para usar os modelos da Amazon Bedrock Foundation para executar inferência de modelos nos prompts usados na orquestração do seu agente.

  • Permissões para acessar os esquemas de API do grupo de ação do seu agente no Amazon S3. Omita essa declaração se seu agente não tiver grupos de ação.

  • Permissões para acessar as bases de conhecimento associadas ao seu agente. Omita essa declaração se seu agente não tiver bases de conhecimento associadas.

  • Permissões para acessar uma base de conhecimento terceirizada (PineconeouRedis Enterprise Cloud) associada ao seu agente. Omita essa declaração se sua base de conhecimento for própria (Amazon OpenSearch Serverless ou Amazon Aurora) ou se seu 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 a taxa de transferência provisionada com seu alias de agente

Se você associar uma taxa de transferência provisionada a um alias do seu agente, anexe a seguinte política baseada em identidade à função de serviço ou adicione a declaração à política em. Permissões baseadas em identidade para a função 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 grades de proteção com seu agente

Se você associar uma grade de proteção ao seu agente, anexe a seguinte política baseada em identidade à função de serviço ou adicione a declaração à política em. Permissões baseadas em identidade para a função 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 interpretação de código

Se você habilitarHabilite a interpretação de código no Amazon Bedrock, anexe a seguinte política baseada em identidade à função de serviço ou adicione a declaração à política em Permissões baseadas em identidade para a função 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 recursos para permitir que o Amazon Bedrock invoque uma função Lambda do grupo de ação

Siga as etapas em Usando políticas baseadas em recursos para o Lambda e anexe a seguinte política baseada em recursos a uma função do Lambda para permitir que o Amazon Bedrock acesse a função Lambda para os grupos de ação do seu agente, substituindo $ {values} conforme necessário. A política contém chaves de condição opcionais (consulte Chaves de condição para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use 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}" } } } ] }