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: Bei bestimmten Anwendungen, z. B. kontextbasierten KI-Anwendungen wie Gemini, können längere Sitzungsdauern zugelassen werden, um das große Kontextfenster beizubehalten, das für eine optimale Leistung erforderlich ist.
Sitzungsdauer 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 Sitzung mit einer Länge von 12 Stunden 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-Text Ihrer POST-Anfrage, um eine GcpUserAccessBinding-Bindung zu erstellen oder zu aktualisieren.
sessionLengthist die Sitzungsdauer in Sekunden. Der Wert muss0soder zwischen 1 Stunde und 24 Stunden liegen und als Anzahl von Sekunden gefolgt vonsformatiert sein (z. B.3600sfür eine Sitzungslänge von 1 Stunde).sessionReauthMethodkannLOGIN,PASSWORDoderSECURITY_KEYsein.- Mit
scopedAccessSettingskönnen Sie anwendungsspezifische Sitzungssteuerungen definieren. Weitere Informationen finden Sie unter Konfigurationen für bestimmte Anwendungen definieren.
Terraform
Fügen Sie in der Terraform-Ressource für die Bindung des Google Cloud-Nutzerzugriffs das Argument session_settings ein, um allgemeine Einstellungen für die Sitzungslänge zu konfigurieren, die für den gesamten Nutzer-Traffic gelten:
session_length: Die Dauer der Sitzung in Sekunden. Beispiel:3600slegt die Sitzungslänge auf 1 Stunde fest. 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, der angegeben wird, wenn die authentifizierenden Anmeldedaten 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 eine Sitzungssteuerung erstellt wird, die mit LOGIN alle 18 Stunden eine erneute Authentifizierung erfordert und mit SECURITY_KEY alle zwei Stunden für eine bestimmte Anwendung (SENSITIVE_APP_ID).
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.
Wenn Sie bestimmte Anwendungen von der Sitzungssteuerung ausnehmen möchten, legen Sie das Feld sessionLength auf 0s oder sessionLengthEnabled auf false fest. Die Methode sessionReauthMethod wird dann ignoriert.
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 \
--level=DEFAULT_ACCESS_LEVEL \
--session-length=SESSION_LENGTH \
--session-reauth-method LOGIN
Ersetzen Sie Folgendes:
ORG_ID: die ID der OrganisationGROUP_ID: der GruppenschlüsselBINDING_FILE_PATH: der Pfad der BindungsdateiDEFAULT_ACCESS_LEVEL: die StandardzugriffsebeneSESSION_LENGTH: die Sitzungslänge, z. B.18h
REST API
Beispiel für einen JSON-Text der API-Anfrage:
{
"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
}
]
}
}
]
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.
Terraform
So legen Sie eine Sitzungslänge für Zugriffsanfragen von Nutzern fest, die über „Gruppenschlüssel“ auf alle Anwendungen zugreifen:
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 = "3600s"
session_length_enabled = true
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
Wenn Sie eine Sitzungslänge für Anfragen von Nutzern aus einer bestimmten Google-Gruppe mit einer bestimmten App, z. B. der Google Cloud -Konsole, angeben möchten, füllen Sie das entsprechende scoped_access_settings-Argument mit einem session_settings-Argument in active_settings aus. Die untergeordneten Argumente in session_settings sind mit dem Argument der obersten Ebene identisch.
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 = "Cloud Console"
}
}
}
active_settings {
session_settings {
session_length = "3600s"
session_length_enabled = true
session_reauth_method = "LOGIN"
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 ein Sitzungssteuerelement erstellen, das für das Google Cloud SDK mit SECURITY_KEY eine Reauthentifizierung 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 Console fest. Dazu verwenden wir das Feld name, 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 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.
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 = "{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
}
}
}
}