

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

# Time-based políticas
<a name="example-policies-time-based"></a>

As políticas desta seção decidem a **partir do horário normal** — uma janela promocional, horário comercial ou uma combinação dos dois. Eles lêem`context.system.now`, que o serviço fornece em cada solicitação.

Time-based as condições são `when` cláusulas comuns do Cedar, portanto, elas se compõem com todo o resto dessas páginas. Uma verificação principal, uma condição de entrada, uma grade de proteção ou uma condição temporal podem se enquadrar na mesma política.

Como o restante do guia de criação, esses exemplos são escritos no gateway de referência descrito em [Configuração de recursos para obter exemplos, para](example-policies-reference.md) que você possa combiná-los com os outros exemplos em um mecanismo de política.

**nota**  
Time-based não é o mesmo que **temporal**. Uma condição baseada no tempo pergunta que horas são agora; uma condição temporal pergunta o que já aconteceu nessa sessão. Para obter mais informações, consulte [Exemplos de políticas temporais](example-policies-temporal.md).

## Como funciona
<a name="example-policies-time-based-how"></a>

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
<a name="example-policies-time-absolute"></a>

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

### Exemplo: Open-enrollment janela
<a name="example-policies-time-absolute-example"></a>

```
permit (
  principal,
  action == AgentCore::Action::"InsuranceAPI___calculate_premium",
  resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/insurance-gw-a1b2c3d4e5"
)
when {
  context.system.now >= datetime("2025-01-01T00:00:00Z") &&
  context.system.now < datetime("2025-02-01T00:00:00Z")
};
```

 **Caso de uso: ofereça** prêmios somente durante a janela de inscrições abertas de janeiro de 2025.

## Restrições diárias de horário recorrentes
<a name="example-policies-time-daily"></a>

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

### Exemplo: política de horário comercial
<a name="example-policies-time-daily-example"></a>

```
permit (
  principal,
  action == AgentCore::Action::"InsuranceAPI___disburse_payment",
  resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/insurance-gw-a1b2c3d4e5"
)
when {
  duration("9h") <= context.system.now.toTime() &&
  context.system.now.toTime() <= duration("17h")
};
```

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

## Restrições combinadas de data e hora
<a name="example-policies-time-combined"></a>

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

### Exemplo: janela de inscrição com horários diários
<a name="example-policies-time-combined-example"></a>

```
permit (
  principal,
  action == AgentCore::Action::"InsuranceAPI___update_coverage",
  resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/insurance-gw-a1b2c3d4e5"
)
when {
  // Valid dates: February 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 alterações de cobertura somente durante fevereiro de 2025, diariamente entre 9h e 21h UTC.

## Tratamento de fuso horário
<a name="example-policies-time-timezone"></a>

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.