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.

  1. Cliquez sur App Registrations

  2. Cliquez sur New App Registration

  3. Renseignez le nom de votre application (i.e. demoauthsfweb)

  4. Sélectionnez Web App / API comme type d'application

  5. 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)

  6. Cliquez sur Create

  7. Cliquez sur Manifest pour éditer le Manifest de l'application

  8. 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"
    }
    ]

  9. Dans le manifest, récupérer l'Id de l'application et l'Id de la permission OAuth2.0 qui lui est associée

  10. 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.

  1. Cliquez sur App Registrations

  2. Cliquez sur New App Registration

  3. Renseignez le nom de votre application (i.e. demoauthsfnative)

  4. Sélectionnez Native comme type d'application

  5. Renseignez une URI de redirection valide (i.e urn:ietf:wg:oauth:2.0:oob)

  6. Cliquez sur Create

  7. Cliquez sur Manifest pour éditer le Manifest de l'application

  8. 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"
    }
    ]
    }
    ]

  9. 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.

  1. Cliquez sur Enterprise Applications
  2. Recherchez votre application web, i.e demoauthsfweb
  3. Sélectionnez là
  4. Cliquez sur Users and groups
  5. Cliquez sur Add user
  6. Cliquez sur Users puis recherchez l'utilisateur à qui affecter le rôle et validez votre choix en cliquant sur Select
  7. Cliquez sur Select Role puis sélectionnez le rôle Admin et validez votre choix en cliquant sur Select
  8. 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é.

  1. Dans le portail Azure, naviguez vers la liste de vos clusters Service Fabric
  2. Cliquez sur le cluster à configurer
  3. Cliquez sur Security
  4. Cliquez sur Add
  5. Renseignez le champ Tenant ID, avec l'ID de votre tenant Azure Active Directory
  6. Renseignez le champ Cluster application, avec l'ID de l'application web que vous venez de créer dans Azure Active Directory
  7. Renseignez le champ Client application, avec l'ID de l'application native que vous venez de créer dans Azure Active Directory/li>
  8. Enfin, cliquez sur Add

C'est terminé ! La configuration du cluster est en cours de mise à jour. Cela peut prendre plusieurs minutes.