Mit Sitzungseinstellungen können Sie konfigurieren, wie oft sich Nutzer nach der Gewährung des Zugriffs neu authentifizieren müssen und ob eine vollständige Anmeldung, nur ein Passwort oder ein Hardware-Sicherheitsschlüssel erforderlich ist.
Mit Sitzungseinstellungen können Sie Folgendes tun:
- Häufige erneute Authentifizierung für privilegierte Nutzer erzwingen: Nutzer mit erhöhten Berechtigungen, z. B. Project Owner und Billing Administrator, müssen sich häufiger neu authentifizieren.
- Längere Sitzungen für bestimmte Anwendungen konfigurieren: Erlauben Sie unterstützten Anwendungen wie der Google Cloud Console, dem Google Cloud SDK oder bestimmten OAuth-Anwendungen längere Sitzungsdauern, um das große Kontextfenster beizubehalten, das für eine optimale Leistung erforderlich ist.
Sitzungsdauer und Methoden zur erneuten Authentifizierung festlegen
Sie können Sitzungssteuerungen beim Erstellen einer Access Context Manager-Bindung definieren. Weitere Informationen zu den Sitzungseinstellungen finden Sie unter Richtlinien mithilfe von Zugriffsberechtigungen auf Nutzergruppen anwenden.
gcloud
Standardmäßige Sitzungseinstellungen für alle Anwendungen festlegen
Verwenden Sie das Flag
--session-length, um die Sitzungsdauer festzulegen. Der Wert muss0soder zwischen 1 Stunde und 24 Stunden sein. Geben Sie die Dauer in Stunden an. Verwenden Sie beispielsweise „12h“, um eine Sitzung mit einer Dauer von 12 Stunden festzulegen. Verwenden Sie das Flag--session-reauth-method, um die Methode zur erneuten Authentifizierung anzugeben. Sie können beispielsweise eine Sitzungsdauer von 3 Stunden (3h) und eine Methode zur erneuten Authentifizierung vom TypLOGIN,PASSWORDoderSECURITY_KEYfestlegen.Diese wird auf alle Anwendungen angewendet, sofern sie nicht durch anwendungsspezifische Einstellungen überschrieben wird.
Anwendungsspezifische Sitzungssteuerung einrichten
Definieren Sie
scopedAccessSettingsin einer YAML-Datei, um Sitzungseinstellungen für bestimmte Anwendungen mitclientIdfestzulegen. So können Sie die standardmäßigen Sitzungseinstellungen für diese Anwendungen überschreiben. Anschließend können Sie die YAML-Datei mit--binding-file flagübergeben.
REST API
Definieren Sie die Felder sessionLength und sessionReauthMethod im Objekt sessionSettings im JSON-Text Ihrer POST-Anfrage, um eine GcpUserAccessBinding-Bindung zu erstellen oder zu aktualisieren.
sessionLengthist die Sitzungsdauer in Sekunden, formatiert als Anzahl der Sekunden gefolgt vons(z. B.3600s). Der Wert muss0soder zwischen3600s(1 Stunde) und86400s(24 Stunden) sein. Wenn die Richtlinie auf0sgesetzt ist, musssessionLengthEnabledauffalsegesetzt oder nicht konfiguriert sein. Sie könnensessionLengthnicht auf0sundsessionLengthEnablednicht auftruesetzen.sessionReauthMethodkannLOGIN,PASSWORDoderSECURITY_KEYsein.- Verwenden Sie
scopedAccessSettings, um anwendungsspezifische Sitzungssteuerungen zu definieren. Weitere Informationen finden Sie unter Konfigurationen für bestimmte Anwendungen definieren.
Terraform
Legen Sie in der Terraform-Ressource für die Google Cloud-Nutzerzugriffsbindung das Argument session_settings fest, um allgemeine Einstellungen für die Sitzungslänge zu konfigurieren, die für den gesamten Nutzertraffic gelten:
session_length: Die Dauer der Sitzung in Sekunden. Beispiel: Mit3600swird die Sitzungslänge auf 1 Stunde festgelegt. Dassam Ende ist erforderlich.session_length_enabled: Legen Sie „false“ fest, um die angegebenen Sitzungseinstellungen zu deaktivieren.session_reauth_method: Der Typ der Authentifizierungs-Challenge, die zum Aktualisieren der Anmeldedaten verwendet wird. Die Optionen sindLOGIN,PASSWORDoderSECURITY_KEY.use_oidc_max_age: Ein erweitertes Feld, mit dem konfiguriert wird, ob die Sitzung einen optionalen OIDC-Parameter für das maximale Alter berücksichtigt, der angegeben wird, wenn die Authentifizierungsdaten ein OAuth-Token sind.
Beim Definieren von Sitzungssteuerungen wird beim Auflösen der Einstellungen für die Sitzungssteuerung nur die zuletzt erstellte Zugriffsbindung verwendet, die der Anfrage entspricht.
Beispiel für eine Richtlinienkonfiguration
Im folgenden Beispiel wird gezeigt, wie Sie eine Sitzungssteuerung erstellen, die alle 18 Stunden eine erneute Authentifizierung mit LOGIN und alle zwei Stunden für eine bestimmte Anwendung (SENSITIVE_APP_ID) mit SECURITY_KEY erfordert.
Standardeinstellungen
Mit den Flags --level, --session-length und --session-reauth-method im Google Cloud CLI-Befehl (oder den entsprechenden Feldern im JSON-Text für den API-Aufruf) wird das Standardverhalten für alle Anwendungen festgelegt, die nicht explizit in scopedAccessSettings definiert sind.
Anwendungsspezifische Einstellungen
Im Abschnitt scopedAccessSettings der YAML-Datei (oder des JSON-Textes) können Sie die Standardeinstellungen für bestimmte Anwendungen überschreiben. Im Beispiel legen wir eine zweistündige Anforderung für die erneute Authentifizierung mit SECURITY_KEY für die Anwendung mit der Client-ID SENSITIVE_APP_ID fest.
Anwendungsspezifische Einstellungen in scopedAccessSettings überschreiben die standardmäßigen (globalen) Sitzungseinstellungen vollständig. Wenn für eine Anwendung eine bereichsbezogene Einstellung definiert ist, gelten die Standardeinstellungen für Sitzungen nicht für diese Anwendung.
Wenn Sie bestimmte Anwendungen von der Sitzungssteuerung ausnehmen möchten, während globale Einstellungen aktiv sind, müssen Sie sie explizit zu scopedAccessSettings hinzufügen und das Feld sessionLength auf 0s und sessionLengthEnabled auf false setzen.
gcloud
Das folgende Beispiel zeigt die Konfiguration der Sitzungseinstellungen:
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
clientId: SENSITIVE_APP_ID
activeSettings:
sessionSettings:
sessionLength: 7200s
sessionReauthMethod: SECURITY_KEY
sessionLengthEnabled: true
Erstellen Sie die Zugriffsbindung:
gcloud access-context-manager cloud-bindings create \
--organization=ORG_ID \
--group-key=GROUP_ID \
--binding-file=BINDING_FILE_PATH \
--session-length=SESSION_LENGTH \
--session-reauth-method LOGIN
Ersetzen Sie Folgendes:
ORG_ID: die ID der Organisation von Google CloudGROUP_ID: die eindeutige Cloud Identity-Gruppen-IDBINDING_FILE_PATH: der Pfad der BindungsdateiSESSION_LENGTH: die Sitzungslänge, z. B.18h
Führen Sie den folgenden Befehl aus, um die eindeutige Gruppen-ID abzurufen:
gcloud identity groups describe GROUP_EMAIL
Ersetzen Sie GROUP_EMAIL durch die E-Mail-Adresse Ihrer Gruppe.
Die eindeutige Gruppen-ID ist der Wert, der nach groups/ im Feld name in der Ausgabe zurückgegeben wird. Die eindeutige Gruppen-ID in groups/01gf8i8311xalqg lautet beispielsweise 01gf8i8311xalqg.
REST API
Beispiel für einen JSON-Text der API-Anfrage:
{
"groupKey": "GROUP_ID",
"sessionSettings": {
"sessionLength": "64800s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": true
},
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"clientId": "SENSITIVE_APP_ID"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "7200s",
"sessionReauthMethod": "SECURITY_KEY",
"sessionLengthEnabled": true
}
}
}
]
}
Erstellen Sie die POST-Anfrage im folgenden Format:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Ersetzen Sie ORG_ID durch die ID der Google Cloud -Organisation.
Terraform
Wenn Sie Sitzungseinstellungen angeben möchten, die global und für bestimmte Anwendungen gelten, legen Sie die Argumente session_settings und scoped_access_settings fest:
resource "google_access_context_manager_gcp_user_access_binding" "gcp_user_access_binding" {
organization_id = "ORG_ID"
group_key = "GROUP_ID"
session_settings {
session_length = "64800s"
session_length_enabled = true
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
client_id = "CLIENT_ID"
}
}
}
active_settings {
session_settings {
session_length = "7200s"
session_length_enabled = true
session_reauth_method = "SECURITY_KEY"
use_oidc_max_age = false
}
}
}
}
Ersetzen Sie Folgendes:
ORG_ID: die numerische ID der Organisation Google Cloud.GROUP_ID: die unverarbeitete Cloud Identity- oder Google Workspace Directory API-Gruppen-ID. Verwenden Sie keine Gruppen-E-Mail-Adresse oder einen"groups/..."-Ressourcennamen. Übergeben Sie stattdessen die Roh-ID oder verwenden Sietrimprefix(google_cloud_identity_group.example.id, "groups/").CLIENT_ID: die OAuth 2.0-Client-ID der Anwendung.
Beispiel für die Richtlinienkonfiguration für Google Cloud -Anwendungen
Sie können anwendungsspezifische Einstellungen für die erneute Authentifizierung für Google Cloud Anwendungen konfigurieren, z. B. SECURITY_KEY für das Google Cloud SDK und LOGIN für die Google Cloud Console. Im folgenden Beispiel wird gezeigt, wie Sie eine Sitzungssteuerung erstellen, die für das Google Cloud SDK mit SECURITY_KEY jede Stunde und für die Google Cloud -Konsole mit LOGIN alle 4 Stunden eine erneute Authentifizierung erfordert.
Im Abschnitt scopedAccessSettings der YAML-Datei (oder des JSON-Textes) können Sie die Standardeinstellungen für bestimmte Anwendungen überschreiben. In diesem Beispiel legen wir mit SECURITY_KEY eine einstündige Reauthentifizierungsanforderung für das Google Cloud SDK und mit LOGIN eine vierstündige Reauthentifizierungsanforderung für die Google Cloud Console fest. Dabei verwenden wir das Feld name, um diese Anwendungen zu identifizieren.
Wenn Sie bestimmte Anwendungen von der Sitzungssteuerung ausnehmen möchten, setzen Sie das Feld sessionLength auf 0s oder sessionLengthEnabled auf false. Die Methode sessionReauthMethod wird dann ignoriert.
gcloud
Das folgende Beispiel zeigt die Konfiguration der Sitzungseinstellungen:
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
name: Google Cloud SDK
activeSettings:
sessionSettings:
sessionLength: 3600s
sessionReauthMethod: SECURITY_KEY
sessionLengthEnabled: true
- scope:
clientScope:
restrictedClientApplication:
name: Cloud Console
activeSettings:
sessionSettings:
sessionLength: 14400s
sessionReauthMethod: LOGIN
sessionLengthEnabled: true
Erstellen Sie die Zugriffsbindung:
gcloud access-context-manager cloud-bindings create \
--organization=ORG_ID \
--group-key=GROUP_ID \
--binding-file=BINDING_FILE_PATH
Ersetzen Sie Folgendes:
ORG_ID: die ID der Organisation von Google CloudGROUP_ID: die eindeutige Cloud Identity-Gruppen-IDBINDING_FILE_PATH: der Pfad der Bindungsdatei
REST API
Beispiel für einen JSON-Text der API-Anfrage:
{
"groupKey": "GROUP_ID",
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Google Cloud SDK"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "3600s",
"sessionReauthMethod": "SECURITY_KEY",
"sessionLengthEnabled": true
}
}
},
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Cloud Console"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "14400s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": true
}
}
}
]
}
Erstellen Sie die POST-Anfrage im folgenden Format:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Ersetzen Sie ORG_ID durch die ID der Google Cloud -Organisation.
Terraform
Wenn Sie die Einstellungen für die Sitzungsdauer für das Google Cloud SDK und die Google Cloud Console festlegen möchten, geben Sie das entsprechende scoped_access_settings-Argument an:
resource "google_access_context_manager_gcp_user_access_binding" "gcp_user_access_binding" {
organization_id = "ORG_ID"
group_key = "GROUP_ID"
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Google Cloud SDK"
}
}
}
active_settings {
session_settings {
session_length = "3600s"
session_length_enabled = true
session_reauth_method = "SECURITY_KEY"
use_oidc_max_age = false
}
}
}
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Cloud Console"
}
}
}
active_settings {
session_settings {
session_length = "14400s"
session_length_enabled = true
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
}
}
}
Ersetzen Sie Folgendes:
ORG_ID: die numerische ID der Organisation Google Cloud.GROUP_ID: die unverarbeitete Cloud Identity- oder Google Workspace Directory API-Gruppen-ID. Verwenden Sie keine Gruppen-E-Mail-Adresse oder einen"groups/..."-Ressourcennamen. Übergeben Sie stattdessen die Roh-ID oder verwenden Sietrimprefix(google_cloud_identity_group.example.id, "groups/").
Standardmäßige Sitzungslänge von 16 Stunden für Google Cloud -Anwendungen überschreiben
Ab Juni 2026 wurde für eine Teilmenge von Google Cloud -Organisationen eine standardmäßige Sitzungsdauer von 16 Stunden eingeführt. Diese Standardrichtlinie ist in der Admin-Konsole nicht sichtbar. Betroffene Google Cloud Organisationen müssen die Access Context Manager API verwenden, um sie für ihre Nutzer zu überschreiben.
Wenn Sie diese Standardrichtlinie überschreiben und diese Anwendungen von der Sitzungssteuerung ausnehmen möchten (wodurch die Sitzungslänge praktisch unbegrenzt wird), können Sie eine Cloud-Bindung mit scopedAccessSettings erstellen, wobei sessionLengthEnabled sowohl für das Google Cloud SDK als auch für die Google Cloud -Console-Anwendungen („Cloud Console“) auf false gesetzt ist.
gcloud
Das folgende Beispiel zeigt die YAML-Konfiguration zum Deaktivieren von Sitzungssteuerungen für diese Anwendungen:
scopedAccessSettings:
- scope:
clientScope:
restrictedClientApplication:
name: Google Cloud SDK
activeSettings:
sessionSettings:
sessionLength: 0s
sessionReauthMethod: LOGIN
sessionLengthEnabled: false
- scope:
clientScope:
restrictedClientApplication:
name: Cloud Console
activeSettings:
sessionSettings:
sessionLength: 0s
sessionReauthMethod: LOGIN
sessionLengthEnabled: false
Erstellen oder aktualisieren Sie die Zugriffsbindung mit dieser Datei:
gcloud access-context-manager cloud-bindings create \
--organization=ORG_ID \
--group-key=GROUP_ID \
--binding-file=BINDING_FILE_PATH
Ersetzen Sie Folgendes:
ORG_ID: die ID der Organisation von Google CloudGROUP_ID: die eindeutige Cloud Identity-Gruppen-ID (z. B. die ID einer Gruppe, die alle Nutzer enthält, für die diese Überschreibung gelten soll)BINDING_FILE_PATH: der Pfad der Bindungsdatei
REST API
Beispiel für einen JSON-Text der API-Anfrage:
{
"groupKey": "GROUP_ID",
"scopedAccessSettings": [
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Google Cloud SDK"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "0s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": false
}
}
},
{
"scope": {
"clientScope": {
"restrictedClientApplication": {
"name": "Cloud Console"
}
}
},
"activeSettings": {
"sessionSettings": {
"sessionLength": "0s",
"sessionReauthMethod": "LOGIN",
"sessionLengthEnabled": false
}
}
}
]
}
Erstellen Sie die POST-Anfrage im folgenden Format:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Ersetzen Sie ORG_ID durch die ID der Google Cloud -Organisation.
Terraform
Wenn Sie festlegen möchten, dass die Sitzungssteuerung für das Google Cloud SDK und die Google Cloud Console deaktiviert ist, legen Sie das entsprechende scoped_access_settings-Argument mit session_length_enabled = false fest:
resource "google_access_context_manager_gcp_user_access_binding" "gcp_user_access_binding" {
organization_id = "ORG_ID"
group_key = "GROUP_ID"
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Google Cloud SDK"
}
}
}
active_settings {
session_settings {
session_length = "0s"
session_length_enabled = false
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
}
}
scoped_access_settings {
scope {
client_scope {
restricted_client_application {
name = "Cloud Console"
}
}
}
active_settings {
session_settings {
session_length = "0s"
session_length_enabled = false
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
}
}
}
Ersetzen Sie Folgendes:
ORG_ID: die numerische ID der Organisation Google Cloud.GROUP_ID: die unverarbeitete Cloud Identity- oder Google Workspace Directory API-Gruppen-ID. Verwenden Sie keine Gruppen-E-Mail-Adresse oder einen"groups/..."-Ressourcennamen. Übergeben Sie stattdessen die Roh-ID oder verwenden Sietrimprefix(google_cloud_identity_group.example.id, "groups/").