Limitazione dell'accesso alle risorse in base all'intervallo di tempo

È possibile utilizzare variabili basate sul tempo nei criteri per limitare l'accesso concesso nel criterio solo a determinati intervalli di tempo.

Questa funzione consente di limitare le azioni sulle risorse a orari specifici. Ad esempio, è possibile creare un criterio che consenta l'accesso solo fino a una data specificata. Una politica di questo tipo sarebbe utile se l'azienda assume collaboratori e si desidera assicurarsi che l'accesso non sia consentito oltre la data di fine del contratto. In alternativa, è possibile consentire l'accesso alle risorse solo durante l'orario lavorativo (ad esempio, lunedì-venerdì 9:00 - 5:00 PM). Questa restrizione può ridurre il rischio che un cattivo attore apporti modifiche quando è più probabile che passino inosservati.

Di seguito sono riportate le variabili che è possibile utilizzare per definire l'accesso in base al tempo.

  • 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'uso di queste variabili è descritto in modo più dettagliato nelle sezioni seguenti.

Informazioni per l'utilizzo di variabili basate sul tempo

È necessario specificare l'ora in cui le variabili utilizzano il formato ISO 8601: AAAA-MM-GGThh:mm:ssZ. Di seguito sono riportati alcuni esempi di questo formato.

  • Data e ora con secondi: '2020-04-01T15:00:00Z'
  • Dati e ora con minuti: '2020-04-01T05:00Z'
  • Solo data: '2020-04-01Z'
  • Solo ora: '05:00:00'

Anche se è possibile specificare un periodo di tempo inferiore a secondi, è necessario consentire una differenza di tempo di 5 minuti tra l'indicatore orario della richiesta e l'ora in cui la richiesta viene valutata dal servizio IAM. Questa differenza di tempo può essere causata da diversi fattori, quindi tieni presente questa potenziale discrepanza quando pianifichi e implementi le tue politiche basate sul tempo.

L'ora specificata viene valutata come UTC (Coordinated Universal Time). Ciò significa che è necessario calcolare l'ora UTC corretta per il fuso orario in cui viene valutato il criterio. Ad esempio, per specificare le ore 9:00 dell'ora standard del Pacifico per il valore di una variabile, immettere '17:00:00'. Se le impostazioni nazionali partecipano all'ora legale, sarà necessario aggiornare i criteri che fanno riferimento a un'ora specifica in cui la modifica dell'ora diventa effettiva.

Dettagli per ogni variabile basata sul tempo

L'uso di ogni variabile viene descritto nelle sezioni riportate di seguito.

request.utc: indicatore orario

Descrizione: l'ora di ricezione della richiesta per l'autorizzazione. È possibile scrivere un criterio che consenta l'accesso solo prima o dopo un indicatore orario di data e ora specifico. L'indicatore orario deve seguire il formato ISO 8601: AAAA-MM-GGThh:mm:ssZ ed essere in UTC (Coordinated Universal Time).

Operatori supportati: prima di | dopo

Valori consentiti: indicatore orario UTC (Coordinated Universal Time) in formato ISO 8601: AAAA-MM-GGThh:mm:ssZ

Valori di esempio:
  • '2020-04-01T00:00:00Z'
  • '2020-04-01T00:00Z'

Criterio di esempio: consentire al gruppo, ai collaboratori esterni, di accedere alle risorse instance-family solo fino a una determinata data:

Allow group Contractors to manage instance-family in tenancy where request.utc-timestamp before '2022-01-01T00:00Z'

L'accesso concesso dalla polizza al gruppo Contraenti scadrà il 1° gennaio 2022, 12:00 AM, UTC.

request.utc-timestamp.month-dell'anno

Descrizione: il mese dell'anno in cui la richiesta viene ricevuta per l'autorizzazione. È possibile scrivere un criterio che consenta l'accesso solo durante mesi specifici.

Operatori supportati: = | != | in

Valori consentiti: Mese numerico (corrispondente a ISO 8601)

Valori di esempio: '1', '2', '3', ... '12'

Criterio di esempio: consentire al gruppo SummerInterns di accedere alle risorse instance-family solo durante i mesi di giugno, luglio e agosto:

Allow group SummerInterns to manage instance-family in tenancy where ANY {request.utc-timestamp.month-of-year in ('6', '7', '8')}

L'accesso concesso dalla polizza al gruppo SummerInterns è valido solo nei mesi di giugno, luglio e agosto di un determinato anno.

request.utc-timestamp.day-del-mese

Descrizione: il giorno del mese in cui la richiesta viene ricevuta per l'autorizzazione. È possibile scrivere un criterio che consenta l'accesso solo per giorni specifici del mese. Tieni presente che l'intervallo della giornata viene calcolato in base all'UTC. Si supponga, ad esempio, di trovarsi a Miami, FL, USA e di immettere '1' per indicare il primo giorno del mese. Per il mese di febbraio, la politica sarà in vigore per le 12:00 AM fino alle 11:59 PM UTC il 1 ° febbraio, che a Miami è 7:00 PM il 31 gennaio fino alle 6:59 PM il 1 ° febbraio.

Operatori supportati: = | != | in

Valori consentiti: Giorno numerico del mese

Valori di esempio: '1', '2', '3', ... '31'

Criterio di esempio: consentire al gruppo ComplianceAuditors di leggere all-resources solo il primo giorno del mese.

Allow group ComplianceAuditors to read all-resources in tenancy where request.utc-timestamp.day-of-month = '1'

L'accesso concesso dal criterio al gruppo ComplianceAuditors è valido solo il primo giorno di ogni mese (il giorno è definito dall'ora UTC).

request.utc-timestamp.day-della-settimana

Descrizione: il giorno della settimana in cui la richiesta viene ricevuta per l'autorizzazione. È possibile scrivere un criterio che consenta l'accesso solo per giorni specifici della settimana. Si noti che l'intervallo del giorno viene calcolato in base a UTC. Si supponga, ad esempio, di trovarsi a Miami, FL, USA e di immettere 'monday'. La politica sarà in vigore dalle 12:00 alle 11:59 UTC di lunedì, che a Miami è alle 7:00 PM (EST) di domenica fino alle 6:59 PM di lunedì.

Operatori supportati: = | != | in

Valori consentiti: nome del giorno della settimana in inglese

Valori di esempio: 'Lunedì', 'Martedì', 'Mercoledì' e così via.

Criterio di esempio: consentire al gruppo, WorkWeek, di gestireinstance-family solo durante la settimana lavorativa dell'azienda.

Allow group WorkWeek to manage instance-family where ANY {request.utc-timestamp.day-of-week in ('monday', 'tuesday', 'wednesday', 'thursday', 'friday')}

L'accesso concesso dal criterio al gruppo WorkWeek è valido solo nei giorni specificati (il giorno è definito dall'ora UTC).

request.utc-timestamp.time-del-giorno

Descrizione: l'ora del giorno in cui la richiesta viene ricevuta per l'autorizzazione. È possibile scrivere un criterio che consenta l'accesso solo per un intervallo di tempo specifico durante il giorno. Si noti che l'ora del giorno viene calcolata in base all'ora UTC. Se si utilizza un fuso orario che implementa l'ora legale, sarà necessario aggiornare il criterio al variare dell'ora.

Operatori supportati: tra

Valori consentiti: Intervallo di tempo UTC in formato ISO 8601: hh:mm:ssZ

Valori di esempio: '01:00:00Z' AND '2:01:00Z'

Criteri di esempio: consenti al gruppo DayShift di gestire le istanze e le risorse correlate tra le ore 9:00 e le ore 5:00 PST (Pacific Standard Time).

Si noti che gli orari vengono convertiti in UTC:

Allow group DayShift to manage instance-family where request.utc-timestamp.time-of-day between '17:00:00Z' and '01:00:00Z'

Desidero consentire al gruppo NightShift di gestire le istanze e le risorse correlate tra le 5:00 PM e le 9:00 PST.

Allow group NightShift to manage instance-family where request.utc-timestamp.time-of-day between '01:00:00Z' and '17:00:00Z'

In entrambi questi esempi, l'ora corrente viene calcolata e testata per vedere se rientra o meno nell'intervallo fornito (ignorando il giorno in cui cade l'ora).