Mit der erneuten IAP-Authentifizierung können Dienst- und Anwendungsinhaber Google Cloud-Administratoren können festlegen, dass authentifizierte Endnutzer Folgendes tun müssen: sich nach einer bestimmten Zeit neu authentifizieren, wenn sie auf einen Dienst oder eine Anwendung zugreifen durch IAP geschützt. Sie beschränkt den Zeitraum, in dem ein Nutzer auf den IAP-geschützten Dienst oder die Anwendung zugreifen können, werden zur erneuten Authentifizierung aufgefordert.
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 für die erneute 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 neu anmelden.
- Sicherheitsschlüssel: Endnutzer müssen sich mit ihrer konfigurierten, auf einem Sicherheitsschlüssel basierenden 2-Faktor-Authentifizierung neu authentifizieren.
- Registrierte zweite Faktoren: Endnutzer müssen sich mit einer der registrierten Methoden zur Zwei-Faktor-Authentifizierung neu 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. Beispielsweise können Sie die Sitzungsdauer für alle Anwendungen in einer Organisation oder für 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
gesetzt ist, werden die beiden Einstellungen bei der Auswertung der Einstellungen für die erneute Authentifizierung auf der untergeordneten Ressource (z. B. 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 für die Zusammenführung die kürzere Sitzungsdauer und die Methode für die erneute Authentifizierung mit höherer Priorität zwischen den beiden Ressourcen verwendet. Der Richtlinientyp ist immerMINIMUM
. Die zusammengeführten Einstellungen für die erneute Authentifizierung werden mit den Einstellungen für die nächste untergeordnete Ressource zusammengeführt, z. B. ein Projekt.Die drei unterstützten Methoden von der höchsten bis zur niedrigsten Priorität haben
Secure key
,Enrolled second factors
undLogin
.Standardeinstellung: Wenn der Richtlinientyp für eine Ressource, z. B. eine Organisation, auf
DEFAULT
festgelegt ist, wird bei der Auswertung der Einstellung für die erneute Authentifizierung für die untergeordnete Ressource, z. B. für einen Ordner, die untergeordnete Ressourceneinstellung verwendet, sofern sie konfiguriert ist. Andernfalls wird die übergeordnete Einstellung für die erneute Authentifizierung der Ressource angewendet.
Für beide 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 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
gesetzt 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 Mindestwert 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
- Rufen Sie die Seite Identity-Aware Proxy auf.
Zur Seite "Identity-Aware Proxy" Wählen Sie ein Projekt und dann die Ressource aus, für die Sie eine Richtlinie für die erneute Authentifizierung festlegen möchten.
Ö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.
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 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 zur erneuten 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 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 eine Richtlinie zur erneuten Authentifizierung für einen App Engine-Dienst innerhalb eines Projekts 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
oderfolder
sein. - SERVICE: Der Dienstname. Dies ist optional, wenn
resource-type
den Wertcompute
oderapp-engine
hat. - VERSION: Der Versionsname. Dies gilt nicht für
compute
und ist optional, wennresource-type
den Wertapp-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 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 einer erfolgreichen erneuten Authentifizierung erstellt IAP ein Cookie auf im Browser der Endanwendenden. Um zu verhindern, dass sich Nutzer zu oft neu authentifizieren müssen wird das Cookie auf der privaten Top-Level-Domain platziert und ist für diese gesamte private Domain gültig.
Beispiel: foo.example.com
ist eine durch IAP gesicherte Ressource und hat eine IAP-Richtlinie zur erneuten Authentifizierung. Nach einer erfolgreichen
setzt IAP ein Cookie auf example.com
,
ist die private Top-Level-Domain. Apps derselben privaten Top-Level-Domain
wie bar.example.com
dieselben Anmeldedaten für die erneute Authentifizierung verwenden
fordern Sie den Nutzer auf, sich noch einmal zu authentifizieren, sofern die Anmeldedaten gültig sind.
Hinweis: Für URLs wie myapp.appspot.com
ist appspot.com
öffentlich.
-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.