I controlli della sessione ti consentono di configurare la frequenza con cui gli utenti devono eseguire nuovamente l'autenticazione dopo aver ottenuto l'accesso e se è richiesto l'accesso completo, solo con password o con una chiave di sicurezza hardware.
Puoi applicare i controlli della sessione per:
- Applica la riautenticazione frequente per gli utenti con privilegi Richiedi agli utenti con privilegi elevati, come i proprietari dei progetti e gli amministratori della fatturazione, di ripetere l'autenticazione con maggiore frequenza.
- Configura sessioni più lunghe per determinate applicazioni Consenti a determinate applicazioni, come quelle di AI basate sul contesto come Gemini, di avere durate delle sessioni più lunghe per preservare la grande finestra contestuale necessaria per prestazioni ottimali.
Definisci la durata della sessione e i metodi di riautenticazione
Puoi definire i controlli della sessione quando crei un binding di Gestore contesto accesso. Per informazioni dettagliate sui controlli della sessione, vedi Applicare criteri ai gruppi di utenti utilizzando i binding di accesso.
gcloud
Impostare i controlli della sessione predefiniti per tutte le applicazioni
Utilizza il flag
--session-length
per impostare la durata della sessione e il flag--session-reauth-method
per specificare il metodo di riautenticazione. Ad esempio, puoi impostare una durata della sessione di 30 minuti (30 m) e un metodo di riautenticazioneLOGIN
,PASSWORD
oSECURITY_KEY
.Questa impostazione verrà applicata a tutte le applicazioni, a meno che non venga sostituita da impostazioni specifiche dell'applicazione.
Impostare i controlli della sessione specifici per l'applicazione
Definisci
scopedAccessSettings
in un file YAML per specificare i controlli della sessione per applicazioni specifiche utilizzandoclientId
. In questo modo puoi ignorare i controlli delle sessioni predefiniti per queste applicazioni. Puoi quindi passare il file YAML utilizzando--binding-file flag
.
API
Definisci i campi sessionLength
e sessionReauthMethod
all'interno di sessionSettings object
nel corpo JSON della richiesta POST per creare o aggiornare un binding GcpUserAccessBinding
. Utilizza scopedAccessSettings
per
definire i controlli di sessione specifici per l'applicazione.
Per maggiori dettagli, vedi Definire le configurazioni per applicazioni specifiche.
Considerazioni chiave per la definizione dei controlli delle sessioni:
- Non puoi specificare la console Google Cloud utilizzando
clientId
. Per applicare i controlli della sessione per la console Google Cloud , definiscila come predefinita e poi crea eccezioni per altre applicazioni. - Quando vengono risolte le impostazioni di controllo della sessione, viene utilizzato solo il binding di accesso creato più di recente che corrisponde alla richiesta.
Configurazione dei criteri di esempio
Di seguito è riportato un esempio che mostra come creare un controllo della sessione che
richiede la riautenticazione ogni 18 ore per impostazione predefinita con LOGIN
e ogni due
ore per un'applicazione specifica (SENSITIVE_APP_ID
) con SECURITY_KEY
.
Impostazioni predefinite
I flag --level
, --session-length
e --session-reauth-method
nel comando Google Cloud CLI (o i campi corrispondenti nel corpo JSON per la chiamata API) impostano il comportamento predefinito per tutte le applicazioni non definite esplicitamente in scopedAccessSettings
.
Impostazioni specifiche dell'applicazione
La sezione scopedAccessSettings
nel file YAML (o nel corpo JSON) consente di
ignorare le impostazioni predefinite per applicazioni specifiche. Nell'esempio, abbiamo
impostato un requisito di riautenticazione di due ore con SECURITY_KEY
per l'applicazione con l'ID client SENSITIVE_APP_ID
.
Per esentare determinate app dal controllo della sessione, imposta il campo
sessionLength
su 0s
o sessionLengthEnabled
su false
. Il metodo sessionReauthMethod
verrà quindi ignorato.
gcloud
Configurazione delle impostazioni:
scopedAccessSettings:
scope:
clientScope:
restrictedClientApplication:
clientId: SENSITIVE_APP_ID
activeSettings:
sessionSettings:
sessionLength: 7200s
sessionReauthMethod: SECURITY_KEY
sessionLengthEnabled: true
Crea l'associazione di accesso:
gcloud access-context-manager cloud-bindings create \
--organization ORG_ID \
--group-key GROUP_ID \
--binding-file BINDING_FILE_PATH \
--level DEFAULT_ACCESS_LEVEL
--session-length 18h \
--session-reauth-method LOGIN
API
Corpo JSON:
{
"groupKey": "GROUP_ID",
"accessLevels": [
"accessPolicies/POLICY_ID/accessLevels/DEFAULT_ACCESS_LEVEL"
],
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"clientId": "SENSITIVE_APP_ID"
}
}
},
"activeSettings": {
"accessLevels": [
"accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME"
],
"sessionSettings": [
{
"sessionLength": "2h",
"sessionReauthMethod": "SECURITY_KEY",
"sessionLengthEnabled": true
}
]
}
}
]
Richiesta di post:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings