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 come questa sarebbe utile se la tua azienda assumesse appaltatori e si desidera garantire 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 di lavoro (ad esempio, dal lunedì al venerdì dalle 9:00 alle 5:00 PM). Questa restrizione può ridurre il rischio che un cattivo attore faccia cambiamenti quando è più probabile che passino inosservati.

Di seguito sono riportate le variabili che è possibile utilizzare per definire l'ambito dell'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 sull'utilizzo delle variabili basate sul tempo

È necessario specificare l'ora delle variabili utilizzando il formato ISO 8601: YYYY-MM-DDThh:mm:ssZ. Esempi di questo formato sono:

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

Anche se è possibile specificare un periodo di tempo inferiore ai secondi, è consigliabile 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 i tuoi criteri basati 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 9:00 AM - Ora standard Pacifico per il valore di una variabile, immettere '17:00:00'. Se la tua lingua partecipa al risparmio di luce del giorno, dovrai aggiornare tutti i criteri che si riferiscono a un'ora specifica quando la modifica dell'ora diventa effettiva.

Dettagli per ogni variabile basata sul tempo

L'uso di ciascuna 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: YYYY-MM-DDThh:mm:ssZ ed essere in Ora UTC (Coordinated Universal Time).

Operatori supportati: prima | dopo

Valori consentiti: indicatore orario UTC (Coordinated Universal Time) nel formato ISO 8601: YYYY-MM-DDThh: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 ai Contractor del gruppo scadrà il 1° gennaio 2022, ore 12:00, UTC.

request.utc-timestamp.monthdell'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 (corrispondenza con ISO 8601)

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

Criterio di esempio: consentire al gruppo SummerInterns di accedere alle risorse instance-family solo nei 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.daymese

Descrizione: il giorno del mese in cui la richiesta viene ricevuta per l'autorizzazione. È possibile scrivere un criterio che consente l'accesso solo per giorni specifici del mese. Tieni presente che l'arco della giornata è calcolato in base a UTC. Ad esempio, si supponga 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 dal 31 gennaio alle 6:59 PM il 1 ° febbraio.

Operatori supportati: = | != | in

Valori consentiti: giorno numerico del giorno 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.daydella-settimana

Descrizione: il giorno della settimana in cui la richiesta viene ricevuta per l'autorizzazione. È possibile scrivere un criterio che consente l'accesso solo per giorni specifici della settimana. Si noti che l'intervallo del giorno viene calcolato in base a UTC. Ad esempio, si supponga di trovarsi a Miami, FL, USA e di immettere 'monday'. La politica sarà in vigore per le 12:00 AM fino alle 11:59 PM UTC di lunedì, che a Miami è 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ì', ecc.

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 consente l'accesso solo per un intervallo di tempo specifico durante il giorno. Si noti che l'ora del giorno viene calcolata in base a UTC. Se si vive in un fuso orario che implementa il risparmio di luce del giorno, sarà necessario aggiornare il criterio quando cambia l'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: consentire al gruppo DayShift di gestire le istanze e le risorse correlate tra le ore 9:00 AM e le ore 5:00 PM Pacific Standard Time (PST).

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 ore 5:00 e le ore 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 gli esempi, l'ora corrente viene calcolata e testata per verificare se rientra o meno nell'intervallo fornito (ignorando il giorno in cui cade l'ora).