View a markdown version of this page

Permissões do IAM para AgentCore tempo de execução - Base da Amazônia AgentCore

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á.

Permissões do IAM para AgentCore tempo de execução

A seguir estão as permissões do IAM necessárias para criar um agente em um AgentCore Runtime e as permissões da função de execução que um agente precisa executar em um AgentCore Runtime. Você também pode usar políticas baseadas em recursos para controlar o acesso aos seus recursos de tempo de execução.

Para obter informações sobre o uso de políticas baseadas em recursos para controlar o acesso aos seus recursos de AgentCore tempo de execução, consulte Resource-based as políticas do Amazon Bedrock. AgentCore

Use o Amazon Bedrock AgentCore

Para usar o Amazon Bedrock AgentCore, você pode anexar a política BedrockAgentCoreFullAccess AWS gerenciada ao seu usuário do IAM ou à sua função do IAM. Essa política AWS gerenciada concede amplas permissõesGetWorkloadAccessTokenForUserId, inclusive, que permitem a emissão de tokens de acesso à carga de trabalho usando cadeias de caracteres de identificador de usuário fornecidas pelo chamador sem a verificação do token IdP. Recomendamos criar uma política personalizada com apenas as permissões que seu aplicativo exige, copiando as declarações relevantes e restringindo os recursos ao seu caso de uso específico. Para implantações de produção nas quais seu aplicativo tem tokens JWT disponíveis, negue GetWorkloadAccessTokenForUserId e conceda explicitamente somente. GetWorkloadAccessTokenForJWT Para obter mais informações, consulte Obter token de acesso à carga de trabalho. Para usar a AgentCore CLI, você precisa de permissões adicionais.

Use a AgentCore CLI

Para usar a AgentCore CLI, anexe a seguinte política do IAM ao seu usuário ou função do IAM. Para alterar as permissões do IAM, consulte Alterar permissões para um usuário do IAM.

Importante

As políticas do IAM criadas pela AgentCore CLI são projetadas para fins de desenvolvimento e teste. Essas permissões concedem amplo acesso para facilitar a prototipagem rápida e não são adequadas para ambientes de produção. Para implantações de produção, crie políticas de IAM personalizadas que sigam o princípio do menor privilégio e restrinjam as permissões somente aos recursos e ações específicos exigidos pelo seu aplicativo Amazon Bedrock AgentCore . Para obter diretrizes completas de segurança do IAM, consulte Práticas recomendadas de segurança para AgentCore Runtime.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "IAMRoleManagement", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:DeleteRole", "iam:GetRole", "iam:PutRolePolicy", "iam:DeleteRolePolicy", "iam:AttachRolePolicy", "iam:DetachRolePolicy", "iam:TagRole", "iam:ListRolePolicies", "iam:ListAttachedRolePolicies" ], "Resource": [ "arn:aws:iam::*:role/*BedrockAgentCore*", "arn:aws:iam::*:role/service-role/*BedrockAgentCore*" ] }, { "Sid": "CodeBuildProjectAccess", "Effect": "Allow", "Action": [ "codebuild:StartBuild", "codebuild:BatchGetBuilds", "codebuild:ListBuildsForProject", "codebuild:CreateProject", "codebuild:UpdateProject", "codebuild:BatchGetProjects" ], "Resource": [ "arn:aws:codebuild:*:*:project/bedrock-agentcore-*", "arn:aws:codebuild:*:*:build/bedrock-agentcore-*" ] }, { "Sid": "CodeBuildListAccess", "Effect": "Allow", "Action": [ "codebuild:ListProjects" ], "Resource": "*" }, { "Sid": "IAMPassRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/AmazonBedrockAgentCore*", "arn:aws:iam::*:role/service-role/AmazonBedrockAgentCore*" ] }, { "Sid": "CloudWatchLogsAccess", "Effect": "Allow", "Action": [ "logs:GetLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/bedrock-agentcore/*", "arn:aws:logs:*:*:log-group:/aws/codebuild/*" ] }, { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:CreateBucket", "s3:PutLifecycleConfiguration" ], "Resource": [ "arn:aws:s3:::bedrock-agentcore-*", "arn:aws:s3:::bedrock-agentcore-*/*" ] }, { "Sid": "ECRRepositoryAccess", "Effect": "Allow", "Action": [ "ecr:CreateRepository", "ecr:DescribeRepositories", "ecr:GetRepositoryPolicy", "ecr:InitiateLayerUpload", "ecr:CompleteLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:ListImages", "ecr:TagResource" ], "Resource": [ "arn:aws:ecr:*:*:repository/bedrock-agentcore-*" ] }, { "Sid": "ECRAuthorizationAccess", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" } ] }

Permissões de usuário para o Amazon Bedrock Console AgentCore

Anexe a BedrockAgentCoreFullAccess política à função do console. Além disso, adicione as seguintes permissões para o IAM se quiser que o console de serviço crie automaticamente a função de execução.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "IAMRoleAccess", "Effect": "Allow", "Action": ["iam:CreateRole"], "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"] }, { "Sid": "IAMPolicyAccess", "Effect": "Allow", "Action": ["iam:CreatePolicy"], "Resource": ["arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*"] }, { "Sid": "IAMRolePolicyAccess", "Effect": "Allow", "Action": ["iam:AttachRolePolicy"], "Resource": ["arn:aws:iam::*:role/service-role/AmazonBedrockAgentCoreRuntimeDefaultServiceRole-*"], "Condition": { "ArnLike": { "iam:PolicyARN": "arn:aws:iam::*:policy/service-role/AmazonBedrockAgentCoreRuntimeExecutionPolicy_*" } } }] }

Função de execução para executar um agente no AgentCore Runtime

Para executar o agente ou a ferramenta no AgentCore Runtime, você precisa de uma função de execução do Gerenciamento de AWS Identidade e Acesso. Para obter informações sobre como criar uma função do IAM, consulte Criação de função do IAM.

nota

Se o gerente de funções estiver habilitado em sua conta, AgentCore anexará a função para você e a etapa de seleção de função descrita aqui será substituída pela opção Personalizar. Para usar um perfil diferente, escolha Personalizar. Para saber mais informações, consulte Criação do perfil do IAM no Guia do usuário do IAM.

A função de execução de implantação AgentCore direta do Amazon Bedrock é uma função do IAM que a Amazon Bedrock AgentCore assume para executar um agente. Substitua o seguinte:

  • us-east-1com a AWS região que você está usando

  • 123456789012com o ID AWS da sua conta

  • agentNamecom o nome do seu agente. Você precisará decidir o nome do agente antes de criar a função e o AgentCore Runtime.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*" ] }, { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*" ] }, { "Effect": "Allow", "Action": ["logs:DescribeLogGroups"], "Resource": ["arn:aws:logs:us-east-1:123456789012:log-group:*"] }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" ] }, { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": ["*"] }, { "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:us-east-1:123456789012:*" ] }] }

A função AgentCore de execução do Runtime é uma função do IAM que o AgentCore Runtime presume para executar um agente. Substitua o seguinte:

  • us-east-1com a AWS região que você está usando

  • 123456789012com o ID AWS da sua conta

  • agentNamecom o nome do seu agente. Você precisará decidir o nome do agente antes de criar a função e o AgentCore Runtime.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "ECRImageAccess", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Resource": [ "arn:aws:ecr:us-east-1:123456789012:repository/*" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*" ] }, { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/agentName-*" ] }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:123456789012:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" ] }, { "Sid": "ECRTokenAccess", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "GetAgentAccessToken", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT", "bedrock-agentcore:GetWorkloadAccessTokenForUserId" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/agentName-*" ] }, {"Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:us-east-1:123456789012:*" ] } ] }

AgentCore Política de confiança em tempo de execução

A função AgentCore de execução do Runtime deve incluir a seguinte política de confiança, que permite que o AgentCore Runtime assuma a função.

Na política, substitua:

  • us-east-1com a AWS região que você está usando

  • 123456789012com o ID AWS da sua conta

Para adicionar a política de confiança à função AgentCore de execução do Runtime, acesse o AWS Management Console, navegue até a função, escolha a guia Relações de confiança e escolha Editar política de confiança.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AssumeRolePolicy", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] }