Mit Sitzungssteuerungen können Sie konfigurieren, wie oft sich Nutzer nach dem Erteilen des Zugriffs neu authentifizieren müssen und ob eine vollständige Anmeldung, nur ein Passwort oder ein Hardware-Sicherheitsschlüssel erforderlich ist.
Mit Sitzungssteuerungen können Sie Folgendes tun:
- Häufige Reauthentifizierung für privilegierte Nutzer erzwingen: Nutzer mit erweiterten Berechtigungen wie Projektinhaber und Abrechnungsadministratoren müssen sich häufiger neu authentifizieren.
- Längere Sitzungen für bestimmte Anwendungen konfigurieren: Ermöglichen Sie unterstützten Anwendungen wie der Google Cloud Konsole, dem Google Cloud SDK oder bestimmten OAuth-Apps längere Sitzungsdauern, um das große Kontextfenster beizubehalten, das für eine optimale Leistung erforderlich ist.
Sitzungslänge und Methoden zur erneuten Authentifizierung definieren
Sie können Sitzungssteuerungen definieren, wenn Sie eine Access Context Manager-Bindung erstellen. Weitere Informationen zu den Sitzungssteuerungen finden Sie unter Richtlinien mithilfe von Zugriffsberechtigungen auf Nutzergruppen anwenden.
gcloud
Standardmäßige Sitzungssteuerungen für alle Anwendungen festlegen
Mit dem Flag
--session-lengthkönnen Sie die Sitzungsdauer festlegen. Der Wert muss0soder zwischen 1 und 24 Stunden liegen. Geben Sie die Dauer in Stunden an. Verwenden Sie beispielsweise „12h“, um eine 12-stündige Sitzung festzulegen. Verwenden Sie das Flag--session-reauth-method, um die Methode für die erneute Authentifizierung anzugeben. Sie können beispielsweise eine Sitzungsdauer von 3 Stunden (3h) und eine Methode zur erneuten Authentifizierung vonLOGIN,PASSWORDoderSECURITY_KEYfestlegen.Diese Einstellung wird auf alle Anwendungen angewendet, sofern sie nicht durch anwendungsspezifische Einstellungen überschrieben wird.
Anwendungsspezifische Sitzungssteuerung einrichten
Definieren Sie
scopedAccessSettingsin einer YAML-Datei, um Sitzungssteuerungen für bestimmte Anwendungen mitclientIdanzugeben. So können Sie die Standardeinstellungen für die Sitzungssteuerung 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-Hauptteil 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) liegen. Wenn dieser Wert auf0sgesetzt ist, musssessionLengthEnabledauffalsegesetzt oder nicht konfiguriert werden. Sie könnensessionLengthnicht auf0sundsessionLengthEnabledauftruefestlegen.sessionReauthMethodkannLOGIN,PASSWORDoderSECURITY_KEYsein.- Mit
scopedAccessSettingskönnen Sie anwendungsspezifische Sitzungssteuerungen definieren. Weitere Informationen finden Sie unter Konfigurationen für bestimmte Anwendungen definieren.
Terraform
Legen Sie in der Terraform Google Cloud User Access Binding-Ressource das session_settings-Argument fest, um allgemeine Steuerelemente für die Sitzungslänge zu konfigurieren, die für den gesamten Nutzer-Traffic gelten:
session_length: Die Dauer der Sitzung in Sekunden. Beispielsweise wird mit3600sdie Sitzungslänge auf 1 Stunde festgelegt. Dassam Ende ist erforderlich.session_length_enabled: Auf „false“ setzen, um die angegebenen Sitzungseinstellungen zu deaktivieren.session_reauth_method: Der Typ der Authentifizierungsaufforderung, die zum Aktualisieren von 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. Dieser wird angegeben, wenn die Authentifizierungsanmeldedaten ein OAuth-Token sind.
Beim Definieren von Sitzungssteuerungen wird nur die zuletzt erstellte Zugriffsbindung verwendet, die der Anfrage entspricht, wenn die Einstellungen für die Sitzungssteuerung aufgelöst werden.
Beispiel für die Konfiguration von Richtlinien
Im folgenden Beispiel wird gezeigt, wie Sie eine Sitzungssteuerung erstellen, die mit LOGIN alle 18 Stunden und mit SECURITY_KEY alle zwei Stunden für eine bestimmte Anwendung (SENSITIVE_APP_ID) eine erneute Authentifizierung erfordert.
Standardeinstellungen
Mit den Flags --level, --session-length und --session-reauth-method im Google Cloud CLI-Befehl (oder den entsprechenden Feldern im JSON-Body 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-Bodys) können Sie die Standardeinstellungen für bestimmte Anwendungen überschreiben. In diesem Beispiel legen wir mit SECURITY_KEY eine Anforderung für die erneute Authentifizierung alle zwei Stunden für die Anwendung mit der Client-ID SENSITIVE_APP_ID fest.
Anwendungsspezifische Einstellungen in scopedAccessSettings überschreiben die Standardeinstellungen (global) für die Sitzungssteuerung vollständig. Wenn für eine Anwendung eine Einstellung mit Bereich definiert ist, gelten die Standardeinstellungen für die Sitzungssteuerung nicht für diese Anwendung.
Wenn Sie bestimmte Anwendungen von der Sitzungssteuerung ausnehmen möchten, wenn globale Steuerelemente aktiv sind, müssen Sie sie explizit zu scopedAccessSettings hinzufügen und das Feld sessionLength auf 0s und sessionLengthEnabled auf false festlegen.
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 Google Cloud OrganisationGROUP_ID: der GruppenschlüsselBINDING_FILE_PATH: der Pfad der BindungsdateiSESSION_LENGTH: die Sitzungslänge, z. B.18h
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 Organisation Google Cloud .
Terraform
Wenn Sie Sitzungssteuerungen 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 = "{Organization ID}"
group_key = "{Group Key}"
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 = "SENSITIVE_APP_ID"
}
}
}
active_settings {
session_settings {
session_length = "7200s"
session_length_enabled = true
session_reauth_method = "SECURITY_KEY"
use_oidc_max_age = false
}
}
}
}
Beispiel für die Konfiguration von Richtlinien für Google Cloud Anwendungen
Sie können anwendungsspezifische Reauthentifizierungssteuerungen für Google Cloud -Anwendungen konfigurieren, z. B. SECURITY_KEY für das Google Cloud SDK und LOGIN für die Google Cloud -Konsole. Im folgenden Beispiel wird gezeigt, wie Sie eine Sitzungssteuerung erstellen, die für das Google Cloud SDK mit SECURITY_KEY eine erneute Authentifizierung stündlich und für die Google Cloud -Konsole mit LOGIN alle vier Stunden erfordert.
Im Abschnitt scopedAccessSettings der YAML-Datei (oder des JSON-Bodys) können Sie die Standardeinstellungen für bestimmte Anwendungen überschreiben. In diesem Beispiel legen wir mit SECURITY_KEY eine Anforderung zur erneuten Authentifizierung von einer Stunde für das Google Cloud SDK und mit LOGIN eine Anforderung zur erneuten Authentifizierung von vier Stunden für die Google Cloud -Konsole fest. Das Feld name wird verwendet, um diese Anwendungen zu identifizieren.
Wenn Sie bestimmte Anwendungen von der Sitzungssteuerung ausnehmen möchten, legen Sie das Feld sessionLength auf 0s oder sessionLengthEnabled bis false fest. 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 Google Cloud OrganisationGROUP_ID: der GruppenschlüsselBINDING_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 Organisation Google Cloud .
Terraform
Wenn Sie die Einstellungen für die Sitzungsdauer für das Google Cloud SDK und die Google Cloud -Konsole 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 = "{Organization ID}"
group_key = "{Group Key}"
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
}
}
}
}
Standardmäßige Sitzungsdauer von 16 Stunden für Google Cloud -Anwendungen überschreiben
Ab Juni 2026 wurde für eine Teilmenge von Google Cloud Organisationen eine Standardlänge von 16 Stunden für Sitzungen eingeführt. Diese Standardrichtlinie ist in der Google Admin-Konsole nicht sichtbar und 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 effektiv unendlich ist), können Sie eine Cloud-Bindung mit scopedAccessSettings erstellen, wobei sessionLengthEnabled für die Anwendungen des Google Cloud SDK und der Google Cloud -Konsole („Cloud Console“) auf false festgelegt ist.
gcloud
Das folgende Beispiel zeigt die YAML-Konfiguration zum Deaktivieren der Sitzungssteuerung 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 Google Cloud OrganisationGROUP_ID: Der Gruppenschlüssel, z. B. eine Gruppe, die alle Nutzer enthält, auf die diese Überschreibung angewendet werden 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 Organisation Google Cloud .
Terraform
Wenn Sie angeben möchten, dass die Sitzungssteuerung für das Google Cloud SDK und die Google Cloud -Konsole deaktiviert werden soll, 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 = "{Organization ID}"
group_key = "{Group Key}"
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
}
}
}
}