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á.
Segurança e controles de acesso
O chicote oferece as mesmas primitivas de segurança que o resto AgentCore, conectadas por configuração.
-
Execução isolada. Cada sessão é executada em sua própria microVM Firecracker em tempo de execução. AgentCore Sem estado compartilhado, sem sistema de arquivos compartilhado.
-
Função de execução do IAM. O equipamento assume uma função do IAM que você possui, configurável para incluir Bedrock, ECR e as primitivas que ele CloudWatch toca. AgentCore Veja um exemplo de política de função de execução abaixo.
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 por uma 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.
-
Modelo de permissões do IAM. As APIs Harness exigem permissões tanto no recurso harness quanto no recurso Runtime AgentCore subjacente. Por exemplo, a chamada
InvokeHarnessexige ambasbedrock-agentcore:InvokeHarnessasbedrock-agentcore:InvokeAgentRuntimepermissões no ARN do chicote. O mesmo padrão se aplica às operações do plano de controle:UpdateHarnessDeleteHarnessrequerbedrock-agentcore:UpdateAgentRuntimebedrock-agentcore:DeleteAgentRuntime, exige e assim por diante. Consulte a política de funções de execução para ver a lista completa. -
Suporte de entrada para OAuth. Os recursos do Harness configurados pelo JWT exigem que os chamadores apresentem um JWT válido emitido por um provedor de identidade configurado antes de invocarem o chicote. AgentCore A identidade filtra a identidade do usuário final por meio do agente, para que as ferramentas downstream possam chamar APIs com credenciais de usuário com escopo definido, em vez de uma conta de serviço compartilhada.
-
PVC. Conecte sessões de aproveitamento à sua VPC para ter acesso privado aos recursos internos.
-
Políticas sobre o Gateway. Quando as ferramentas são fornecidas por meio do AgentCore Gateway, Cedar-based as políticas podem ser configuradas para bloquear cada chamada: quem pode chamar qual ferramenta, sob quais condições, com quais argumentos.
nota
SigV4 e identidade por usuário. Quando os chamadores se autenticam com o SigV4 (AWS IAM), o equipamento não propaga a identidade por usuário nas chamadas de ferramentas downstream. Isso significa que os recursos de escopo de credenciais por usuário no AgentCore Identity Token Vault, como armazenamento de tokens OAuth com escopo de usuário e troca de tokens em nome da troca de tokens, só estão disponíveis quando os chamadores se autenticam com um Bearer JWT por meio do caminho de entrada do OAuth. Se seu caso de uso exigir o escopo de credenciais por usuário para ferramentas downstream, configure o OAuth de entrada no equipamento. O suporte SigV4 para identidade por usuário está planejado para uma versão futura.
Modelo de responsabilidade compartilhada
O equipamento é baseado no AgentCore Runtime e o limite de segurança é o mesmo: autenticação IAM ou JWT combinada com isolamento de microVM. Qualquer diretor que passe por esse portão alcança as ferramentas e os recursos configurados no chicote, o que torna a autorização do chamador e a validação de entrada uma responsabilidade do cliente.
AWS responsabilidades:
-
Infraestrutura segura e isolamento de microVM no nível do hardware
-
Correção do kernel do sistema operacional
-
Correção de linguagem em tempo de execução para implantações diretas de código
-
Código gerenciado de tempo de execução do harness, incluindo validação da estrutura de solicitação aceita
InvokeHarness -
Segurança da infraestrutura de rede
-
Disponibilidade e resiliência do serviço
Suas responsabilidades:
-
Segurança do código do agente e gerenciamento de dependências
-
Controles de acesso e políticas de recursos do IAM
-
Segurança de comandos executados em sessões de tempo de execução
-
Session-to-user imposição de mapeamento
-
Validação de entrada e prevenção imediata de injeção - incluindo a validação de todas as
InvokeHarnessentradas (consulteLimite de confiança e validação de entrada) -
Validação da configuração do modelo - como
additionalParamsapiBase, emodelIdcampos (consulteParâmetros de configuração do modelo) -
Fontes de habilidades e instruções — garantindo que os buckets do S3, repositórios Git e URLs usados para habilidades contenham conteúdo confiável (consulte) Habilidades e instruções
-
Atualizações da imagem do contêiner (para implantações de contêiner) - reconstrua regularmente com a imagem base segura mais recente
-
Configuração de rede (grupos de segurança, terminais VPC, tabelas de rotas)
Para ver o modelo completo AgentCore de responsabilidade compartilhada do Runtime, consulte Práticas recomendadas de segurança para o AgentCore Runtime.
Limite de confiança e validação de entrada
Qualquer diretor que passe pelo portão de autenticação e autorização IAM ou JWT tem acesso à sessão completa da microVM, incluindo as ferramentas e os recursos configurados no equipamento. O equipamento valida a estrutura da solicitação que aceita, mas não inspeciona o significado das solicitações, do conteúdo da tela nem impõe restrições comportamentais ao agente.
Se você expor o equipamento a usuários finais nos quais não confia totalmente (funcionários, consumidores externos ou integrações de terceiros), valide e limpe as mensagens em sua camada de aplicativo antes de transmiti-las. InvokeHarness Isso inclui remover os tipos de blocos de conteúdo ou os campos de configuração do modelo que você não deseja enviar. Esse é o mesmo padrão de qualquer serviço que aceita cargas de chamadores autorizados, como Lambda, Amazon API Gateway e Amazon SQS.
nota
O chicote rejeita toolUse blocos na mensagem final do lado do servidor, conforme mostrado no exemplo a seguir. Para implantações AgentCore de tempo de execução (sem aproveitamento), o AgentCore Runtime não oferece proteção no lado do servidor. O ponto de entrada do seu agente deve validar se o campo de solicitação é uma string e rejeitar ou remover blocos de toolUse conteúdo antes de passar a entrada para a estrutura do agente. Consulte as melhores práticas de segurança para AgentCore Runtime.
As ferramentas são executadas somente como resultado do raciocínio do modelo. O equipamento não aceita um bloco ToolUse na mensagem final de uma InvokeHarness solicitação, portanto, um chamador não pode nomear uma ferramenta e enviá-la diretamente.
O exemplo a seguir mostra uma solicitação que o chicote está configurado para rejeitar. A mensagem final contém um toolUse bloco nomeando a shell ferramenta integrada:
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, messages=[{ "role": "assistant", "content": [ { "toolUse": { "toolUseId": TOOL_USE_ID, "name": "shell", "input": { "command": "pwd", } } } ] }], )
O equipamento não avalia qual ferramenta o bloco nomeia, então isso se aplica às ferramentas integradas do lado do servidor e às funções embutidas fornecidas na chamada.
Ainda há suporte para retornar o resultado de uma ferramenta. O equipamento aceita um bloco ToolResult na mensagem final e o modelo retoma o raciocínio sobre esse resultado. É assim que as ferramentas de função https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/harness-tools.html embutidas funcionam: a toolUse mensagem do assistente é seguida pela mensagem toolResult na mesma solicitação, portanto, o toolUse bloco não está na mensagem final.
Parâmetros de configuração do modelo
O model campo em InvokeHarness aceita additionalParams as configurações Bedrock, OpenAI e LiteLM. Esses parâmetros são passados inalterados para o provedor do modelo subjacente. O chicote não valida, filtra ou restringe esses parâmetros.
Os chamadores que podem definir additionalParams podem:
-
Redirecione solicitações para endpoints arbitrários - o
aws_bedrock_runtime_endpointparâmetro do LiteLM substitui o URL do endpoint Bedrock. Um chamador pode rotear a solicitação assinada, incluindo a assinatura SigV4 e as credenciais da sessão, para um endpoint especificado na configuração do modelo de confiança. -
Substituir cabeçalhos HTTP - O
extra_headersparâmetro do OpenAI injeta ou substitui cabeçalhos HTTP na solicitação de saída para o provedor do modelo, incluindo o cabeçalho.Authorization -
Tente a suposição da função do IAM - o
aws_role_nameparâmetro do LiteLM instrui o tempo de execução a assumir uma função diferente do IAM antes de chamar o provedor do modelo. A tentativa é bem-sucedida ou falha com base nassts:AssumeRolepermissões da função de execução. -
Alterar o modelo ou a região de destino - Os
apiBasecamposmodelIde podem redirecionar totalmente a inferência para um modelo, região ou provedor diferente.
Se seu aplicativo expõe InvokeHarness recursos a chamadores nos quais você não confia totalmente, considere implementar a validação de entrada em sua camada de aplicativo. Os exemplos incluem:
-
Remover ou listar o
modelcampo antes de encaminhar solicitações -
Validando ou removendo
additionalParamsapiBase, emodelId -
Negar a função
sts:AssumeRolede execução se a troca de função não for necessária -
Definindo o escopo do acesso à rede usando grupos de segurança da VPC
Habilidades e instruções
As habilidades são pacotes de markdown e scripts que o equipamento obtém do Amazon S3 ou do Git no momento da invocação e injeta no contexto do agente. O equipamento trata todo o conteúdo de habilidades como uma entrada confiável. Ele não valida, higieniza ou inspeciona o conteúdo ou a fonte das habilidades antes de fornecê-las ao agente.
Você é responsável por:
-
Garantir que as fontes de habilidades (buckets do S3, repositórios Git, URLs) sejam confiáveis e tenham acesso controlado
-
Analisar o conteúdo das habilidades, incluindo instruções de marcação e quaisquer scripts incorporados, antes de configurá-las no equipamento
-
Controlar quais diretores podem substituir o
skillscampo por invocação, já que os chamadores podem apontar o equipamento para fontes arbitrárias do S3 ou do Git
As habilidades podem ser substituídas por chamada. InvokeHarness Se seu aplicativo encaminhar a entrada fornecida pelo chamador paraInvokeHarness, o chamador poderá fornecer suas próprias fontes de habilidades contendo instruções ou scripts arbitrários. Exemplos de mitigações incluem:
-
Remover ou ignorar o
skillscampo das solicitações fornecidas pelo chamador -
Permitir listar prefixos S3 permitidos ou repositórios Git
Observabilidade e correlação de traços
O equipamento propaga automaticamente identificadores de correlação para AgentCore primitivos downstream (gateway, memória, interpretador de código, navegador) para permitir visualizações de rastreamento unificadas. CloudWatch Esses identificadores são usados apenas para fins de observabilidade — eles nunca são usados para decisões de autorização ou acesso a dados.
Configuração de rede
Por padrão, as sessões de aproveitamento são executadas na rede pública. Para acessar recursos privados (bancos de dados, APIs internas, sub-redes privadas), implante o equipamento em sua VPC.
exemplo
Importante
No modo VPC, o harness retira seu contêiner de aplicativos gerenciados de um repositório privado do Amazon ECR na região do harness no início de cada sessão. Sua VPC não precisa de um gateway NAT ou acesso à Internet para essa extração. Em vez disso, crie endpoints VPC de interface para com.amazonaws.<region>.ecr.dkr ecom.amazonaws.<region>.ecr.api, e um terminal VPC de gateway paracom.amazonaws.<region>.s3, para que a imagem e suas camadas se resolvam dentro de sua VPC. Se seu agente ligar para o Amazon Bedrock para inferência, crie também um endpoint de interface para. com.amazonaws.<region>.bedrock-runtime Sem os endpoints necessários, as sessões não iniciam devido ao tempo limite de extração da imagem. A função de execução deve permitir a extração do repositório privado. Veja a política da função de execução.
Para obter orientações adicionais de configuração de rede, consulte Configurar o AgentCore tempo de execução e as ferramentas integradas de configuração de VPC. Para conectividade de API de entrada via PrivateLink, consulte Endpoints da interface VPC.
OAuth de entrada
Exija que os chamadores apresentem um JWT válido emitido por um provedor de identidade configurado antes que possam invocar o equipamento. AgentCore A identidade filtra a identidade do usuário final por meio do agente, para que as ferramentas downstream possam chamar APIs com credenciais de usuário com escopo definido, em vez de uma conta de serviço compartilhada.
exemplo
Saiba mais: AgentCore Identidade · autorizador JWT de entrada · credenciais de saída https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/identity-outbound-credential-provider.html
Políticas de gateway
Quando as ferramentas são fornecidas pelo AgentCore Gateway, Cedar-based https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html as políticas bloqueiam todas as chamadas: quem pode chamar qual ferramenta, sob quais condições, com quais argumentos.
Saiba mais: AgentCore Política · padrões comuns
Política de função de execução
O equipamento assume uma função de execução do IAM que você fornece. A política de confiança da função deve permitir que o diretor do AgentCore serviço a assuma:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "bedrock-agentcore.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
Permissões de IAM necessárias para chamadores
As APIs Harness exigem permissões tanto no recurso harness quanto no AgentCore Runtime subjacente e nos recursos opcionais AgentCore de memória. A tabela a seguir lista as ações necessárias para cada API:
| solicitações de | Ações de IAM necessárias |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A maioria das ações usa o harness ARN como escopo do recurso:. arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id> As ações de endpoint também usam o ARN do endpoint harness:. arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id>/harness-endpoint/<endpointName>
As DeleteHarnessEndpoint açõesGetHarnessEndpoint,UpdateHarnessEndpoint, e exigem o ARN do chicote e o ARN do endpoint. CreateHarnessEndpointrequer apenas o arnês ARN. O endpoint ainda não existe, então nenhum ARN do endpoint é necessário. Quando você invoca um endpoint personalizado InvokeHarness e InvokeAgentRuntimeCommand exige o ARN do harness e o ARN do endpoint.
Exemplo de política de função de execução
O exemplo a seguir abrange um equipamento na rede pública, que extrai sua imagem de contêiner gerenciado do Amazon ECR Public. Um equipamento no modo VPC extrai a imagem gerenciada de um repositório privado do Amazon ECR na região do harness, portanto, sua função de execução também precisa de permissões privadas de extração do ECR. Adicione as declarações no modo VPC: extração de imagem gerenciada do ECR privado para a função de execução de um VPC-mode equipamento.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:<region>:<accountId>:*" ] }, { "Sid": "EcrPublicTokenAccess", "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Sid": "StsForEcrPublicPull", "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" }, { "Sid": "XRayTracingAccess", "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*" }, { "Sid": "CloudWatchLogsGroup", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*" }, { "Sid": "CloudWatchLogsDescribeGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:*" }, { "Sid": "CloudWatchLogsStream", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" }, { "Sid": "CloudWatchLogsPutResourcePolicy", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": "*" }, { "Sid": "CloudWatchMetricsPublish", "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "AgentCoreWorkloadIdentity", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreBrowserDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:browser/*" }, { "Sid": "AgentCoreCodeInterpreterDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:code-interpreter/*" }, { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/harness_<agentNameAbbrv>_*" } ] }
A AgentCore CLI cria uma função com essas permissões automaticamente quando você organiza um projeto de aproveitamento. A política acima é para casos em que você mesmo cria a função.
nota
O BedrockModelInvocation exemplo de declaração acima permite invocar todos os modelos de fundação em todas as regiões e todos os recursos da Bedrock em sua conta. Para reduzir isso, substitua os ARNs de recursos por perfis de inferência específicos, que permitem rotear solicitações entre modelos e regiões com um único ARN. Por exemplo: arn:aws:bedrock:<destination_regions>:<accountId>:inference-profile/<profileId> emparelhado com todas as regiões permitidasarn:aws:bedrock:<region>:<accountId>:foundation-model/<modelId>.
Para cargas de trabalho de produção, defina os Resource valores de acordo com os ARNs específicos que seu equipamento precisa, em vez de usar. "*"
Permissões adicionais para recursos opcionais
Abaixo estão exemplos de políticas que você pode acrescentar à sua função de execução com base nos recursos que seu equipamento usa. Siga o princípio do menor privilégio: conceda ao seu agente de controle somente as ferramentas e credenciais específicas de que ele precisa para inferência. Consulte Referência de espaço reservado as definições de espaços reservados.
Acesso ECR privado (imagens de contêiner personalizadas)
Adicione essa política quando seu equipamento usa uma imagem ECR privada para um contêiner personalizado.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECRImageAccess", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:<ecrRegion>:<ecrAccountId>:repository/<ecrRepoName>" }, { "Sid": "ECRTokenAccess", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
Modo VPC: extração gerenciada de imagens do ECR privado
Adicione essa política quando seu equipamento for executado no modo VPC. No modo VPC, o harness retira seu contêiner de aplicativos gerenciados de um repositório privado do Amazon ECR na região do harness (denominada). harness-<region> Esse pull usa ECR privado em vez do Amazon ECR Public, portanto, a função de execução precisa de permissões privadas de pull de ECR. Essa política é separada das permissões personalizadas da imagem do contêiner — ela se aplica à imagem AWS gerenciada mesmo quando você não fornece seu próprio contêiner.
O repositório pertence a uma conta de AWS serviço, portanto, a conta no ARN do repositório tem um curinga. As permissões de extração têm como escopo a região de harness.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EcrManagedImagePull", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:<region>:*:repository/harness-*" }, { "Sid": "EcrManagedImageToken", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
Certifique-se de que os endpoints de VPC necessários existam em sua VPC (consulte Configuração de rede): endpoints de interface para com.amazonaws.<region>.ecr.dkr e e com.amazonaws.<region>.ecr.api um endpoint de gateway para. com.amazonaws.<region>.s3
AgentCore Memória
Adicione essa política quando seu equipamento usa uma instância de memória de propriedade do cliente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/<memoryId>" } ] }
AgentCore Navegador (personalizado)
Adicione essa política quando seu equipamento usa um recurso de navegador personalizado de propriedade do cliente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreBrowserCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:browser-custom/<browserCustomId>" } ] }
AgentCore Intérprete de código (personalizado)
Adicione essa política quando seu equipamento usa um intérprete de código personalizado de propriedade do cliente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreCodeInterpreterCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:code-interpreter-custom/<codeInterpreterCustomId>" } ] }
AgentCore Gateway
Adicione essa política quando seu equipamento usa um gateway configurado com autenticação de entrada SigV4.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreGatewayAccess", "Effect": "Allow", "Action": "bedrock-agentcore:InvokeGateway", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:gateway/<gatewayId>" } ] }
Fontes de habilidades no Amazon S3 e no Git
Adicione essa política quando seu equipamento buscar uma habilidade de uma fonte do Amazon S3. A função de execução lista e baixa os objetos de habilidade sob o prefixo bucket.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreSkillS3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<skillBucket>", "arn:aws:s3:::<skillBucket>/*" ] } ] }
Para obter uma habilidade em um repositório Git privado, o equipamento lê um token de acesso pessoal de um provedor de credenciais de chave de API. Conceda a política de provedor de credenciais de chave de API mostrada abaixo para o provedor de credenciais que detém o token.
Provedor de credenciais de chave de API (referências de ARN de cabeçalho OpenAI, Gemini, LiteLM ou MCP)
Adicione essa política quando seu equipamento usa um provedor de credenciais de chave de API para fornecedores de modelos, como OpenAI, Gemini ou LiteLM.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreApiKeyTokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreApiKeyTokenVaultPerKey", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/apikeycredentialprovider/<apiKeyName>" }, { "Sid": "AgentCoreApiKeySecret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/apikey/<apiKeyName>-*" } ] }
Provedor de credenciais OAuth2 (Gateway) OAuth-protected
Adicione essa política quando seu equipamento usa um provedor de credenciais OAuth2 para ferramentas de gateway. OAuth-protected
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreOAuth2TokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreOAuth2TokenVaultPerProvider", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/oauth2credentialprovider/<oauthProviderName>" }, { "Sid": "AgentCoreOAuth2Secret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/oauth2/<oauthProviderName>-*" } ] }
Referência de espaço reservado
Substitua os seguintes espaços reservados nas políticas acima por valores específicos para seu ambiente:
| Espaço reservado | Description |
|---|---|
|
|
A AWS região em que seu recurso está implantado. |
|
|
ID AWS da sua conta. |
|
|
O nome do seu agente de arnês. |
|
|
A forma abreviada do nome do seu agente de equipamento usado nos nomes de recursos de AgentCore memória padrão. |
|
|
O ID do seu recurso AgentCore de memória. |
|
|
O ID do seu recurso de navegador personalizado. |
|
|
O ID do seu recurso de intérprete de código personalizado. |
|
|
O ID do seu recurso do AgentCore Gateway. |
|
|
O nome do seu provedor de credenciais de chave de API. |
|
|
O nome do bucket do S3 que contém seus arquivos de habilidades. |
|
|
O nome do seu provedor de credenciais OAuth2. |
|
|
A região em que seu repositório ECR está hospedado. |
|
|
O ID da AWS conta que possui o repositório ECR. |
|
|
O nome do seu repositório ECR. |
nota
Os recursos finais -* do Secrets Manager explicam o sufixo aleatório que o Secrets Manager acrescenta aos ARNs secretos.
Tópicos relacionados
-
Ferramentas- tipos de ferramentas e padrões AllowedTools
-
Ambiente e sistema de arquivos- ambientes personalizados e permissões de ECR
-
Controle o custo com limites- limites de execução para controlar o custo