ADC

NetScaler en tant que SP OAuth

La fonctionnalité de gestion du trafic d’authentification, d’autorisation et d’audit prend en charge l’authentification OAuth pour authentifier les utilisateurs auprès d’applications hébergées sur des applications telles que Google, Facebook et Twitter.

Points à noter

  • NetScaler Advanced Edition ou version ultérieure est requis pour que la solution fonctionne.
  • OAuth sur NetScaler est éligible pour tous les IdP SAML conformes à « OpenID connect 2.0 ».

Important :

NetScaler peut répondre par une erreur CSRF lorsqu’un site Web riche en contenu envoie plusieurs demandes d’authentification à l’expiration de la session. Pour contourner le problème, il est recommandé, lorsque vous configurez la stratégie OAuth, de vous assurer que la stratégie est configurée à la fois pour le nom d’hôte et le chemin d’accès qui sont les principaux points d’entrée.

Configurer OAuth à l’aide de l’interface graphique

  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, puis créez une stratégie avec OAuth comme type d’action, puis 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 des applications > Serveurs virtuels, puis associez la stratégie OAuth au serveur virtuel d’authentification.

Remarque :

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

Configurer OAuth à l’aide de la CLI

  1. Définissez une action OAuth.

    add authentication OAuthAction <name> [-OAuthType <OAuthType>] [-authorizationEndpoint <URL>] [-tokenEndpoint <URL>] [-idtokenDecryptEndpoint <URL>] [-clientID <string>][-clientSecret ]  [-defaultAuthenticationGroup <string>] [-Attribute1 <string>] [-Attribute2 <string>] [-Attribute3 <string>] [-Attributes <string>] [-tenantID <string>] [-GraphEndpoint <string>] [-refreshInterval <positive_integer>] [-CertEndpoint <string>][-audience <string>] [-userNameField <string>] [-skewTime <mins>] [-issuer <string>] [-UserInfoURL <URL>] [-CertFilePath <string>] [-grantType ( CODE | PASSWORD )] [-authentication ( ENABLED | DISABLED )] [-introspectURL <URL>][-allowedAlgorithms <allowedAlgorithms> ...] [-PKCE ( ENABLED | DISABLED )] [-tokenEndpointAuthMethod <tokenEndpointAuthMethod>] [-metadataUrl <URL>] [-resourceUri <URL>]
    
    <!--NeedCopy-->
    
  2. Associez l’action à une stratégie d’authentification avancée.

    add authentication Policy <name> -rule <expression> -action <string>
    <!--NeedCopy-->
    

    Exemple :

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

Pour plus d’informations sur les paramètres OAuthAction d’ authentification, voir AuthAction AuthAction d’authentification.

Remarque :

  • Lorsqu’un CertEndpoint est spécifié, NetScaler interroge ce point de terminaison à la fréquence configurée pour connaître les clés.

Pour configurer un NetScaler afin qu’il lise le fichier local et analyse les clés de ce fichier, une nouvelle option de configuration est introduite comme suit :

set authentication OAuthAction <name> -CertFilePath <path to local file with jwks>
<!--NeedCopy-->

La fonctionnalité OAuth prend désormais en charge les fonctionnalités suivantes dans l’API des jetons du côté de la partie dépendante (RP) et du côté IdP de NetScaler Gateway et NetScaler.

  • Prise en charge de PKCE (Proof Key for Code Exchange)

  • Prise en charge de client_assertion

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

Vous pouvez désormais configurer les attributs d’authentification OAuth avec un nom unique ainsi que les 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 à l’aide de http.req.user.attribute("attribute name") ou http.req.user.attribute(1), selon 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’attribut1 à l’attribut16 » uniquement par son numéro.

Important

Dans une commande OAuth, vous pouvez configurer un maximum de 64 attributs séparés par des virgules et d’une taille totale inférieure à 1 024 octets.

Remarque

L’échec de session peut être évité si la taille totale de la valeur de « l’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>]
<!--NeedCopy-->

Exemples :

add authentication OAuthAction a1 –attributes "email,company" –attribute1 email

set authentication OAuthAction oAuthAct1 -attributes "mail,sn,userprincipalName"
<!--NeedCopy-->
NetScaler en tant que SP OAuth