Sitzungssteuerung für die erneute Authentifizierung konfigurieren

Mit den Sitzungssteuerungen können Sie konfigurieren, wie oft sich Nutzer nach der Gewährung des Zugriffs noch einmal authentifizieren müssen und ob eine vollständige Anmeldung, nur ein Passwort oder ein Hardwaresicherheitsschlüssel erforderlich ist.

Mit Sitzungssteuerungen können Sie Folgendes tun:

  • Häufige Neuauthentifizierung für Nutzer mit erhöhten Berechtigungen erzwingen: Nutzer mit erhöhten Berechtigungen wie Projektinhaber und Abrechnungsadministratoren müssen sich häufiger neu authentifizieren.
  • Längere Sitzungen für bestimmte Anwendungen konfigurieren: Sie können für bestimmte Anwendungen, z. B. für kontextbasierte KI-Anwendungen wie Gemini, längere Sitzungsdauern festlegen, um das große Kontextfenster zu erhalten, das für eine optimale Leistung erforderlich ist.

Sitzungsdauer und Methoden zur erneuten Authentifizierung definieren

Sie können Sitzungssteuerungen beim Erstellen einer Access Context Manager-Bindung definieren. Weitere Informationen zu den Sitzungssteuerungen finden Sie unter Richtlinien mithilfe von Zugriffsbindungen auf Nutzergruppen anwenden.

gcloud

  • Standardeinstellungen für Sitzungen für alle Anwendungen festlegen

    Verwenden Sie das Flag --session-length, um die Sitzungsdauer festzulegen, und das Flag --session-reauth-method, um die Methode für die erneute 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 gilt für alle Anwendungen, sofern sie nicht durch anwendungsspezifische Einstellungen überschrieben wird.

  • Anwendungsspezifische Sitzungssteuerung festlegen

    Definieren Sie scopedAccessSettings in einer YAML-Datei, um Sitzungssteuerungen für bestimmte Anwendungen mit clientId anzugeben. So können Sie die Standardeinstellungen für Sitzungen für diese Anwendungen überschreiben. Sie können die YAML-Datei dann mit --binding-file flag übergeben.

API

Definiere die Felder sessionLength und sessionReauthMethod innerhalb von sessionSettings object im JSON-Text deiner 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 Aspekte bei der Definition 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 der Einstellungen für die Sitzungssteuerung wird nur die zuletzt erstellte Zugriffsbindung verwendet, die mit der Anfrage übereinstimmt.

Beispiel für eine Richtlinienkonfiguration

Im folgenden Beispiel wird gezeigt, wie Sie eine Sitzungssteuerung erstellen, bei der 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 erforderlich ist.

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 in der YAML-Datei (oder im JSON-Body) können Sie die Standardeinstellungen für bestimmte Anwendungen überschreiben. In diesem Beispiel haben wir für die Anwendung mit der Client-ID SENSITIVE_APP_ID eine erneute Authentifizierung nach zwei Stunden mit SECURITY_KEY festgelegt.

gcloud

Die Einstellungen:

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 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