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 Zugriffsbinding auf Nutzergruppen anwenden.
gcloud
Standardmäßige Sitzungssteuerungen 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
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.
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
clientIdangeben. 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