View a markdown version of this page

Time-based politische Unterstützung - Amazon Grundgestein AgentCore

Time-based politische Unterstützung

Policy in AgentCore unterstützt zeitbasierte Einschränkungen in Cedar-Richtlinien über den context.system.now Datetime-Wert. Auf diese Weise können Sie Richtlinien auf der Grundlage bestimmter Daten, Uhrzeiten oder Zeitbereiche durchsetzen.

Funktionsweise

Während der Richtlinienevaluierung wird der aktuelle UTC-Zeitstempel als Teil des Bewertungskontextes bereitgestellt:

// Current datetime in UTC context.system.now

Sie können die Datetime-Funktionen von Cedar verwenden, um zeitbasierte Bedingungen zu erstellen:

  • datetime("YYYY-MM-DDTHH:MM:SSZ")— Erstellen Sie einen Datetime-Wert

  • duration("Xh")— Erstellen Sie eine Dauer (Stunden, Minuten, Sekunden)

  • .toTime()— Extrahieren Sie die Tageszeit aus Datetime

  • Vergleichsoperatoren:<,,>, >= ==

Absolute Einschränkungen für Datum und Zeitbereich

Setzen Sie Richtlinien innerhalb bestimmter Kalenderzeiträume durch.

Beispiel: Richtlinie für den Aktionszeitraum

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

Anwendungsfall: Erstattungen sind nur im Januar 2025 zulässig.

Täglich wiederkehrende Zeitbeschränkungen

Setzen Sie Richtlinien auf der Grundlage der Tageszeit durch, die sich täglich wiederholen.

Beispiel: Richtlinie zu Geschäftszeiten

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

Anwendungsfall: Erstattungen sind nur während der Geschäftszeiten (täglich von 9:00 bis 17:00 Uhr UTC) zulässig.

Kombinierte Einschränkungen für Datum und Uhrzeit

Kombinieren Sie absolute Daten mit täglichen Zeitbeschränkungen.

Beispiel: Limited-time Promotion mit täglichen Öffnungszeiten

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

Anwendungsfall: Erlaube das Rabatt-Tool nur im Februar 2025, täglich zwischen 9 Uhr und 21 Uhr UTC.

Umgang mit Zeitzonen

Alle Datetime-Werte müssen in UTC angegeben werden. Die Policy Engine unterstützt keine Zeitzonenkonvertierungen oder zeitzonenabhängige Richtlinien.

Verwenden Sie bei der Angabe von Zeiten in Ihren Richtlinien immer UTC. Wenn Ihr Unternehmen in einer anderen Zeitzone tätig ist, konvertieren Sie Ihre lokalen Zeiten in UTC, bevor Sie die Richtlinie erstellen.

Verwenden Sie natürliche Sprache, um zeitbasierte Richtlinien zu generieren

Der Richtlinienerstellungsdienst kann zeitbasierte Richtlinien anhand von Beschreibungen in natürlicher Sprache generieren.

Beispiel: Generieren Sie eine Richtlinie für Geschäftszeiten

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

Generierte Richtlinie:

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

Bewährte Verfahren für natürliche Sprache

  • Geben Sie die Zeiten explizit an — verwenden Sie „9:00 Uhr bis 17:00 Uhr UTC“ statt „Geschäftszeiten“

  • Geben Sie immer UTC an — Schließen Sie „UTC“ ein, um Unklarheiten zu vermeiden

  • Verwenden Sie das ISO-Format für Datumsangaben — Verwenden Sie „2025-01-01" statt „1. Januar“

  • Geben Sie bestimmte Zeiträume an — Vermeiden Sie vage Begriffe wie „tagsüber“ oder „außerhalb der Geschäftszeiten“

Gute Beispiele für Eingabeaufforderungen in natürlicher Sprache:

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