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 Neuanmeldung für privilegierte Nutzer erzwingen: Nutzer mit umfassenderen Berechtigungen wie Projektinhaber und Abrechnungsadministratoren müssen sich häufiger neu anmelden.
- Längere Sitzungen für bestimmte Anwendungen konfigurieren: Bestimmte Anwendungen, z. B. kontextbasierte KI-Anwendungen wie Gemini, können längere Sitzungsdauern haben, 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 Sitzungssteuerung für alle Anwendungen festlegen
Verwenden Sie das Flag
--session-length
, um die Sitzungsdauer festzulegen, und das Flag--session-reauth-method
, um die Methode zur erneuten Authentifizierung anzugeben. Sie können beispielsweise eine Sitzungsdauer von 30 Minuten (30m) und eineLOGIN
-,PASSWORD
- oderSECURITY_KEY
-Methode für die erneute Authentifizierung festlegen.Diese Einstellung wird auf alle Anwendungen angewendet, sofern sie nicht durch anwendungsspezifische Einstellungen überschrieben wird.
Anwendungsspezifische Sitzungssteuerung einrichten
Definieren Sie
scopedAccessSettings
in einer YAML-Datei, um Sitzungssteuerungen für bestimmte Anwendungen mitclientId
anzugeben. 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.
API
Definieren Sie die Felder sessionLength
und sessionReauthMethod
innerhalb von sessionSettings object
im JSON-Text Ihrer POST-Anfrage, um eine GcpUserAccessBinding
-Bindung zu erstellen oder zu aktualisieren. Mit scopedAccessSettings
können Sie anwendungsspezifische Sitzungssteuerungen definieren.
Weitere Informationen finden Sie unter Konfigurationen für bestimmte Anwendungen definieren.
Wichtige Überlegungen beim Definieren von Sitzungssteuerungen:
- Sie können die Google Cloud Console nicht mit
clientId
angeben. Wenn Sie Sitzungssteuerungen für die Google Cloud -Konsole erzwingen möchten, definieren Sie sie als Standard und erstellen Sie dann Ausnahmen für andere Anwendungen. - Beim Auflösen von Sitzungssteuerungseinstellungen wird nur die zuletzt erstellte Zugriffsbindung verwendet, die der Anfrage entspricht.
Beispiel für die Konfiguration von Richtlinien
Im Folgenden finden Sie ein Beispiel dafür, wie Sie eine Sitzungssteuerung erstellen, die standardmäßig alle 18 Stunden mit LOGIN
und alle zwei Stunden für eine bestimmte Anwendung (SENSITIVE_APP_ID
) mit SECURITY_KEY
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.
Wenn Sie bestimmte Apps 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
Die Konfiguration der Einstellungen:
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 18h \
--session-reauth-method LOGIN
API
JSON-Text:
{
"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
}
]
}
}
]
POST-Anfrage:
POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings