Entendendo as políticas do Cedar
O Policy in AgentCore usa políticas do Cedar para controlar o acesso às ferramentas do AgentCore Gateway. Esta seção explica a estrutura política, a semântica de avaliação e os principais conceitos do Cedar.
Tópicos
Exemplo de política
Considere uma ferramenta de processamento de reembolso com os seguintes requisitos:
-
Somente o usuário “John” pode processar reembolsos
-
Os reembolsos são limitados a $500 ou menos
A política da Cedar que impõe esses requisitos:
permit( principal is AgentCore::OAuthUser, action == AgentCore::Action::"RefundTool___process_refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:your-region:your-account-id:gateway/refund-gateway" ) when { principal.hasTag("username") && principal.getTag("username") == "John" && context.input.amount < 500 };
Essa política permite o processamento de reembolsos somente quando o usuário é “John” e o valor do reembolso é inferior a $500.
Estrutura da política
As políticas de cedro consistem em três componentes principais:
-
Efeito - determina se o acesso deve ser permitido ou negado (
permitouforbid) -
Escopo - especifica o principal, a ação e o recurso aos quais a política se aplica
-
Condição - Define a lógica adicional que deve ser satisfeita (
whenouunless) e pode se referir aos parâmetros da ferramenta (por meio do contexto) e ao token OAuth (por meio das tags)
Efeitos políticos
As políticas do Cedar usam dois efeitos para controlar o acesso:
-
permit- Permite que a ação prossiga -
forbid- Nega a ação
Negação padrão
Todas as ações são negadas por padrão. Se nenhuma política corresponder a uma solicitação, o Cedar retornará DENY. Você deve escrever explicitamente políticas de permissão para permitir ações.
Avaliação da autorização
O Cedar usa um modelo de avaliação de proibição-substituição-permissão:
-
A Cedar avalia todas as políticas que se aplicam à solicitação
-
Se alguma política de proibição corresponder, o resultado será DENY
-
Se pelo menos uma política de permissão corresponder e nenhuma política de proibição corresponder, o resultado será PERMITIR
-
Se nenhuma política corresponder, o resultado será DENY (negação padrão)
Independência política
Cada política da Cedar é avaliada de forma independente. A avaliação de uma política depende apenas de:
-
O escopo (principal, ação, recurso)
-
O contexto e as tags
As políticas não fazem referência nem dependem de outras políticas.
Algoritmo de avaliação política
Quando uma solicitação é avaliada, o mecanismo de política determina a decisão de autorização usando o seguinte algoritmo:
-
Se alguma
forbidpolítica corresponder à solicitação, a decisão será DENY. -
Se nenhuma
forbidpolítica corresponder à solicitação e pelo menos umapermitpolítica corresponder, a decisão será PERMITIR. -
Se
forbidnenhumapermitdas políticas corresponder à solicitação, a decisão será DENY.
Esse modelo de avaliação impõe uma postura padrão de negação.
Uma forbid política nunca pode resultar em uma decisão de PERMITIR. A unless cláusula em uma forbid política especifica as condições sob as quais essa forbid política não se aplica; ela não concede permissão e não substitui uma política correspondente. permit