I controlli della sessione ti consentono di configurare la frequenza con cui gli utenti devono eseguire nuovamente l'autenticazione dopo aver ricevuto l'accesso e se è richiesta una password completa, solo password o una chiave di sicurezza hardware.
Puoi applicare i controlli della sessione per:
- Applicare una nuova autenticazione frequente per gli utenti con privilegi Richiedi agli utenti con privilegi elevati, come i proprietari dei progetti e gli amministratori della fatturazione, di eseguire nuovamente l'autenticazione più di frequente.
- Configura sessioni più lunghe per determinate applicazioni Consenti a determinate applicazioni, come le applicazioni di AI basate sul contesto come Gemini, di avere durate delle sessioni più lunghe per preservare la grande finestra di contesto necessaria per prestazioni ottimali.
Definisci la durata della sessione e i metodi di riautenticazione
Puoi definire i controlli della sessione quando crei un'associazione di Gestore contesto accesso. Per informazioni dettagliate sui controlli della sessione, vedi Applicare criteri ai gruppi di utenti utilizzando le associazioni 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--session-reauth-method
per specificare il metodo di riautenticazione. Ad esempio, puoi impostare una durata della sessione di 30 minuti (30m) e un metodo di autenticazione di nuovo accessoLOGIN
,PASSWORD
oSECURITY_KEY
.Verrà applicata a tutte le applicazioni, a meno che non venga sostituita da impostazioni specifiche per l'applicazione.
Impostare controlli della sessione specifici per l'applicazione
Definisci
scopedAccessSettings
in un file YAML per specificare i controlli della sessione per applicazioni specifiche che utilizzanoclient_id
. In questo modo puoi ignorare i controlli per le 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'associazione GcpUserAccessBinding
. Utilizza scopedAccessSettings
per
definire i controlli della sessione specifici per l'applicazione.
Per maggiori dettagli, vedi Definire configurazioni per applicazioni specifiche.
Considerazioni chiave per la definizione dei controlli delle sessioni:
- Non puoi specificare la console Google Cloud utilizzando
client_id
. Per applicare i controlli delle sessioni per la console Google Cloud, definiscila come predefinita e poi crea eccezioni per altre applicazioni. - Per la risoluzione delle impostazioni di controllo della sessione viene utilizzata solo l'associazione di accesso creata più di recente che corrisponde alla richiesta.
Configurazione di criteri di esempio
Di seguito è riportato un esempio che mostra come creare un controllo sessione che richiede la re-autenticazione 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 nei campi corrispondenti nel corpo JSON per la
chiamata API) impostano il comportamento predefinito per tutte le applicazioni non definite esplicitamente
in scopedAccessSettings
.
Impostazioni specifiche per l'applicazione
La sezione scopedAccessSettings
nel file YAML (o nel corpo JSON) consente di eseguire l'override delle 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
.
gcloud
La configurazione delle impostazioni:
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
client_id: SENSITIVE_APP_ID
activeSettings:
accessLevels:
- accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
sessionSettings:
- sessionLength: 2h
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": {
"client_id": "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