Sitzungssteuerung für die erneute Authentifizierung konfigurieren

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 eine LOGIN-, PASSWORD- oder SECURITY_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 mit clientId 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