OpenID Connect (OIDC) est un protocole d'authentification et d'autorisation basé sur OAuth 2.0, principalement utilisé pour mettre en œuvre l'authentification unique (SSO). En configurant le SSO OIDC dans une politique de sécurité ASM, vous pouvez utiliser Alibaba Cloud IDaaS ou d'autres fournisseurs d'identité (IdP) conformes à OIDC pour permettre aux utilisateurs d'accéder à plusieurs applications après une seule connexion. Cette approche fonctionne sans modifier les applications, ce qui renforce leur sécurité et simplifie leur développement et leur gestion.
Prérequis
Une application est déployée dans le cluster ajouté à l'instance ASM.
Vous avez déployé une passerelle d'entrée et obtenu son adresse.
-
Créez une règle de passerelle et un service virtuel pour garantir l'accessibilité des chemins suivants. Pour plus d'informations, consultez les étapes 1 à 3 de la rubrique Utiliser les ressources Istio pour router le trafic entre les versions.
http://${GATEWAY_ADDRESS}/productpage http://${GATEWAY_ADDRESS}/api/v1/products/1 http://${GATEWAY_ADDRESS}/static/jquery.min.js -
Configurez un fournisseur d'identité (IdP). Pour obtenir des instructions, consultez étape 1 et étape 2 de la rubrique Intégrer ASM à Alibaba Cloud IDaaS pour activer le SSO pour les applications du maillage de services.
Après la configuration de l'IdP, vous obtenez les informations suivantes, nécessaires pour la configuration de l'étape5.
redirect uri: http://${GATEWAY_ADDRESS}/oauth2/callback issuer: https://eiam-api-cn-hangzhou.aliyuncs.com/v2/idaas_tbn25osdlmz6gtqfq3j2pz****/app_ml5tzapsl7zmfo53wb3nwk****/oidc client id: app_ml5tzapsl7zmfo53wb3nwk**** client secret: CSCfHeZ1nyvfMWyKHtE8ZRdif7j89dv9CvmJLurtGC****
Procédure
Cette rubrique utilise un IdP d'Alibaba Cloud IDaaS comme exemple. Si vous utilisez un service OIDC autogéré, consultez la rubrique Intégrer ASM à Keycloak pour activer le SSO pour les applications du maillage de services.
Connectez-vous à la console ASM. Dans le volet de navigation de gauche, sélectionnez .
Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, sélectionnez .
Sur la page ASMSecurityPolicy, cliquez sur Create.
Dans la boîte de dialogue Create ASMSecurityPolicy, cliquez sur OIDC Single Sign-On, puis sur OK.
-
Dans l'assistant OIDC Config, configurez les paramètres et cliquez sur Next.
Le tableau suivant décrit les paramètres de cet exemple.
|
**Parameter**
|
**Description**
| | --- | --- | |
**ASMSecurityPolicyName** |
Définissez le nom sur test-oidc.
| |
**Redirect address** |
Sélectionnez **Use ingressgateway IP address** ou **Customized Domain**. Dans cet exemple, sélectionnez **Use ingressgateway IP address**, puis **http** et **ingressgateway**.
| |
**Callback Address** |
L'URI de redirection.
| |
**OIDC Issuer URL** |
L'URL qui identifie et valide le fournisseur OIDC.
| |
**Client ID** |
L'ID client fourni par l'IdP.
| |
**Client Secret** |
Le secret client fourni par l'IdP.
| |
**Cookie Secret** |
Graine pour les cookies sécurisés. L'encodage Base64 est pris en charge.
| |
**Cookie Expire** |
Durée de validité du cookie. Une valeur de 0 indique que le cookie n'expire jamais.
| |
**Cookie refresh interval** |
Intervalle d'actualisation du cookie. Une valeur de 0 désactive l'actualisation.
| |
**Scopes** |
Spécifiez les étendues à récupérer. Les étendues spécifiées doivent être prises en charge par l'émetteur.
Pour plus d'informations sur les étendues, consultez la rubrique [Intégrer ASM à Alibaba Cloud IDaaS pour activer le SSO pour les applications du maillage de services](t2253924.dita#task_2253924).
|Dans cet exemple, définissez Cookie expiration sur
3600s, Cookie refresh interval sur600s, et sélectionnez openid et phone pour Scopes. -
Dans l'assistant ASMSecurityPolicyName, cliquez sur Redirect address. Dans la boîte de dialogue Use ingressgateway IP address, configurez les paramètres, cliquez sur Customized Domain, puis sur Use ingressgateway IP address.
Le tableau suivant décrit les paramètres de cet exemple.
Parameter
Description
Callback Address
Définissez le nom sur test-policy.
OIDC Issuer URL
Par défaut, la passerelle configurée pour l'Client ID à l'étape précédente est sélectionnée et ne peut pas être modifiée. Pour sélectionner une charge de travail différente, revenez à l'assistant Client Secret et modifiez les informations d'Cookie Secret.
RemarqueSi vous avez sélectionné Cookie Expire pour l'Cookie refresh interval dans l'assistant Scopes, effectuez les étapes suivantes :
-
Dans la boîte de dialogue Workload and Match Rules, cliquez sur Add Workload Group et sélectionnez New Workload Group.
-
Dans la section OK, sélectionnez la charge de travail cible, cliquez sur l'icône
pour la déplacer vers la zone Submit, puis cliquez sur Workload Group Name.
Workload List
Le Redirect address propose deux options :
-
OIDC Config : Requiert une authentification pour les requêtes correspondant aux règles spécifiées.
-
Redirect address : Les requêtes correspondant aux règles peuvent être consultées sans authentification.
Dans cet exemple, définissez le Customized Domain sur Redirect address et le mode de correspondance sur OIDC Config. Ensuite, cliquez sur New Workload Group pour ajouter des règles qui requièrent une authentification OIDC pour les chemins commençant par /static et /api.
-
Règle 1 : Activez Add Workload et définissez la valeur sur /static/*.
-
Règle 2 : Activez Gateway Scope et définissez la valeur sur /api/*.
Après la création de la politique, l'étape Select workloads indique que la politique de sécurité ASM a été créée avec succès. Vous pouvez cliquer sur selected pour afficher les ressources créées, ou cliquer sur OK pour revenir à la page Match Rule List et afficher la nouvelle politique de sécurité.
-
-
Vérifiez la configuration du SSO OIDC.
-
Dans un navigateur web, accédez aux URL suivantes dans l'ordre.
http://${GATEWAY_ADDRESS}/productpage http://${GATEWAY_ADDRESS}/api/v1/products/1 http://${GATEWAY_ADDRESS}/static/jquery.min.jsLes résultats suivants confirment que la configuration du SSO OIDC fonctionne :
Les requêtes vers les chemins commençant par
/productpagepeuvent être consultées sans authentification. Lorsque vous accédez à la page produit de l'exemple d'application BookInfo, un résumé du livre The Comedy of Errors s'affiche.Les requêtes vers les chemins commençant par
/apiet/staticnécessitent une authentification. Lors de l'accès à ces chemins, vous êtes redirigé vers la page de connexion Alibaba Cloud IDaaS. Saisissez vos identifiants dans les zones de texte Account, phone, or email et Password, puis cliquez sur Log On pour vous authentifier.
-
Modifiez la configuration du SSO OIDC.
Sur la page Match Mode, localisez la politique de sécurité OIDC cible et cliquez sur Auth If Matched dans la colonne Bypass Auth If Matched.
Dans l'assistant Match Mode, cliquez sur Auth If Matched.
-
Dans l'assistant Match Mode, localisez le groupe de charges de travail cible et cliquez sur Custom Matching Rules dans la colonne Add Match Rule. Modifiez les configurations, cliquez sur Path, puis sur Path.
Le tableau suivant décrit les paramètres de cet exemple.
Parameter
Description
Complete
Sélectionnez View YAML.
Complete
Cliquez sur ASMSecurityPolicy pour configurer les règles suivantes. Cette configuration permet aux requêtes vers les chemins commençant par /productpage et /static de contourner l'authentification OIDC.
-
Règle 1 : Activez ASMSecurityPolicy et définissez la valeur sur /productpage.
-
Règle 2 : Activez edit et définissez la valeur sur /static/*.
-
-
Pour vérifier les modifications, ouvrez une nouvelle fenêtre de navigation privée dans votre navigateur et accédez aux URL suivantes.
http://${GATEWAY_ADDRESS}/productpage http://${GATEWAY_ADDRESS}/api/v1/products/1 http://${GATEWAY_ADDRESS}/static/jquery.min.jsLes résultats suivants confirment que la configuration modifiée fonctionne.
Les requêtes vers les chemins commençant par
/productpageet/staticpeuvent être consultées sans authentification.Les requêtes vers les chemins commençant par
/apinécessitent une authentification.
-
Documents connexes
Pour plus d'informations sur les paramètres des applications OIDC, tels que l'accès API, la rotation des clés, la prise en charge par IDaaS des différents modes OIDC et les configurations côté IDaaS et côté application, consultez les rubriques Configurations de base, Instructions générales pour l'authentification unique, Configurations SSO OIDC et Spécifications des valeurs d'extension OIDC id_token.
Après vous être connecté à une application avec le SSO IDaaS, vous pouvez initier une déconnexion globale depuis l'application pour terminer la session principale IDaaS. Ce processus est appelé Single Log-Out (SLO). Pour plus d'informations, consultez la rubrique Single Log-Out (SLO).