Restriction de l'accès aux ressources par période
Vous pouvez utiliser des variables basées sur le temps dans vos politiques pour limiter l'accès accordé dans la politique à certaines périodes seulement.
Cette fonction vous permet de limiter les actions sur les ressources à des moments particuliers. Par exemple, vous pouvez créer une politique qui autorise l'accès uniquement à une date spécifiée. Ce type de politique est utile si votre société embauche des sous-traitants et vous voulez vous assurer que l'accès n'est pas autorisé au-delà de la date de fin du contrat. Vous pouvez également autoriser l'accès aux ressources uniquement pendant les heures de bureau (par exemple, du lundi au vendredi de 9h00 à 17h00). Cette restriction peut réduire le risque qu'une personne malveillante effectue des modifications à un moment où elles sont plus susceptibles de passer inaperçues.
Les variables que vous pouvez utiliser pour définir la portée de l'accès en fonction du temps sont les suivantes :
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
L'utilisation de ces variables est décrite plus en détail dans les sections suivantes.
Informations sur l'utilisation de variables basées sur le temps
Vous devez spécifier les variables basées sur le temps à l'aide du format ISO 8601 : AAAA-MM-JJThh:mm:ssZ. Exemples de ce format :
- Date et heure avec secondes : '2020-04-01T15 :00:00Z'
- Date et heure avec minutes : '2020-04-01T05 :00Z'
- Date seulement : '2020-04-01Z'
- Heure seulement : '05:00:00'
Même si vous pouvez réduire le temps à quelques secondes, vous devez autoriser un écart de temps de 5 minutes entre l'horodatage spécifié dans la demande et l'heure à laquelle celle-ci est évaluée par le service GIA. Cet écart de temps peut être causé par plusieurs facteurs, par conséquent, vous devez en tenir compte lorsque vous planifiez et mettez en oeuvre vos politiques basées sur le temps.
L'heure que vous indiquez est évaluée en temps universel coordonné (UTC). Cela signifie que vous devez calculer l'heure UTC appropriée pour le fuseau horaire dans lequel la politique est évaluée. Par exemple, pour spécifier 9:00 AM (Heure normale du Pacifique) pour la valeur d'une variable, entrez '17:00:00'. Si l'heure avancée est mise en oeuvre par vos paramètres régionaux, vous devez mettre à jour toutes les politiques qui font référence à une heure spécifique lorsque le changement d'heure entre en vigueur.
Informations détaillées sur chaque variable basée sur le temps
L'utilisation de chaque variable est décrite dans les sections suivantes :
Description : Heure à laquelle la demande d'autorisation est reçue. Vous pouvez écrire une politique qui autorise l'accès uniquement avant ou après un horodatage de date et d'heure spécifique. L'horodatage doit respecter le format ISO 8601 : AAAA-MM-JJThh:mm:ssZ et être en temps universel coordonné (UTC).
Opérateurs pris en charge : before | after
Valeurs autorisées : Horodatage en temps universel coordonné (UTC) au format ISO 8601 : AAAA-MM-JJThh:mm:ssZ
- '2020-04-01T00:00:00Z'
- '2020-04-01T00:00Z'
Exemple de politique : Autoriser le groupe Contractors à accéder aux ressources instance-family
uniquement jusqu'à une certaine date :
Allow group Contractors to manage instance-family in tenancy where request.utc-timestamp before '2022-01-01T00:00Z'
L'accès accordé par la politique au groupe Contractors expire le 1er janvier 2022, 12:00 AM, UTC.
Description : Mois de l'année où la demande d'autorisation est reçue. Vous pouvez écrire une politique qui autorise l'accès pendant certains mois uniquement.
Opérateurs pris en charge : = | != | in
Valeurs autorisées : Numéro du mois (selon ISO 8601)
Exemples de valeurs : '1', '2', '3', ... '12'
Exemple de politique : Autoriser le groupe SummerInterns à accéder aux ressources instance-family
uniquement en juin, juillet et août :
Allow group SummerInterns to manage instance-family in tenancy where ANY {request.utc-timestamp.month-of-year in ('6', '7', '8')}
L'accès accordé par la politique au groupe SummerInterns n'est valide qu'en juin, juillet et août pour une année donnée.
Description : Jour du mois où la demande d'autorisation est reçue. Vous pouvez écrire une politique qui autorise l'accès uniquement certains jours du mois. Sachez que la durée de la journée est calculée en fonction du temps UTC. Par exemple, supposons que vous êtes à Miami, en Floride, États-Unis et que vous entrez '1' pour indiquer le premier jour du mois. Pour le mois de février, la politique est en vigueur de 12:00 AM à 11:59 PM UTC le 1er février, et, à Miami, de 7:00 PM le 31 janvier à 6:59 PM le 1er février.
Opérateurs pris en charge : = | != | in
Valeurs autorisées : Numéro du jour dans le mois
Exemples de valeurs : '1', '2', '3', ... '31'
Exemple de politique : Autoriser le groupe ComplianceAuditors à lire all-resources
uniquement le premier jour du mois.
Allow group ComplianceAuditors to read all-resources in tenancy where request.utc-timestamp.day-of-month = '1'
L'accès accordé par la politique au groupe ComplianceAuditors est valide uniquement le premier jour de chaque mois (le jour est défini en fonction du temps UTC).
Description : Jour de la semaine où la demande d'autorisation est reçue. Vous pouvez écrire une politique qui autorise l'accès certains jours de la semaine uniquement. Notez que la durée de la journée est calculée en fonction du temps UTC. Par exemple, supposons que vous êtes à Miami, en Floride, États-Unis, et que vous entrez 'monday'. La politique est en vigueur de 12:00 AM à 11:59 PM UTC le lundi, et, à Miami, de 7:00 PM (EST) le dimanche à 6:59 PM le lundi.
Opérateurs pris en charge : = | != | in
Valeurs autorisées : Nom du jour de la semaine en anglais
Exemples de valeurs : 'Monday', 'Tuesday', 'Wednesday', etc.
Exemple de politique : Autoriser le groupe WorkWeek à gérer instance-family
uniquement pendant la semaine de travail de la société.
Allow group WorkWeek to manage instance-family where ANY {request.utc-timestamp.day-of-week in ('monday', 'tuesday', 'wednesday', 'thursday', 'friday')}
L'accès accordé par la politique au groupe WorkWeek est valide uniquement les jours spécifiés (le jour est défini en fonction du temps UTC).
Description : Heure du jour où la demande d'autorisation est reçue. Vous pouvez écrire une politique qui autorise l'accès uniquement pendant un laps de temps spécifique au cours de la journée. Notez que l'heure de la journée est calculée en fonction du temps UTC. Si votre fuseau horaire met en oeuvre l'heure avancée, vous devez mettre à jour la politique lorsque le changement d'heure entre en vigueur.
Opérateurs pris en charge : between
Valeurs autorisées : Intervalle de temps UTC au format ISO 8601 : hh:mm:ssZ
Exemples de valeurs : '01:00:00Z' AND '2:01:00Z'
Exemples de politiques : Autoriser le groupe DayShift à gérer les instances et les ressources connexes entre 9:00 AM et 5:00 PM (Heure normale du Pacifique, PST).
Notez que les heures sont converties en UTC :
Allow group DayShift to manage instance-family where request.utc-timestamp.time-of-day between '17:00:00Z' and '01:00:00Z'
Je veux autoriser le groupe NightShift à gérer les instances et les ressources connexes entre 5:00 PM et 9:00 AM PST.
Allow group NightShift to manage instance-family where request.utc-timestamp.time-of-day between '01:00:00Z' and '17:00:00Z'
Dans ces deux exemples, l'heure courante est calculée et testée pour voir si elle se situe ou non dans l'intervalle fourni (en ignorant le jour où elle tombe).