View a markdown version of this page

Time-based supporto politico - Amazon Bedrock AgentCore

Time-based supporto politico

Policy in AgentCore supporta le restrizioni basate sul tempo nelle politiche Cedar tramite il valore context.system.now datetime. Ciò consente di applicare politiche basate su date, orari o intervalli di tempo specifici.

Come funziona

Durante la valutazione delle politiche, l'attuale timestamp UTC viene fornito come parte del contesto di valutazione:

// Current datetime in UTC context.system.now

Puoi utilizzare le funzioni datetime di Cedar per creare condizioni basate sul tempo:

  • datetime("YYYY-MM-DDTHH:MM:SSZ")— Crea un valore datetime

  • duration("Xh")— Crea una durata (ore, minuti, secondi)

  • .toTime()— Estrai l'ora del giorno da datetime

  • Operatori di confronto:<,,,>, >= ==

Restrizioni assolute per intervalli di data e ora

Applica le politiche entro periodi di calendario specifici.

Esempio: politica relativa al periodo promozionale

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 d'uso: consenti i rimborsi solo nel mese di gennaio 2025.

Restrizioni orarie giornaliere ricorrenti

Applica le politiche in base all'ora del giorno che si ripetono quotidianamente.

Esempio: politica sull'orario di lavoro

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 d'uso: consenti i rimborsi solo durante l'orario lavorativo (tutti i giorni dalle 9:00 alle 17:00 UTC).

Restrizioni combinate di data e ora

Combina date assolute con restrizioni orarie giornaliere.

Esempio: Limited-time promozione con orari giornalieri

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 d'uso: Allow discount tool solo nel mese di febbraio 2025, tra le 9:00 e le 21:00 UTC tutti i giorni.

Gestione del fuso orario

Tutti i valori datetime devono essere espressi in UTC. Il Policy Engine non supporta le conversioni di fuso orario o le politiche che tengono conto del fuso orario.

Quando specificate gli orari nelle vostre politiche, utilizzate sempre l'UTC. Se la tua azienda opera in un fuso orario diverso, converti l'ora locale in UTC prima di creare la politica.

Utilizzo del linguaggio naturale per generare politiche basate sul tempo

Il servizio di creazione delle politiche può generare politiche basate sul tempo a partire da descrizioni in linguaggio naturale.

Esempio: generare una politica sull'orario di lavoro

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" }'

Politica generata:

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") };

Le migliori pratiche per il linguaggio naturale

  • Sii esplicito sugli orari: utilizza «dalle 9:00 alle 17:00 UTC» anziché «l'orario lavorativo»

  • Specificate sempre l'UTC: includete «UTC» per evitare ambiguità

  • Usa il formato ISO per le date: usa «2025-01-01" anziché «1 gennaio»

  • Fornisci intervalli di tempo specifici: evita termini vaghi come «giorno» o «fuori orario»

Buoni esempi di istruzioni in linguaggio naturale:

"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"