Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Time-based supporto alle politiche
Policy in AgentCore supporta le restrizioni basate sul tempo nelle politiche Cedar tramite il valore context.system.now datetime. Ciò consente di applicare le politiche in base a date, orari o intervalli di tempo specifici.
Argomenti
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")— Creare un valore datetime -
duration("Xh")— Creare una durata (ore, minuti, secondi) -
.toTime()— Estrarre l'ora del giorno da datetime -
Operatori di confronto:
<,⇐,>,>===
Restrizioni assolute relative all'intervallo di data e ora
Applica le politiche entro periodi di calendario specifici.
Esempio: politica sui periodi promozionali
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 temporali giornaliere ricorrenti
Applica le politiche in base all'ora del giorno che si ripetono quotidianamente.
Esempio: politica dell'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 temporali giornaliere.
Esempio: Limited-time promozione con orario giornaliero
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: abilita lo strumento di sconto 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 di data e ora devono essere in UTC. Il Policy Engine non supporta le conversioni di fuso orario o le politiche che tengono conto del fuso orario.
Quando specifichi gli orari nelle tue politiche, usa 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: generazione di una politica sugli orari 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: usa «dalle 9:00 alle 17:00 UTC» anziché «orario lavorativo»
-
Specifica sempre l'UTC: includi «UTC» per evitare ambiguità
-
Usa il formato ISO per le date: usa «2025-01-01" invece di «1° gennaio»
-
Fornisci intervalli di tempo specifici: evita termini vaghi come «diurno» 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"