IAP-Erneute Authentifizierung

Mit der erneuten IAP-Authentifizierung können Diensteinhaber, Anwendungsinhaber oder Google Cloud-Administratoren festlegen, dass sich authentifizierte Endnutzer neu authentifizieren müssen, bevor sie auf einen Dienst oder eine Anwendung zugreifen können, die durch IAP geschützt ist. Damit wird die Zeitspanne begrenzt, in der ein Nutzer auf den IAP-geschützten Dienst oder die IAP-geschützte Anwendung zugreifen kann, bevor er noch einmal zur Authentifizierung aufgefordert wird.

Die erneute Authentifizierung über IAP soll Richtlinien für die erneute Authentifizierung für durch IAP geschützte Dienste und Anwendungen erzwingen. Das kann bei wichtigen Diensten und Anwendungen hilfreich sein, die mit vertraulichen Informationen arbeiten. Sie können beispielsweise festlegen, dass sich Nutzer, die auf eine kritische Personalanwendung zugreifen, 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: IAP erzwingt die erneute Authentifizierung der geschützten Anwendung und Nutzer müssen sich noch einmal anmelden.
  • Sicherer Schlüssel: Endnutzer müssen sich mit ihrer konfigurierten, auf Sicherheitsschlüsseln basierenden Zwei-Faktor-Authentifizierung 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 sind ein Teil von 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. Sie können die Sitzungsdauer beispielsweise auf eine Stunde für alle Anwendungen in einer Organisation oder für eine bestimmte Anwendung beschränken.

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 beiden Einstellungen bei der Auswertung der Einstellungen für die erneute Autorisierung auf der untergeordneten Ressource wie einem Ordner zusammengeführt. Wenn die Ressource der unteren Ebene keine Einstellungen für die erneute Autorisierung hat, sind die nicht leeren Einstellungen der Ressource der höheren Ebene das Ergebnis der Zusammenführung. Andernfalls wird bei der Zusammenführung die kürzere Sitzungsdauer und die Methode zur erneuten Autorisierung mit der höheren Priorität zwischen den beiden Ressourcen verwendet. 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ächsten untergeordneten Ressource, z. B. eines Projekts, zusammengeführt.

    Die Prioritätsreihenfolge der drei unterstützten Methoden von der höchsten zur niedrigsten ist Secure key, Enrolled second factors und Login.

  • Standard: Wenn der Richtlinientyp für eine Ressource wie eine Organisation auf DEFAULT festgelegt ist, wird bei der Auswertung der Einstellung für die erneute Autorisierung auf der Ressource auf niedrigerer Ebene (z. B. ein Ordner) die Einstellung der Ressource auf niedrigerer Ebene verwendet, sofern konfiguriert. Andernfalls wird die Einstellung für die erneute Autorisierung der Ressource auf höherer Ebene angewendet.

Bei beiden Richtlinientypen wird der Bewertungsprozess wiederholt, um die reauthSettings für den Zieldienst oder die Zielanwendung zu ermitteln. Die folgenden Beispiele zeigen die Einstellungen vor und nach der Auswertung. Bei der Auswertung werden der Ordner und die Organisation reauthSettings zusammengeführt, wodurch der Richtlinientyp des Ordners in MINIMUM geändert wird. 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 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 in diesem Beispiel der Richtlinientyp jeder Ressource auf DEFAULT festgelegt ist, wird die 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 Mindestwert für maxAge beträgt fünf Minuten.

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

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 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 für die erneute 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 für die erneute 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 compute oder app-engine ist.
  • VERSION: Der Versionsname. Dies gilt nicht für compute und ist optional, wenn resource-type = app-engine ist.

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 im folgenden Befehl RESOURCE_NAME 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 einer erfolgreichen erneuten Authentifizierung erstellt IAP ein Cookie im Browser des Endnutzers. Damit Nutzer nicht zu häufig eine erneute Authentifizierung bei Verwendung ähnlicher Anwendungen durchführen müssen, wird das Cookie für die private Top-Level-Domain festgelegt und ist für die gesamte Domain auf privater Ebene gültig.

Beispiel: foo.example.com ist eine durch IAP gesicherte Ressource und hat eine IAP-Richtlinie zur erneuten Authentifizierung. Nach einer erfolgreichen erneuten Authentifizierung legt IAP ein Cookie für example.com als private Top-Level-Domain fest. Anwendungen von derselben privaten Top-Level-Domain wie bar.example.com verwenden dieselben Anmeldedaten zur erneuten Authentifizierung und der Nutzer wird nicht aufgefordert, sich noch einmal zu authentifizieren, solange die Anmeldedaten gültig sind.

Bei URLs wie myapp.appspot.com ist appspot.com eine öffentliche Domain. 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.