Créer une application et un principal de service Azure Active Directory pouvant accéder aux ressources

Cet article explique comment créer une application et un principal de service Azure AD (Azure Active Directory) pouvant être utilisés avec le contrôle d’accès en fonction du rôle. Quand vous inscrivez une nouvelle application dans Azure AD, un principal de service est automatiquement créé pour l’inscription de l’application. Le principal de service est l’identité de l’application dans le locataire Azure AD. L’accès aux ressources est limité par les rôles attribués au principal du service, ce qui vous permet de contrôler quelles ressources sont accessibles et à quel niveau. Pour des raisons de sécurité, il est toujours recommandé d’utiliser les principaux de service avec des outils automatisés, plutôt que de leur permettre de se connecter avec une identité d’utilisateur.

Dans le cadre de cet article, vous allez créer une application monolocataire dans le portail Azure. Cet exemple s’applique aux applications métier utilisées au sein d’une même organisation. Vous pouvez également utiliser Azure PowerShell ou Azure CLI pour créer un principal de service.

Important

Au lieu de créer un principal du service, envisagez d’utiliser des identités managées pour les ressources Azure en ce qui concerne l’identité de votre application. Si votre code s’exécute sur un service qui prend en charge les identités managées et accède aux ressources qui prennent en charge l’authentification Azure AD, les identités managées correspondent bien à vos besoins. Pour en savoir plus sur les identités gérées pour les ressources Azure, y compris les services qui les prennent actuellement en charge, consultez la rubrique Que sont les identités gérées pour les ressources Azure ?.

Pour plus d’informations sur la relation existant entre l’inscription d’applications, les objets d’application et les principaux de service, consultez Objets application et principal de service dans Azure Active Directory.

Prérequis

Pour inscrire une application dans votre locataire Azure AD, vous avez besoin de l’élément suivant :

Autorisations requises pour l’inscription d’une application

Vous devez disposer d’autorisations suffisantes pour inscrire une application auprès de votre locataire Azure AD et attribuer un rôle à l’application dans votre abonnement Azure. Pour effectuer ces tâches, vous avez besoin de l’autorisation Application.ReadWrite.All.

Inscrire une application avec Azure AD et créer un principal de service

  1. Connectez-vous au portail Azure.

  2. Recherchez et sélectionnez Azure Active Directory.

  3. Sélectionnez Inscriptions d’applications, puis Nouvelle inscription.

  4. Nommez l’application, par exemple « example-app ».

  5. Sélectionnez un type de compte pris en charge, qui détermine qui peut utiliser l’application.

  6. Sous URI de redirection, sélectionnez Web pour le type d’application que vous souhaitez créer. Saisissez l’URI vers lequel le jeton d’accès est envoyé.

  7. Sélectionnez Inscription.

    Entrez un nom pour votre application.

Vous avez créé votre application Azure AD et le principal de service.

Attribuer un rôle à l’application

Pour accéder aux ressources de votre abonnement, vous devez attribuer un rôle à l’application. Déterminez quel rôle fournit les autorisations appropriées pour l’application. Pour en savoir plus sur les rôles disponibles, consultez Rôles intégrés Azure.

Vous pouvez définir l’étendue au niveau de l’abonnement, du groupe de ressources ou de la ressource. Les autorisations sont héritées des niveaux inférieurs de l’étendue

  1. Connectez-vous au portail Azure.

  2. Sélectionnez le niveau d’étendue auquel vous souhaitez attribuer l’application. Par exemple, pour attribuer un rôle sur l’étendue de l’abonnement, recherchez et sélectionnez Abonnements. Si vous ne voyez pas l’abonnement recherché, sélectionnez le filtre des abonnements généraux. Veillez à ce que l’abonnement souhaité soit sélectionné pour le locataire.

  3. Sélectionnez Contrôle d’accès (IAM) .

  4. Sélectionnez Ajouter, puis Ajouter une attribution de rôle.

  5. Sous l’onglet Rôle, sélectionnez le rôle que vous souhaitez attribuer à l’application dans la liste. Par exemple, pour autoriser l’application à exécuter des actions telles que redémarrer, démarrer et arrêter des instances, sélectionnez le rôle Contributeur.

  6. Sélectionnez Suivant.

  7. Sous l’onglet Membres, sélectionnez Attribuer l’accès à, puis sélectionnez Utilisateur, groupe ou principal du service.

  8. Sélectionnez Sélectionner des membres. Par défaut, les applications Azure AD ne figurent pas dans les options disponibles. Pour trouver votre application, recherchez-la par son nom.

  9. Sélectionnez le bouton Sélectionner, puis sélectionnez Vérifier + attribuer.

    Capture d’écran montrant une attribution de rôle.

Votre principal de service est créé. Vous pouvez commencer à l’utiliser pour exécuter vos scripts ou applications. Pour gérer votre principal de service (autorisations, autorisations accordées par l’utilisateur, voir quels utilisateurs ont donné leur consentement, examiner les autorisations, voir les informations de connexion, etc.), accédez à Applications d’entreprise.

La section suivante montre comment obtenir les valeurs nécessaires pour vous connecter par programmation.

Se connecter à l’application

Quand vous vous connectez par programmation, transmettez l’ID de locataire et l’ID d’application dans votre demande d’authentification. Vous avez également besoin d’un certificat ou d’une clé d’authentification. Pour récupérer l’ID d’annuaire (locataire) et l’ID d’application :

  1. Recherchez et sélectionnez Azure Active Directory.
  2. Dans Inscriptions d’applications dans Azure AD, sélectionnez votre application.
  3. Dans la page de vue d’ensemble de l’application, copiez la valeur ID d’annuaire (locataire) et stockez-la dans votre code d’application.
  4. Copiez la valeur ID d’application (client) et stockez-la dans votre code d’application.

Configurer l’authentification

Il existe deux types d’authentification disponibles pour les principaux de service : l’authentification par mot de passe (secret de l’application) et l’authentification par certificat. Nous vous recommandons d’utiliser un certificat approuvé émis par une autorité de certification, mais vous pouvez également créer un secret d’application ou un certificat auto-signé à des fins de test.

Pour charger le fichier de certificat :

  1. Recherchez et sélectionnez Azure Active Directory.
  2. Dans Inscriptions d’applications dans Azure AD, sélectionnez votre application.
  3. Sélectionnez Certificats et secrets.
  4. Sélectionnez Certificats, puis Charger le certificat et choisissez le fichier de certificat à charger.
  5. Sélectionnez Ajouter. Une fois le certificat chargé, les valeurs d'empreinte numérique, de date de début et d’expiration s'affichent.

Une fois le certificat inscrit avec votre application dans le portail d’inscription d’applications, activez le code de l’application cliente confidentielle pour utiliser le certificat.

Option 2 (Test uniquement) : Créer et charger un certificat auto-signé

Vous pouvez également utiliser un certificat auto-signé à des fins de test uniquement. Pour créer un certificat auto-signé dans le magasin de certificats utilisateur sur votre ordinateur, ouvrez Windows PowerShell et exécutez New-SelfSignedCertificate avec les paramètres suivants :

$cert=New-SelfSignedCertificate -Subject "CN=DaemonConsoleCert" -CertStoreLocation "Cert:\CurrentUser\My"  -KeyExportPolicy Exportable -KeySpec Signature

Exportez ce certificat dans un fichier à l’aide du composant logiciel enfichable MMC Gérer un certificat utilisateur accessible depuis le Panneau de configuration Windows.

  1. Sélectionnez Exécuter dans le menu Démarrer, puis entrez certmgr.msc. L’outil Gestionnaire de certificats pour l’utilisateur actuel s’affiche.
  2. Pour afficher vos certificats, sous Certificats - Utilisateur actuel dans le volet gauche, développez le répertoire Personnel.
  3. Cliquez avec le bouton droit sur le certificat que vous avez créé, puis sélectionnez Toutes les tâches->Exporter.
  4. Suivez les instructions de l’Assistant Exportation de certificat.

Pour charger le certificat :

  1. Recherchez et sélectionnez Azure Active Directory.
  2. Dans Inscriptions d’applications dans Azure AD, sélectionnez votre application.
  3. Sélectionnez Certificats et secrets.
  4. Sélectionnez Certificats, puis Chargez un certificat, puis choisissez le certificat (un certificat existant ou le certificat auto-signé que vous avez exporté).
  5. Sélectionnez Ajouter.

Une fois le certificat inscrit avec votre application dans le portail d’inscription d’applications, activez le code de l’application cliente confidentielle pour utiliser le certificat.

Option 3 : Créer un nouveau secret d’application

Si vous choisissez de ne pas utiliser un certificat, vous pouvez créer un nouveau secret d’application.

  1. Recherchez et sélectionnez Azure Active Directory.
  2. Sélectionnez Inscriptions d’applications et sélectionnez votre application dans la liste.
  3. Sélectionnez Certificats et secrets.
  4. Sélectionnez Secrets client, puis Nouveau secret client.
  5. Fournissez une description et la durée du secret.
  6. Sélectionnez Ajouter.

Quand vous enregistrez le secret client, sa valeur s’affiche. Copiez cette valeur car vous ne pourrez pas récupérer la clé ultérieurement. Vous fournirez la valeur de la clé avec l’ID d’application pour vous connecter en tant qu’application. Stockez la valeur de la clé à un emplacement où votre application peut la récupérer.

Capture d’écran montrant le secret client.

Configurer des stratégies d’accès sur les ressources

Vous devrez peut-être configurer des autorisations supplémentaires sur les ressources auxquelles votre application doit accéder. Par exemple, vous devez également mettre à jour les stratégies d’accès d’un coffre de clés pour permettre à votre application d’accéder aux clés, secrets ou certificats.

Pour configurer des stratégies d’accès :

  1. Connectez-vous au portail Azure.

  2. Sélectionnez votre coffre de clés, puis sélectionnez Stratégies d’accès.

  3. Sélectionnez Ajouter une stratégie d’accès, puis sélectionnez les autorisations de clé, de secret et de certificat que vous souhaitez accorder à votre application. Sélectionnez le principal de service que vous avez créé précédemment.

  4. Sélectionnez Ajouter pour ajouter la stratégie d’accès.

  5. Enregistrez. .

    Ajouter une stratégie d’accès

Étapes suivantes