Configurer l'authentification Azure AD avec le portail d'administration de Service Fabric
Afin de simplifier la gestion des droits d'accès au portail d'administration de Service Fabric, il est possible de configurer l'intégration avec Azure Active Directory. Service Fabric nécessite de déclarer deux applications dans l'Azure AD pour pouvoir se connecter via l'interface web du portail d'administration et depuis Visual Studio.
La documentation de Service Fabric vous fournit un script Powershell pour vous permettre de créer ces deux applications.
Cependant, comme moi, vous aimez peut-être comprendre ce qui se passe sous le capot alors je vous propose un pas-à-pas détaillé.
Créer une application Web dans Azure AD pour Service Fabric
Pour cette étape, vous devez disposer d'un tenant Azure AD avec les droits nécessaires pour créer des Applications. Vous pouvez vous connectez au portail d'administration de votre Azure AD à l'url suivante https://aad.portal.azure.com.
Cliquez sur New App Registration
Renseignez le nom de votre application (i.e. demoauthsfweb)
Sélectionnez Web App / API comme type d'application
Renseignez l'url de la page d'accueil du portail d'administration de votre cluster Service Fabric (i.e. https://demoauthsf.westeurope.cloudapp.azure.com:19080/Explorer/index.html)
Cliquez sur Manifest pour éditer le Manifest de l'application
Ajouter la déclaration des rôles applicatifs Admin et Read Only dans le manifest
[code lang="javascript"]
"appRoles": [
{
"allowedMemberTypes": ["User"],
"displayName": "Admin",
"id": "<generated_guid_1>",
"isEnabled": true,
"description": "Admins can manage roles and perform all task actions",
"value": "Admin"
},
{
"allowedMemberTypes": ["User"],
"displayName": "ReadOnly",
"id": "<generated_guid_2>",
"isEnabled": true,
"description": "ReadOnly roles have limited query access",
"value": "User"
}
]Dans le manifest, récupérer l'Id de l'application et l'Id de la permission OAuth2.0 qui lui est associée
Sauvegarder les modifications du manifest
Créer une application native dans Azure AD pour Service Fabric
Pour cette étape, vous devez déjà avoir configurer l'application web.
Cliquez sur New App Registration
Renseignez le nom de votre application (i.e. demoauthsfnative)
Sélectionnez Native comme type d'application
Renseignez une URI de redirection valide (i.e urn:ietf:wg:oauth:2.0:oob)
Cliquez sur Manifest pour éditer le Manifest de l'application
Ajouter dans la section de déclaration des accès aux ressources requis, la déclaration de l'accès à l'application web déclarée précédemment en utilisant l'Id de l'application et l'Id de la permission OAuth2.0 déclarée pour l'application web
[code lang="javascript"]
"requiredResourceAccess": [
{
"resourceAppId": "00000002-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
"type": "Scope"
}
]
}
,
{
"resourceAppId": "<demoauthsfweb_app_guid>",
"resourceAccess": [
{
"id": "<demoauthsfweb_oauth2.0_permission_id>",
"type": "Scope"
}
]
}
]Sauvegarder les modifications du manifest
Se donner le rôle Admin pour l'application web
Lorsque qu'un utilisateur se connecte au portail d'administration de Service Fabric, un des deux rôles applicatifs doit lui avoir été attribué. Nous allons vous attribuer le rôle Admin.
- Cliquez sur Enterprise Applications
- Recherchez votre application web, i.e demoauthsfweb
- Sélectionnez là
- Cliquez sur Users and groups
- Cliquez sur Add user
- Cliquez sur Users puis recherchez l'utilisateur à qui affecter le rôle et validez votre choix en cliquant sur Select
- Cliquez sur Select Role puis sélectionnez le rôle Admin et validez votre choix en cliquant sur Select
- Enfin cliquez sur Assign
Configurer l'intégration de votre cluster Service Fabric avec Azure AD
Il ne reste plus qu'à configurer l'intégration d'Azure AD avec votre cluster Service Fabric. Il vous faut déjà un cluster Service Fabric déployé.
- Dans le portail Azure, naviguez vers la liste de vos clusters Service Fabric
- Cliquez sur le cluster à configurer
- Cliquez sur Security
- Cliquez sur Add
- Renseignez le champ Tenant ID, avec l'ID de votre tenant Azure Active Directory
- Renseignez le champ Cluster application, avec l'ID de l'application web que vous venez de créer dans Azure Active Directory
- Renseignez le champ Client application, avec l'ID de l'application native que vous venez de créer dans Azure Active Directory/li>
- Enfin, cliquez sur Add
C'est terminé ! La configuration du cluster est en cours de mise à jour. Cela peut prendre plusieurs minutes.