View a markdown version of this page

Time-based politiques - Amazon Bedrock AgentCore

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.