Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Time-based politiques
Les politiques décrites dans cette section dépendent de l'heure de l'horloge murale, qu'il s'agisse d'une fenêtre promotionnelle, des heures d'ouverture ou d'une combinaison des deux. Ils lisentcontext.system.now, ce que le service fournit à chaque demande.
Time-based les conditions sont des when clauses ordinaires de Cedar, elles sont donc compatibles avec tout le reste de ces pages. Une vérification principale, une condition d'entrée, un garde-corps ou une condition temporelle peuvent tous figurer dans la même politique.
Comme le reste du guide de création, ces exemples sont écrits par rapport à la passerelle de référence décrite dans la section Configuration des ressources pour les exemples, afin que vous puissiez les combiner avec les autres exemples sur un moteur de politiques.
Note
Time-based n'est pas la même chose que temporel. Une condition basée sur le temps demande l'heure qu'il est maintenant ; une condition temporelle demande ce qui s'est déjà passé au cours de cette session. Pour plus d'informations, consultez la section Exemples de politiques temporelles.
Comment ça marche
Lors de l'évaluation de la politique, l'horodatage UTC actuel est fourni dans le cadre du contexte de l'évaluation :
// Current datetime in UTC context.system.now
Vous pouvez utiliser les fonctions datetime de Cedar pour créer des conditions basées sur le temps :
-
datetime("YYYY-MM-DDTHH:MM:SSZ")— Crée une valeur date/heure -
duration("Xh")— Créez une durée (heures, minutes, secondes) -
.toTime()— Extrait l'heure de la journée de la date et de l'heure -
Opérateurs de comparaison :
<⇐,,>,>=,==
Restrictions absolues de date et de plage horaire
Appliquez les politiques au cours de périodes calendaires spécifiques.
Exemple : Open-enrollment fenêtre
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") };
Cas d'utilisation : indiquez les primes uniquement pendant la période d'inscription ouverte de janvier 2025.
Restrictions horaires récurrentes quotidiennes
Appliquez des politiques basées sur les heures de la journée qui se reproduisent quotidiennement.
Exemple : politique relative aux heures d'ouverture
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") };
Cas d'utilisation : Ne déboursez les paiements que pendant les heures ouvrables (tous les jours de 9 h à 17 h UTC).
Restrictions de date et d'heure combinées
Combinez les dates absolues avec les restrictions horaires quotidiennes.
Exemple : fenêtre d'inscription avec heures quotidiennes
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") };
Cas d'utilisation : autoriser les modifications de couverture uniquement en février 2025, entre 9 h et 21 h UTC tous les jours.
Gestion des fuseaux horaires
Toutes les valeurs de date/heure doivent être exprimées en UTC. Le moteur de politiques ne prend pas en charge les conversions de fuseaux horaires ni les politiques tenant compte des fuseaux horaires.
Lorsque vous spécifiez des heures dans vos politiques, utilisez toujours l'UTC. Si votre entreprise opère dans un autre fuseau horaire, convertissez vos heures locales en UTC avant de créer la politique.