OAuth-Authentifizierung

Das Authentifizierungs-, Autorisierungs- und Überwachungsdatenverkehrs-Management-Feature unterstützt jetzt OAuth und OpenID-Connect-Mechanismen zur Authentifizierung und Autorisierung von Benutzern für Anwendungen, die auf Anwendungen wie Google, Facebook und Twitter gehostet werden.

Der Authentifizierungsmechanismus erleichtert die Inline-Überprüfung von OpenID-Token. Die Citrix ADC Appliance kann so konfiguriert werden, dass Zertifikate abgerufen und Signaturen auf dem Token überprüft werden.

Ein großer Vorteil der Verwendung der OAuth und OpenID-Connect-Mechanismen besteht darin, dass die Benutzerinformationen nicht an die gehosteten Anwendungen gesendet werden. Daher wird das Risiko eines Identitätsdiebstahls erheblich reduziert.

Die Citrix ADC Appliance, die für Authentifizierung, Autorisierung und Überwachung konfiguriert ist, akzeptiert nun eingehende Token, die mit dem HMAC HS256-Algorithmus signiert sind. Darüber hinaus werden die öffentlichen Schlüssel des SAML-Identitätsanbieters (IdP) aus einer Datei gelesen, anstatt von einem URL-Endpunkt zu lernen.

In der Citrix ADC Implementierung wird auf die Anwendung durch den virtuellen Server für die Authentifizierung, Autorisierung und Überwachung der Datenverkehrsverwaltung zugegriffen. Um OAuth zu konfigurieren, müssen Sie also eine OAuth-Richtlinie konfigurieren, die dann einem virtuellen Server zur Authentifizierung, Autorisierung und Überwachung der Verkehrsverwaltung zugeordnet werden muss.

Hinweis:

OAuth auf der Citrix ADC Appliance ist für alle SAML-IDPs qualifiziert, die mit “OpenID connect 2.0” kompatibel sind.

So konfigurieren Sie OAuth mit dem Konfigurationsdienstprogramm:

  1. Konfigurieren Sie die OAuth-Aktion und -Richtlinie.

    Navigieren Sie zu Sicherheit > AAA - Anwendungsverkehr > Richtlinien > Authentifizierung > Erweiterte Richtlinien > Richtlinie, erstellen Sie eine Richtlinie mit OAuth als Aktionstyp, und ordnen Sie der Richtlinie die erforderliche OAuth-Aktion zu.

  2. Ordnen Sie die OAuth-Richtlinie einem virtuellen Authentifizierungsserver zu.

    Navigieren Sie zu Sicherheit > AAA - Anwendungsdatenverkehr > Virtuelle Server, und ordnen Sie die OAuth-Richtlinie dem virtuellen Authentifizierungsserver zu.

Hinweis:

Attribute (1 bis 16) können in der OAuth-Antwort extrahiert werden. Derzeit werden diese Attribute nicht ausgewertet. Sie werden für die zukünftige Referenz hinzugefügt.

So konfigurieren Sie OAuth mit der Befehlszeilenschnittstelle:

  1. Definieren Sie eine OAuth-Aktion.

    add authentication OAuthAction <name> -authorizationEndpoint <URL> -tokenEndpoint <URL> [-idtokenDecryptEndpoint <URL>] -clientID <string> -clientSecret <string> [-defaultAuthenticationGroup <string>][-tenantID <string>][-GraphEndpoint <string>][-refreshInterval <positive_integer>] [-CertEndpoint <string>][-audience <string>][-userNameField <string>][-skewTime <mins>][-issuer <string>][-Attribute1 <string>][-Attribute2 <string>][-Attribute3 <string>]...

  2. Ordnen Sie die Aktion einer erweiterten Authentifizierungsrichtlinie zu.

    add authentication Policy** <name> -rule <expression> -action <string>

    Beispiel

    add authentication oauthAction a -authorizationEndpoint https://example.com/ -tokenEndpoint https://example.com/ -clientiD sadf -clientsecret df
    

Weitere Hinweise zu Authentifizierungsparametern von OAuthAction finden Sie unterauthentication OAuthAction.

Hinweis:

Wenn ein certEndpoint angegeben wird, fragt die Citrix ADC Appliance diesen Endpunkt mit der konfigurierten Frequenz ab, um die Schlüssel zu lernen. Um einen Citrix ADC so zu konfigurieren, dass die lokale Datei gelesen und Schlüssel aus dieser Datei analysiert werden, wird wie folgt eine neue Konfigurationsoption eingeführt.

set authentication OAuthAction <> -**CertFilePath** <path to local file with jwks>

Name-Wert-Attributunterstützung für die OAuth-Authentifizierung

Sie können jetzt OAuth-Authentifizierungsattribute mit einem eindeutigen Namen zusammen mit Werten konfigurieren. Die Namen werden im OAuth-Aktionsparameter entweder als Attribute konfiguriert und die Werte werden durch Abfrage der Namen abgerufen. Die extrahierten Attribute werden in Authentifizierungs-, Autorisierungs- und Überwachungssitzung gespeichert. Administratoren können diese Attribute entweder mithttp.req.user.attribute("attribute name") oderhttp.req.user.attribute(1) anhand der gewählten Methode zur Angabe von Attributnamen abfragen.

Durch Angabe des Namens des Attributs können Administratoren problemlos nach dem Attributwert suchen, der diesem Attributnamen zugeordnet ist. Auch Administratoren müssen sich nicht mehr an das Attribut attribute1 to attribute16 erinnern.

Wichtig

In einem OAuth-Befehl können Sie maximal 64 durch Komma getrennte Attribute mit einer Gesamtgröße von weniger als 1024 Byte konfigurieren.

Hinweis:

Der Sitzungsfehler kann vermieden werden, wenn die Gesamtwertgröße von “Attribut 1 bis Attribut 16” und die Werte der in “Attribute” angegebenen Attribute nicht mehr als 10 KB betragen.

So konfigurieren Sie die Name-Wert-Attribute mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

  • add authentication OAuthAction <name> [-Attributes <string>]
  • set authentication OAuthAction <name> [-Attributes <string>]

Beispiele:

  • add authentication OAuthAction a1 –attributes "email,company" –attribute1 email
  • set authentication OAuthAction oAuthAct1 -attributes "mail,sn,userprincipalName"