Mit Sitzungssteuerungen können Sie konfigurieren, wie oft sich Nutzer nach dem Erhalt 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 Re-Authentifizierung für privilegierte Nutzer erzwingen: Sie können festlegen, dass Nutzer mit erhöhten Berechtigungen, z. B. Projektinhaber und Abrechnungsadministratoren, sich häufiger neu authentifizieren müssen.
- 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.
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 kann zwischen 0 und 24 Stunden liegen. Gib die Dauer im ISO 8601-Format für die Dauer an. Verwenden Sie beispielsweise „12H30M5S“, um eine Sitzung mit einer Länge von 12 Stunden, 30 Minuten und 5 Sekunden festzulegen. Verwenden Sie 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 im Objekt sessionSettings im JSON-Text Ihrer POST-Anfrage, um eine GcpUserAccessBinding-Bindung zu erstellen oder zu aktualisieren.
sessionLengthist die Länge der Sitzung zwischen 0 und 24 Stunden. Der Wert muss ein String sein, der aus einer Ganzzahl zwischen 0 und 86400 besteht, gefolgt vom Buchstaben „s“.sessionReauthMethodkannLOGIN,PASSWORDoderSECURITY_KEYsein.- Mit
scopedAccessSettingskönnen Sie anwendungsspezifische Sitzungssteuerungen definieren. Weitere Informationen finden Sie unter Konfigurationen für bestimmte Anwendungen definieren.
Terraform
Füllen Sie in der Terraform-Ressource für die Bindung des Nutzerzugriffs in Google Cloud das Argument session_settings aus, 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. Wenn Sie beispielsweise 900s eingeben, wird die Sitzungslänge auf 15 Minuten festgelegt. Das „s“ am 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.
Wichtige Überlegungen beim Definieren von Sitzungssteuerungen:
- Beim Auflösen der Einstellungen für die Sitzungssteuerung wird nur die zuletzt erstellte Zugriffsbindung verwendet, die der Anfrage entspricht.
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 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
Terraform
So legen Sie eine Sitzungslänge für Zugriffsanfragen von Nutzern fest, die über „Gruppenschlüssel“ auf alle Apps 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 = "1800s"
session_length_enabled = true
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
Wenn Sie eine Sitzungslänge für Anfragen von Nutzern festlegen möchten, die über eine bestimmte Google-Gruppe mit einer bestimmten App, z. B. der Google Cloud -Konsole, kommen, 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 = "1800s"
session_length_enabled = true
session_reauth_method = "LOGIN"
use_oidc_max_age = false
}
}
}
}