Zugriff auf Ressourcen basierend auf Zeitrahmen einschränken
Sie können zeitbasierte Variablen in Ihren Policys verwenden, um den Zugriff, der in der Policy erteilt wird, auf bestimmte Zeitrahmen zu beschränken.
Mit diesem Feature können Sie Aktionen für Ressourcen auf bestimmte Zeiten beschränken. Beispiel: Sie können eine Policy erstellen, die den Zugriff nur bis zu einem angegebenen Datum zulässt. Eine solche Policy ist hilfreich, wenn Ihr Unternehmen Auftragnehmer einstellt und Sie sicherstellen möchten, dass der Zugriff nicht nach dem Vertragsende zulässig ist. Alternativ können Sie den Zugriff auf Ressourcen nur während der Geschäftszeiten zulassen (z.B. Montag bis Freitag 9:00 Uhr bis 17:00 Uhr). Diese Einschränkung kann das Risiko verringern, dass ein Angreifer Änderungen vornimmt, wenn diese unbemerkt bleiben können.
Variablen, mit denen Sie den Zugriff basierend auf Zeit einschränken können:
request.utc-timestamp
request.utc-timestamp.month-of-year
request.utc-timestamp.day-of-month
request.utc-timestamp.day-of-week
request.utc-timestamp.time-of-day
Die Verwendung dieser Variablen wird in den folgenden Abschnitten ausführlicher beschrieben.
Informationen zum Arbeiten mit zeitbasierten Variablen
Sie müssen die Zeit für die Variablen im ISO 8601-Format angeben: YYYY-MM-DDThh:mm:ssZ. Beispiele für dieses Format:
- Datum und Uhrzeit mit Sekunden: "2020-04-01T15:00:00Z"
- Datum und Uhrzeit mit Minuten: "2020-04-01T05:00Z"
- Nur Datum: "2020-04-01Z"
- Nur Uhrzeit: "05:00:00"
Auch wenn Sie eine Zeit mit Sekundengenauigkeit angeben können, sollten Sie einen 5-minütigen Zeitunterschied zwischen dem Zeitstempel der Anforderung und dem Zeitpunkt der Auswertung der Anforderung durch den IAM-Service zulassen. Dieser Zeitunterschied kann durch mehrere Faktoren verursacht werden. Achten Sie daher auf diese potenzielle Abweichung, wenn Sie zeitbasierte Policys planen und implementieren.
Die angegebene Zeit wird als koordinierte Weltzeit (UTC) ausgewertet. Das bedeutet, dass Sie die richtige UTC-Zeit für die Zeitzone berechnen müssen, in der die Policy ausgewertet wird. Beispiel: Um 9:00 Uhr Pacific Standard Time für den Wert einer Variablen anzugeben, geben Sie "17:00:00" ein. Wenn Ihr Gebietsschema die Sommer-/Winterzeitumstellung nutzt, müssen Sie alle Policys aktualisieren, die eine bestimmte Stunde referenzieren, wenn die Zeitänderung in Kraft tritt.
Details für jede zeitbasierte Variable
Die Verwendung für jede Variable wird in den folgenden Abschnitten beschrieben:
Beschreibung: Der Zeitpunkt, zu dem die Anforderung zur Autorisierung empfangen wurde. Sie können eine Policy schreiben, die den Zugriff nur vor oder nach einem bestimmten Datums-/Uhrzeitstempel zulässt. Der Zeitstempel muss dem ISO 8601-Format (YYYY-MM-DDThh:mm:ssZ) folgen und in koordinierter Weltzeit (UTC) angegeben sein.
Unterstützte Operatoren: before | after
Zulässige Werte: Zeitstempel für koordinierte Weltzeit (UTC) im ISO 8601-Format: YYYY-MM-DDThh:mm:ssZ
- "2020-04-01T00:00:00Z"
- "2020-04-01T00:00Z"
Beispiel-Policy: Zugriff auf die instance-family
-Ressourcen durch die Gruppe "Contractors" bis zu einem bestimmten Datum zulassen:
Allow group Contractors to manage instance-family in tenancy where request.utc-timestamp before '2022-01-01T00:00Z'
Der von der Policy gewährte Zugriff für die Gruppe "Contractors" läuft am 1. Januar 2022 um 12:00 Uhr UTC ab.
Beschreibung: Der Monat des Jahres, in dem die Anforderung zur Autorisierung eingegangen ist. Sie können eine Policy schreiben, die den Zugriff nur in bestimmten Monaten zulässt.
Unterstützte Operatoren: = | != | in
Zulässige Werte: Numerischer Monat (nach ISO 8601)
Beispielwerte: "1", "2", "3", ... "12"
Beispiel-Policy: Zugriff der Gruppe "SummerInterns" auf die instance-family
-Ressourcen nur im Juni, Juli und August zulassen:
Allow group SummerInterns to manage instance-family in tenancy where ANY {request.utc-timestamp.month-of-year in ('6', '7', '8')}
Der von der Policy gewährte Zugriff für die Gruppe "SummerInterns" ist nur im Juni, Juli und August jedes Jahres gültig.
Beschreibung: Der Tag des Monats, an dem die Anforderung zur Autorisierung eingegangen ist. Sie können eine Policy schreiben, die den Zugriff nur für bestimmte Tage des Monats zulässt. Beachten Sie, dass Beginn und Ende des Tages auf Basis von UTC berechnet werden. Beispiel: Sie befinden sich in Miami, FL, USA, und geben "1" ein, um den ersten Tag des Monats anzugeben. Für den Monat Februar gilt die Richtlinie von 12:00 Uhr bis 23:59 Uhr UTC am 1. Februar. Das ist in Miami von 19:00 Uhr am 31. Januar bis 18:59 Uhr am 1. Februar.
Unterstützte Operatoren: = | != | in
Zulässige Werte: Numerischer Tag des Monats
Beispielwerte: '1', '2', '3', ... '31'
Beispiel-Policy: Lesen aller Ressourcen (all-resources
) durch die Gruppe "ComplianceAuditors" nur am ersten Tag des Monats zulassen.
Allow group ComplianceAuditors to read all-resources in tenancy where request.utc-timestamp.day-of-month = '1'
Der von der Policy gewährte Zugriff für die Gruppe "ComplianceAuditors" ist nur am ersten Tag jedes Monats gültig (der Tag wird durch UTC-Zeit definiert).
Beschreibung: Der Wochentag, an dem die Anforderung zur Autorisierung eingegangen ist. Sie können eine Policy schreiben, die den Zugriff nur für bestimmte Wochentage zulässt. Beachten Sie, dass Beginn und Ende des Tages auf Basis von UTC berechnet werden. Beispiel: Sie befinden sich in Miami, FL, USA und geben "monday" ein. Die Policy gilt dann von 12:00 Uhr bis 23:59 Uhr UTC am Montag. Das ist in Miami 19:00 Uhr (EST) am Sonntag bis 18:59 Uhr am Montag.
Unterstützte Operatoren: = | != | in
Zulässige Werte: Name des Wochentags auf Englisch
Beispielwerte: 'Monday', 'Tuesday', 'Wednesday' usw.
Beispiel-Policy: Verwalten von instance-family
durch die Gruppe "WorkWeek" nur während der Arbeitswoche des Unternehmens zulassen.
Allow group WorkWeek to manage instance-family where ANY {request.utc-timestamp.day-of-week in ('monday', 'tuesday', 'wednesday', 'thursday', 'friday')}
Der von der Policy gewährte Zugriff für die Gruppe "WorkWeek" ist nur an den angegebenen Tagen gültig (der Tag wird durch UTC-Zeit definiert).
Beschreibung: Die Uhrzeit, zu der die Anforderung zur Autorisierung eingegangen ist. Sie können eine Policy schreiben, die den Zugriff nur für einen bestimmten Zeitraum während des Tages zulässt. Beachten Sie, dass die Tageszeit auf Basis von UTC berechnet wird. Wenn Sie in einer Zeitzone leben, die die Sommer-/Winterzeitumstellung nutzt, müssen Sie die Policy aktualisieren, wenn sich die Zeit ändert.
Unterstützte Operatoren: between
Zulässige Werte: UTC-Zeitintervall im ISO 8601-Format: hh:mm:ssZ
Beispielwerte: '01:00:00Z' AND '2:01:00Z'
Beispiel-Policys: Verwalten von Instanzen und zugehörigen Ressourcen durch die Gruppe "DayShift" zwischen 9:00 Uhr und 17:00 Uhr Pacific Standard Time (PST) zulassen.
Beachten Sie, dass die Zeiten in UTC konvertiert werden:
Allow group DayShift to manage instance-family where request.utc-timestamp.time-of-day between '17:00:00Z' and '01:00:00Z'
Ich möchte der Gruppe "NightShift" erlauben, Instanzen und zugehörige Ressourcen zwischen 17:00 Uhr und 9:00 Uhr PST zu verwalten.
Allow group NightShift to manage instance-family where request.utc-timestamp.time-of-day between '01:00:00Z' and '17:00:00Z'
In beiden Beispielen wird die aktuelle Zeit berechnet und getestet, um festzustellen, ob sie innerhalb des angegebenen Bereichs liegt oder nicht (dabei wird der Tag ignoriert).