View a markdown version of this page

Time-based apoio político - Amazon Bedrock AgentCore

Time-based apoio político

A política em AgentCore suporta restrições baseadas em tempo nas políticas do Cedar por meio do valor de context.system.now data e hora. Isso permite que você aplique políticas com base em datas, horários ou intervalos de tempo específicos.

Como funciona

Durante a avaliação da política, o timestamp UTC atual é fornecido como parte do contexto de avaliação:

// Current datetime in UTC context.system.now

Você pode usar as funções de data e hora do Cedar para criar condições baseadas em tempo:

  • datetime("YYYY-MM-DDTHH:MM:SSZ")— Crie um valor de data e hora

  • duration("Xh")— Crie uma duração (horas, minutos, segundos)

  • .toTime()— Extraia a hora do dia a partir da data e hora

  • Operadores de comparação: <,,>,>=, ==

Restrições absolutas de intervalo de data e hora

Aplique políticas dentro de períodos específicos do calendário.

Exemplo: política do período promocional

permit( principal, action == AgentCore::Action::"RefundToolTarget___refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway" ) when { context.system.now >= datetime("2025-01-01T00:00:00Z") && context.system.now < datetime("2025-01-31T23:59:59Z") };

Caso de uso: permita reembolsos somente durante janeiro de 2025.

Restrições diárias de horário recorrentes

Aplique políticas com base na hora do dia que se repete diariamente.

Exemplo: política de horário comercial

permit( principal, action == AgentCore::Action::"RefundToolTarget___refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway" ) when { duration("9h") <= context.system.now.toTime() && context.system.now.toTime() <= duration("17h") };

Caso de uso: permita reembolsos somente durante o horário comercial (diariamente das 9h às 17h UTC).

Restrições combinadas de data e hora

Combine datas absolutas com restrições de horário diárias.

Exemplo: Limited-time promoção com horário diário

permit( principal, action == AgentCore::Action::"DiscountToolTarget___apply_discount", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway" ) when { // Valid dates: Feb 1-28, 2025 context.system.now >= datetime("2025-02-01T00:00:00Z") && context.system.now < datetime("2025-03-01T00:00:00Z") && // Valid hours: 9am-9pm UTC daily duration("9h") <= context.system.now.toTime() && context.system.now.toTime() <= duration("21h") };

Caso de uso: permita a ferramenta de descontos somente durante fevereiro de 2025, diariamente entre 9h e 21h UTC.

Tratamento de fuso horário

Todos os valores de data e hora devem estar em UTC. O Policy Engine não oferece suporte a conversões de fuso horário ou políticas com reconhecimento de fuso horário.

Ao especificar horários em suas políticas, sempre use UTC. Se sua empresa opera em um fuso horário diferente, converta seu horário local para UTC antes de criar a política.

Usando linguagem natural para gerar políticas baseadas em tempo

O serviço de criação de políticas pode gerar políticas baseadas em tempo a partir de descrições em linguagem natural.

Exemplo: gerar política de horário comercial

aws bedrock-agentcore-control start-policy-generation \ --policy-engine-id MyEngine-abc123 \ --name BusinessHoursOnly \ --content '{ "rawText": "Allow refunds only during business hours 9am to 5pm UTC" }' \ --resource '{ "arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789" }'

Política gerada:

permit( principal, action == AgentCore::Action::"RefundToolTarget___refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789" ) when { duration("9h") <= context.system.now.toTime() && context.system.now.toTime() <= duration("17h") };

Práticas recomendadas para linguagem natural

  • Seja explícito quanto aos horários — use “9h às 17h UTC” em vez de “horário comercial”

  • Sempre especifique UTC — Inclua “UTC” para evitar ambigüidade

  • Use o formato ISO para datas — Use “2025-01-01" em vez de “1º de janeiro”

  • Forneça intervalos de tempo específicos — Evite termos vagos como “diurno” ou “depois do expediente”

Bons exemplos de instruções em linguagem natural:

"Allow refunds only between 9am and 5pm UTC" "Allow payments except between 2am and 4am UTC daily" "Allow discounts only from 2025-02-01 to 2025-02-28" "Permit high-value transactions between 8am and 8pm UTC"