Erneute IAP-Authentifizierung

Mit der IAP-Reauthentifizierung können Dienst- und Anwendungsinhaber oderGoogle Cloud -Administratoren festlegen, dass sich authentifizierte Endnutzer nach einer bestimmten Zeit neu authentifizieren müssen, wenn sie auf einen IAP-geschützten Dienst oder eine IAP-geschützte Anwendung zugreifen. Außerdem können sie begrenzen, wie lange ein Nutzer auf einen IAP-geschützten Dienst oder eine IAP-geschützte Anwendung zugreifen kann, bevor eine Authentifizierung erforderlich ist.

Die erneute IAP-Authentifizierung (oder Reauth) soll die Richtlinien für die erneute Authentifizierung für IAP-geschützte Dienste und Anwendungen (oder Apps) erzwingen. Mit diesem Dienst können Sie Richtlinien für die erneute Authentifizierung für wichtige Dienste und Anwendungen erzwingen, die vertrauliche Informationen verarbeiten. Sie können beispielsweise festlegen, dass Nutzer, die auf eine wichtige HR-Anwendung zugreifen, sich stündlich mit einem zweiten Faktor neu authentifizieren müssen.

Unterstützte Methoden zur erneuten Authentifizierung

Sie können folgende Methoden verwenden, um die Einstellungen für die erneute Authentifizierung zu verwalten:

  • Anmeldung: Endnutzer authentifizieren sich noch einmal mit ihren Anmeldedaten.
  • Sicherer Schlüssel: Endnutzer authentifizieren sich noch einmal mit ihrem konfigurierten Sicherheitsschlüssel.
  • Registrierte zweite Faktoren: Endnutzer authentifizieren sich noch einmal mit einem ihrer registrierten zweiten Faktoren.

Weitere Informationen finden Sie unter IapSettings.

Richtlinie für die erneute Authentifizierung einrichten

Die reauthSettings sind Teil von IapSettings und können für jeden Ressourcentyp in der Ressourcenhierarchie festgelegt werden. Sie können reauthSettings auf Organisations-, Ordner-, Projekt- oder Dienstebene festlegen, um Einschränkungen anzuwenden. Sie können beispielsweise die Sitzungslänge für alle Anwendungen in einer Organisation oder für eine bestimmte Anwendung auf maximal eine Stunde begrenzen.

Es gibt zwei Richtlinientypen, mit denen Sie die erneute Authentifizierung festlegen können:

  • Minimum: Wenn der Richtlinientyp für eine Ressource wie eine Organisation auf MINIMUM festgelegt ist, werden die Einstellungen für die erneute Authentifizierung beim Auswerten der Ressource auf niedrigerer Ebene, z. B. eines Ordners, zusammengeführt. Wenn die Ressource auf niedrigerer Ebene keine Einstellungen für die erneute Authentifizierung hat, sind die Einstellungen des zusammengeführten Ergebnisses die nicht leeren Einstellungen der Ressource auf höherer Ebene. Andernfalls wird die kürzere Sitzungsdauer und die Reauthentifizierungsmethode mit der höheren Priorität zwischen den beiden Ressourcen verwendet. Der resultierende zusammengeführte Richtlinientyp wird auf MINIMUM festgelegt.

  • Standard: Wenn der Richtlinientyp für eine Ressource wie eine Organisation auf DEFAULT festgelegt ist, wird bei der Auswertung der Einstellung zur erneuten Authentifizierung für die Ressource auf niedrigerer Ebene, z. B. einen Ordner, die Einstellung für die Ressource auf niedrigerer Ebene verwendet, sofern sie konfiguriert ist. Andernfalls wird die Einstellung zur erneuten Authentifizierung für die Ressource auf höherer Ebene angewendet.

Bei beiden Richtlinientypen wird der Evaluierungsprozess wiederholt, um die reauthSettings für den Zieldienst oder die Zielanwendung zu ermitteln. Die effektiven reauthSettings auf jeder Ebene werden so ermittelt:

  • Übernahme: Die Einstellungen der Ressource auf höherer Ebene werden mit den Einstellungen der Ressource auf niedrigerer Ebene zusammengeführt.

  • Regeln zusammenführen: Wenn für die Ressource auf niedrigerer Ebene keine spezifischen Einstellungen für die erneute Authentifizierung vorhanden sind, werden die Einstellungen von der höheren Ebene übernommen.

    Wenn beide Ebenen reauthSettings enthalten, wird für das zusammengeführte Ergebnis Folgendes verwendet:

    • Die kürzere Sitzungsdauer.
    • Die Methode zur erneuten Authentifizierung mit der höheren Priorität.
    • Die Priorität ist Secure key (höchste), Enrolled second factors (mittel) und Login (niedrigste).
  • Resultierender Richtlinientyp: Der Richtlinientyp der zusammengeführten Einstellungen ist MINIMUM.

In den folgenden Beispielen sehen Sie die Einstellungen vor und nach der Auswertung. Während der Evaluierung werden der Ordner und die Organisation reauthSettings zusammengeführt. Dadurch ändert sich der Richtlinientyp des Ordners zu MINIMUM. Die zusammengeführten Einstellungen werden dann mit dem Dienst oder der Anwendung reauthSettings zusammengeführt.

Organisation IapSettings:

accessSettings:
  reauthSettings:
    method: "ENROLLED_SECOND_FACTORS"
    maxAge: "3600s"
    policyType: "MINIMUM"

Ordner IapSettings:

accessSettings:
  reauthSettings:
    method: "LOGIN"
    maxAge: "1200s"
    policyType: "DEFAULT"

Dienst oder Anwendung IapSettings:

accessSettings:
  reauthSettings:
    method: "SECURE_KEY"
    maxAge: "7200s"
    policyType: "DEFAULT"

Einstellungen nach dem Zusammenführen:

Organisation IapSettings:

accessSettings:
  reauthSettings:
    method: "ENROLLED_SECOND_FACTORS"
    maxAge: "3600s"
    policyType: "MINIMUM"

Ordner IapSettings:

accessSettings:
  reauthSettings:
    method: "ENROLLED_SECOND_FACTORS"
    maxAge: "1200s"
    policyType: "MINIMUM"

Dienst oder Anwendung IapSettings:

accessSettings:
  reauthSettings:
    method: "SECURE_KEY"
    maxAge: "1200s"
    policyType: "MINIMUM"

Wenn in diesem Beispiel der Richtlinientyp jeder Ressource auf DEFAULT festgelegt ist, wird die reauthSettings des Dienstes oder der Anwendung verwendet.

MaxAge

Mit dem Parameter maxAge geben Sie an, wie oft sich ein Endnutzer neu authentifizieren muss. Die Angabe erfolgt in Sekunden. Wenn Sie beispielsweise eine Richtlinie für die erneute Authentifizierung nach einer Stunde festlegen möchten, setzen Sie „seconds“ auf 3.600, wie im folgenden Beispiel gezeigt:

accessSettings:
  reauthSettings:
    method: "LOGIN"
    maxAge: "3600s"
    policyType: "MINIMUM"

Der Mindestwert für maxAge beträgt 300 Sekunden oder 5 Minuten.

So legen Sie eine Richtlinie für die erneute Authentifizierung fest:

Console

  1. Rufen Sie die IAP-Seite auf.
    Zur Seite "Identity-Aware Proxy"
  2. Wählen Sie ein Projekt und dann die Ressource aus, für die Sie eine Richtlinie zur erneuten Authentifizierung festlegen möchten.

  3. Öffnen Sie die Einstellungen für die Ressource und wählen Sie unter Richtlinie zur erneuten Authentifizierung die Option Erneute Authentifizierung konfigurieren aus.

  4. Geben Sie die Einstellungen für die erneute Authentifizierung an und klicken Sie dann auf Speichern.

gcloud

Sie können eine Richtlinie für die erneute Authentifizierung für Ressourcen und Dienste auf Organisations-, Projekt- und Ordnerebene festlegen. Im Folgenden finden Sie einige Beispielbefehle zum Festlegen einer Richtlinie für die erneute Authentifizierung.

Weitere Informationen finden Sie unter gcloud iap settings set.

Führen Sie dazu diesen Befehl aus:

gcloud iap settings set SETTING_FILE [--organization=ORGANIZATION --folder=FOLDER --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION

Führen Sie den folgenden Befehl aus, um eine Richtlinie für die erneute Authentifizierung für die Ressourcen in einer Organisation festzulegen:

gcloud iap settings set SETTING_FILE --organization=ORGANIZATION

Führen Sie den folgenden Befehl aus, um eine Richtlinie zur erneuten Authentifizierung für die Ressourcen in einem Ordner festzulegen:

gcloud iap settings set SETTING_FILE --folder=FOLDER

Führen Sie den folgenden Befehl aus, um eine Richtlinie zur erneuten Authentifizierung für alle Webressourcen in einem Projekt festzulegen:

gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=iap_web

Führen Sie den folgenden Befehl aus, um eine Richtlinie für die erneute Authentifizierung für einen App Engine-Dienst in einem Projekt festzulegen:

gcloud iap settings set SETTING_FILE --project=PROJECT --resource-type=app-engine --service=SERVICE

Wo SETTING_FILE Folgendes ist:

accessSettings:
  reauthSettings:
    method: "LOGIN"
    maxAge: "3600s"
    policyType: "MINIMUM"

Ersetzen Sie Folgendes:

  • FOLDER: Die Ordner-ID.
  • ORGANIZATION: Die Organisations-ID.
  • PROJECT: die Projekt-ID
  • RESOURCE_TYPE: Der IAP-Ressourcentyp. Muss app-engine, iap_web, compute, organization oder folder sein.
  • SERVICE: Der Dienstname. Dies ist optional, wenn resource-type auf compute oder app-engine festgelegt ist.
  • VERSION: Der Versionsname. Dies ist nicht zutreffend für den Ressourcentyp compute und ist optional für den Ressourcentyp app-engine.

API

Führen Sie den folgenden Befehl aus, um eine iap_settings.json-Datei vorzubereiten. Aktualisieren Sie die Werte nach Bedarf.

cat << EOF > iap_settings.json
{
  "access_settings": {
      "reauth_settings": {
            "method": "LOGIN",
            "maxAge": "300s",
            "policy_type": "DEFAULT"
        }
    }
}
EOF

Rufen Sie den Ressourcennamen mit dem Befehl gcloud iap settings get ab. Kopieren Sie das Feld „name“ aus der Ausgabe. Sie benötigen den Namen im nächsten Schritt.

gcloud iap settings get [--organization=ORGANIZATION --folder=FOLDER --project=/PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION]

Ersetzen Sie RESOURCE_NAME im folgenden Befehl durch den Namen aus dem vorherigen Schritt. Die IapSettings wird aktualisiert.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d @iap_settings.json \
"https://iap.googleapis.com/v1/RESOURCE_NAME:iapSettings?updateMask=iapSettings.accessSettings.reauthSettings"

Informationen zu den Anmeldedaten für die erneute Authentifizierung

Nach erfolgreicher erneuter Authentifizierung wird von IAP ein Cookie im Browser des Endnutzers erstellt. Um eine häufige erneute Authentifizierung für Anwendungen in derselben Domain zu verhindern, wird das Cookie in der privaten Top-Level-Domain gesetzt und ist für die gesamte Domain gültig.

foo.example.com ist beispielsweise eine IAP-geschützte Ressource mit einer IAP-Richtlinie zur erneuten Authentifizierung. Nach einer erfolgreichen erneuten Authentifizierung setzt IAP ein Cookie auf example.com, da dies die private Top-Level-Domain ist. Anwendungen aus derselben privaten Top-Level-Domain, z. B. bar.example.com, verwenden dieselben Reauthentifizierungsanmeldedaten und fordern den Nutzer nicht zur Reauthentifizierung auf, solange die Anmeldedaten gültig sind.

Bei URLs wie myapp.appspot.com ist appspot.com eine öffentliche Domain. Die private Top-Level-Domain ist daher myapp.appspot.com.

Bekannte Einschränkungen

  • Die erneute Authentifizierung wird nur für Browserabläufe unterstützt. Der programmgesteuerte Zugriff auf Nutzerkonten wird nicht unterstützt. Mobile und Desktopanwendungen können Nutzer beispielsweise nicht neu authentifizieren, da die Ressourcen, die eine erneute Authentifizierung erfordern, für diese Anwendungen nicht zugänglich sind.
  • Dienstkonten und IAP-TCP sind von den Anforderungen zur erneuten Authentifizierung ausgenommen.
  • Die erneute Authentifizierung funktioniert nicht mit Identity and Access Management-Mitgliedstyp allUsers.
  • Externe Identitäten wie OAuth und SAML werden bei der erneuten Authentifizierung nicht unterstützt.
  • Föderierte Identitäten der Workforce Identity Federation werden für die IAP-Reauthentifizierung nicht unterstützt.