Erneute Authentifizierung von IAP

Mit der erneuten IAP-Authentifizierung können Dienst- und Anwendungsinhaber oder Google Cloud-Administratoren festlegen, dass sich authentifizierte Endnutzer nach einer bestimmten Zeit neu authentifizieren müssen, wenn sie auf Dienste oder Anwendungen zugreifen, die durch IAP geschützt sind. Sie begrenzt die Zeitspanne, während der ein Nutzer auf den IAP-geschützten Dienst oder die Anwendung zugreifen kann, bevor er zur erneuten Authentifizierung aufgefordert wird.

Die erneute IAP-Authentifizierung dient dazu, Richtlinien für die erneute Authentifizierung für IAP-geschützte Dienste und Anwendungen durchzusetzen. Sie können dies für wichtige Dienste und Anwendungen tun, die vertrauliche Informationen verarbeiten. Sie können beispielsweise festlegen, dass Nutzer, die auf eine kritische HR-Anwendung zugreifen, sich stündlich mit einem zweiten Faktor authentifizieren.

Unterstützte Methoden zur erneuten Authentifizierung

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

  • Anmeldung: IAP erzwingt eine erneute Authentifizierung der geschützten Anwendung und Nutzer müssen sich noch einmal anmelden.
  • Sicherheitsschlüssel: Endnutzer müssen sich mit der konfigurierten sicherheitsschlüsselbasierten Bestätigung in zwei Schritten noch einmal authentifizieren.
  • Registrierte zweite Faktoren: Endnutzer müssen sich mit einer der registrierten Methoden zur Zwei-Faktor-Authentifizierung noch einmal authentifizieren.

Weitere Informationen finden Sie unter IapSettings.

Richtlinie für die erneute Authentifizierung einrichten

reauthSettings gehören zu IapSettings und können daher für jeden Ressourcentyp in der Ressourcenhierarchie festgelegt werden. Sie können reauthSettings für einen Dienst oder eine Anwendung auf Organisations-, Ordner-, Projekt- oder Dienstebene festlegen, um Einschränkungen anzuwenden. Beispielsweise können Sie die Sitzungsdauer für alle Anwendungen in einer Organisation oder auf eine bestimmte Anwendung auf maximal eine Stunde beschränken.

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

  • Minimum: Wenn der Richtlinientyp für eine Ressource (z. B. eine Organisation) auf MINIMUM festgelegt ist, werden die beiden Einstellungen bei der Auswertung der Einstellungen für die erneute Authentifizierung für eine untergeordnete Ressource, z. B. einen Ordner, zusammengeführt. Wenn die untergeordnete Ressource keine Einstellungen für die erneute Authentifizierung hat, entspricht das Zusammenführungsergebnis den nicht leeren Einstellungen der übergeordneten Ressource. Andernfalls wird für die Zusammenführung die kürzere Sitzungsdauer und die Methode zur erneuten Authentifizierung zwischen den beiden Ressourcen verwendet, die höhere Priorität hat. Der Richtlinientyp ist immer MINIMUM. Die zusammengeführten Einstellungen für die erneute Authentifizierung werden mit den Einstellungen für die erneute Authentifizierung der nächstniedrigeren Ressource, z. B. eines Projekts, zusammengeführt.

    Die drei unterstützten Methoden werden von der höchsten zur niedrigsten Priorität in die richtige Reihenfolge gebracht: Secure key, Enrolled second factors und Login.

  • Standardeinstellung: Wenn der Richtlinientyp für eine Ressource, z. B. Organisation, auf DEFAULT gesetzt ist, wird bei der Auswertung der Einstellung für die erneute Authentifizierung für eine untergeordnete Ressource, z. B. einen Ordner, die untergeordnete Ressourceneinstellung verwendet, sofern konfiguriert. Andernfalls wird die übergeordnete Einstellung für die erneute Authentifizierung der Ressource angewendet.

Bei beiden Richtlinientypen wird der Bewertungsprozess wiederholt, um die reauthSettings für den Zieldienst oder die Zielanwendung zu bestimmen. Die folgenden Beispiele zeigen die Einstellungen vor und nach der Bewertung. Während der Bewertung werden der Ordner und die Organisation reauthSettings zusammengeführt, wodurch sich der Richtlinientyp des Ordners in MINIMUM ändert. Die zusammengeführten Einstellungen werden dann für die Zusammenführung mit dem Dienst oder der Anwendung reauthSettings verwendet.

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 der Zusammenführung:

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 im Beispiel der Richtlinientyp jeder Ressource auf DEFAULT festgelegt ist, wird der reauthSettings des Dienstes oder der Anwendung verwendet.

MaxAge

Verwenden Sie den Parameter "MaxAge", um anzugeben, wie oft ein Endnutzer sich neu authentifizieren muss. Dieser wird in Sekunden angegeben. Zum Festlegen einer Richtlinie für eine erneute Authentifizierung von einer Stunde setzen Sie beispielsweise den Sekundenwert auf 3.600, wie im folgenden Beispiel gezeigt:

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

Der Minimalwert für maxAge beträgt fünf Minuten.

Führen Sie die folgenden Schritte aus, um eine Richtlinie für die erneute Authentifizierung festzulegen.

Console

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

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

  4. Legen Sie die Einstellungen für die erneute Authentifizierung fest und klicken Sie auf Speichern.

gcloud

Sie können eine Richtlinie zur erneuten 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 zu 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 zur erneuten Authentifizierung für die Ressourcen innerhalb einer Organisation festzulegen:

gcloud iap settings set SETTING_FILE --organization=ORGANIZATION

Führen Sie den folgenden Befehl aus, um für die Ressourcen in einem Ordner eine Richtlinie zur erneuten Authentifizierung 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 Webtypressourcen in einem Projekt festzulegen:

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

Führen Sie den folgenden Befehl aus, um für einen App Engine-Dienst in einem Projekt eine Richtlinie zur erneuten Authentifizierung 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 den Wert compute oder app-engine hat.
  • VERSION: Der Versionsname. Dies gilt nicht für compute und ist optional, wenn resource-type den Wert app-engine hat.

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 Namensfeld 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. 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 einer erfolgreichen erneuten Authentifizierung erstellt IAP ein Cookie im Browser des Endnutzers. Damit Nutzer sich bei Verwendung ähnlicher Apps nicht zu oft neu authentifizieren müssen, wird das Cookie für die private Top-Level-Domain gesetzt und ist für die gesamte private Domain gültig.

foo.example.com ist beispielsweise eine durch IAP geschützte Ressource mit einer IAP-Richtlinie für die erneute Authentifizierung. Nach einer erfolgreichen erneuten Authentifizierung setzt IAP ein Cookie auf example.com, da dies die private Top-Level-Domain ist. Anwendungen derselben privaten Top-Level-Domain, z. B. bar.example.com, verwenden dieselben Anmeldedaten für die erneute Authentifizierung und fordern den Nutzer nicht auf, sich noch einmal zu authentifizieren, solange die Anmeldedaten gültig sind.

Beachten Sie, dass für URLs wie myapp.appspot.com appspot.com eine öffentliche Domain ist. Daher ist die private Top-Level-Domain myapp.appspot.com.

Bekannte Einschränkungen

  • Die erneute Authentifizierung wird nur für Browserabläufe unterstützt. Der programmatische Nutzerkontozugriff wird nicht unterstützt. Beispielsweise gibt es für mobile und Desktop-Anwendungen keine Möglichkeit, Nutzer neu zu authentifizieren, da Ressourcen, die eine erneute Authentifizierung erfordern, nicht zugänglich sind.
  • Dienstkonten und IAP-TCP sind von den Anforderungen zur erneuten Authentifizierung ausgenommen.
  • Die erneute Authentifizierung funktioniert mit dem IAM-Mitgliedstyp allUsers nicht.
  • Externe Identitäten über Identity Platform werden für die erneuten Authentifizierung nicht unterstützt, da auf Ressourcen, die eine erneute Authentifizierung erfordern, nicht zugegriffen werden kann.