View a markdown version of this page

Escopo da política - Amazon Bedrock AgentCore

Escopo da política

O escopo define a que a política se aplica. Cada política da Cedar especifica três componentes:

permit( principal is AgentCore::OAuthUser, // WHO is making the request action == AgentCore::Action::"...", // WHAT they want to do resource is AgentCore::Gateway::"..." // WHICH resource they want to access )

Entidades e namespaces

O Cedar usa entidades para representar princípios, ações e recursos. Todas as entidades no AgentCore Gateway usam o AgentCore namespace.

Formato da entidade: Namespace::EntityType::"identifier"

Entidade principal

O principal identifica a entidade que está fazendo a solicitação de autorização. O tipo principal depende de como seu AgentCore Gateway está configurado para autenticação.

Usuário principal do OAuth

Ao usar a autorização OAuth, o principal é: AgentCore::OAuthUser

principal is AgentCore::OAuthUser

Componentes:

  • principal- A entidade que faz a solicitação de autorização

  • AgentCore::OAuthUser- Tipo de entidade que representa OAuth-authenticated usuários

  • is- Operador de verificação de tipo (corresponde a qualquer OAuthUser entidade)

Os diretores são OAuth-authenticated usuários. Cada usuário tem um ID exclusivo da subafirmação do JWT.

Entidade principal do IAM

Ao usar a autorização AWS_IAM, o principal é: AgentCore::IamEntity

principal is AgentCore::IamEntity

Componentes:

  • principal- A entidade que faz a solicitação de autorização

  • AgentCore::IamEntity- Tipo de entidade que representa os IAM-authenticated chamadores

  • is- Operador de verificação de tipo (corresponde a qualquer um IamEntity)

Os diretores do IAM têm um id atributo contendo o ARN do IAM do chamador. Você pode usar a correspondência de padrões nesse atributo para implementar o controle de acesso baseado em conta ou função.

Ação

A ação especifica a operação que está sendo solicitada:

action == AgentCore::Action::"RefundTool___process_refund"

Componentes:

  • action- A operação que está sendo solicitada

  • AgentCore::Action::"RefundTool___process_refund"- Entidade de ação específica

  • ==- Operador de correspondência exata (somente esta ação específica)

As ações representam chamadas de ferramentas no MCP AgentCore Gateway. Cada ferramenta tem uma entidade de ação correspondente.

Nomes de ações por tipo de alvo

O identificador de ação em sua política depende do tipo de alvo configurado em seu gateway:

Target type Formato de ação Exemplo

MCP

<TargetName>___<ToolName>

NotesTool___manage_notes

AgentCore Tempo de execução

<TargetName>___<METHOD>:/invocations

StrandsAgentTarget___POST:/invocations

Proxy (HTTP)

<TargetName>___<METHOD>:<uri>

MyAPI___POST:/inference/v1/chat/completions

Várias ações

O Cedar não suporta ações com caracteres curinga. Cada ação deve ser referenciada explicitamente usando o identificador exato da ação ()AgentCore::Action::"ToolName___operation". Para agrupar várias ferramentas em uma única regra, use um Gateway Target (um Action Group) e escreva políticas em relação a esse alvo.

Por exemplo, para permitir o acesso somente a ferramentas cujos nomes começam com Read, você pode criar um Gateway Target chamado ReadToolsTarget que inclua cada uma dessas ferramentas e, em seguida, escrever uma política como:

permit( principal, action in AgentCore::Action::"ReadToolsTarget", resource == AgentCore::Gateway::"<gateway-arn>" );

Isso permitirá que todas as ferramentas sejam incluídas nessa meta, dependendo do efeito da política.

Recurso

O recurso identifica o destino da solicitação:

resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"

Componentes:

  • resource- O alvo da solicitação

  • AgentCore::Gateway- Tipo de entidade que representa instâncias de gateway

  • ==- Operador de correspondência exata (corresponde a este AgentCore Gateway específico)

O AgentCore Gateway é o servidor MCP que roteia as chamadas da ferramenta.

Requisitos de especificidade de recursos

Ao especificar uma ou mais ações específicas, você deve usar ARNs de AgentCore gateway específicos:

// Required: Specific Gateway ARN for specific action(s) resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"

Isso se aplica a:

  • Ação única: action == AgentCore::Action::"ToolName"

  • Várias ações específicas: action in [AgentCore::Action::"Tool1", AgentCore::Action::"Tool2"]

Use verificações de tipo somente ao combinar qualquer ação:

// For policies covering any action (not specific tools) resource is AgentCore::Gateway

Exemplos:

// Blocks all actions forbid(principal, action, resource); // Allow any CallTool action permit(principal, action in AgentCore::Action::"CallTool", resource is AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway");

Os ARNs de AgentCore gateway específicos fornecem:

  • Isolamento de segurança entre instâncias de AgentCore gateway

  • Separação dos ambientes de produção e desenvolvimento

  • Fine-grained controle de acesso por AgentCore Gateway