Authentification OAuth

La fonctionnalité de gestion du trafic d’authentification, d’autorisation et d’audit prend désormais en charge les mécanismes OAuth et OpenID-Connect pour authentifier et autoriser les utilisateurs à des applications hébergées sur des applications telles que Google, Facebook et Twitter.

Le mécanisme d’authentification facilite la vérification en ligne des jetons OpenID. L’appliance Citrix ADC peut être configurée pour obtenir des certificats et vérifier les signatures sur le jeton.

Un avantage majeur de l’utilisation des mécanismes OAuth et OpenID-Connect est que les informations utilisateur ne sont pas envoyées aux applications hébergées. Par conséquent, le risque de vol d’identité est considérablement réduit.

L’appliance Citrix ADC configurée pour l’authentification, l’autorisation et l’audit accepte désormais les jetons entrants signés à l’aide de l’algorithme HMAC HS256. En outre, les clés publiques du fournisseur d’identité SAML (IdP) sont lues à partir d’un fichier, au lieu d’apprendre à partir d’un point de terminaison URL.

Dans l’implémentation de Citrix ADC, l’application est accessible par le serveur virtuel de gestion du trafic d’authentification, d’autorisation et d’audit. Par conséquent, pour configurer OAuth, vous devez configurer une stratégie OAuth qui doit ensuite être associée à un serveur virtuel de gestion du trafic d’authentification, d’autorisation et d’audit.

Remarque

OAuth sur l’appliance Citrix ADC est qualifié pour tous les IDP SAML conformes à « OpenID connect 2.0 ».

Pour configurer OAuth à l’aide de l’utilitaire de configuration :

  1. Configurez l’action et la stratégie OAuth.

    Accédez à Sécurité > AAA - Trafic des applications > Stratégies > Authentification > Stratégies avancées> Stratégie, créez une stratégie avec OAuth comme type d’action et associez l’action OAuth requise à la stratégie.

  2. Associez la stratégie OAuth à un serveur virtuel d’authentification.

    Accédez à Sécurité > AAA - Trafic d’applications > Serveurs virtuelset associez la stratégie OAuth au serveur virtuel d’authentification.

Remarque

Les attributs (1 à 16) peuvent être extraits dans la réponse OAuth. Actuellement, ces attributs ne sont pas évalués. Ils sont ajoutés pour la référence future.

Pour configurer OAuth à l’aide de l’interface de ligne de commande :

  1. Définissez une action OAuth.

    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. Associez l’action à une stratégie d’authentification avancée.

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

    Exemple

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

Pour plus d’informations sur les paramètres OAuthAction d’authentification, reportez-vous à la section authentification OAuthAction.

Remarque

Lorsqu’un CertEndPoint est spécifié, l’appliance Citrix ADC interroge ce point de terminaison à la fréquence configurée pour apprendre les clés. Pour configurer un Citrix ADC pour lire le fichier local et analyser les clés de ce fichier, une nouvelle option de configuration est introduite comme suit.

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

Prise en charge des attributs nom-valeur pour l’authentification OAuth

Vous pouvez maintenant configurer les attributs d’authentification OAuth avec un nom unique ainsi que des valeurs. Les noms sont configurés dans le paramètre d’action OAuth en tant que « Attributs » et les valeurs sont obtenues en interrogeant les noms. Les attributs extraits sont stockés dans la session d’authentification, d’autorisation et d’audit. Les administrateurs peuvent interroger ces attributs en utilisanthttp.req.user.attribute("attribute name") ouhttp.req.user.attribute(1) en fonction de la méthode choisie pour spécifier les noms d’attributs.

En spécifiant le nom de l’attribut, les administrateurs peuvent facilement rechercher la valeur d’attribut associée à ce nom d’attribut. De plus, les administrateurs n’ont plus à se souvenir de l’attribut « attribute1 à attribute16 » par son seul numéro.

Important

Dans une commande OAuth, vous pouvez configurer un maximum de 64 attributs séparés par une virgule avec une taille totale inférieure à 1024 octets.

Remarque

L’échec de session peut être évité si la taille totale de la valeur « attribut 1 à l’attribut 16 » et les valeurs des attributs spécifiés dans « Attributs » ne dépassent pas 10 Ko.

Pour configurer les attributs nom-valeur à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

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

Exemples :

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