Procédure : Utiliser le portail pour créer une application et un principal du service Azure AD pouvant accéder aux ressourcesHow to: Use the portal to create an Azure AD application and service principal that can access resources

Cet article explique comment créer une application et un principal du service Azure Active Directory (Azure AD) qui peuvent être utilisés avec le contrôle d’accès basé sur les rôles.This article shows you how to create a new Azure Active Directory (Azure AD) application and service principal that can be used with the role-based access control. Si vous utilisez des applications, des services hébergés ou des outils automatisés qui doivent accéder aux ressources ou les modifier, vous pouvez créer une identité pour l’application.When you have applications, hosted services, or automated tools that needs to access or modify resources, you can create an identity for the app. Cette identité est connue en tant que principal de service.This identity is known as a service principal. 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.Access to resources is restricted by the roles assigned to the service principal, giving you control over which resources can be accessed and at which level. Pour des raisons de sécurité, il est toujours recommandé d’utiliser les principaux du service avec des outils automatisés, plutôt que de leur permettre de se connecter avec une identité d’utilisateur.For security reasons, it's always recommended to use service principals with automated tools rather than allowing them to log in with a user identity.

Cet article explique comment créer le principal de service dans le portail Azure.This article shows you how to use the portal to create the service principal in the Azure portal. Elle se concentre sur une application à locataire unique conçue pour s’exécuter au sein d’une seule organisation.It focuses on a single-tenant application where the application is intended to run within only one organization. Les applications à locataire unique sont généralement utilisées pour les applications métier exécutées au sein de votre organisation.You typically use single-tenant applications for line-of-business applications that run within your organization. Vous pouvez également utiliser Azure PowerShell pour créer un principal de service.You can also use Azure PowerShell to create a service principal.

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.Instead of creating a service principal, consider using managed identities for Azure resources for your application identity. 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.If your code runs on a service that supports managed identities and accesses resources that support Azure AD authentication, managed identities are a better option for you. 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 ?.To learn more about managed identities for Azure resources, including which services currently support it, see What is managed identities for Azure resources?.

Inscription d’applications, objets d’application et principaux de serviceApp registration, app objects, and service principals

Il n’existe aucun moyen de créer directement un principal de service à l’aide du portail Azure.There is no way to directly create a service principal using the Azure portal. Lorsque vous inscrivez une application par le biais du portail Azure, un objet d’application et un principal de service sont automatiquement créés dans votre répertoire de base ou votre locataire.When you register an application through the Azure portal, an application object and service principal are automatically created in your home directory or tenant. 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.For more information on the relationship between app registration, application objects, and service principals, read Application and service principal objects in Azure Active Directory.

Autorisations requises pour l’inscription d’une applicationPermissions required for registering an app

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.You must have sufficient permissions to register an application with your Azure AD tenant, and assign to the application a role in your Azure subscription.

Vérifier les autorisations dans Azure ADCheck Azure AD permissions

  1. Sélectionnez Azure Active Directory.Select Azure Active Directory.

  2. Notez votre rôle.Note your role. Si vous avez le rôle Utilisateur, vous devez vous assurer que les utilisateurs non-administrateurs peuvent inscrire des applications.If you have the User role, you must make sure that non-administrators can register applications.

    Trouvez votre rôle.

  3. Dans le volet gauche, sélectionnez Paramètres utilisateur.In the left pane, select User settings.

  4. Vérifiez le paramètre Inscriptions d’applications.Check the App registrations setting. Cette valeur peut uniquement être définie par un administrateur.This value can only be set by an administrator. Si la valeur est Oui, tous les utilisateurs dans le locataire Azure AD peuvent inscrire une application.If set to Yes, any user in the Azure AD tenant can register an app.

Si le paramètre d’inscriptions d’applications est défini sur Non, seuls les utilisateurs ayant un rôle d’administrateur peuvent inscrire ces types d’applications.If the app registrations setting is set to No, only users with an administrator role may register these types of applications. Reportez-vous aux rôles disponibles et aux autorisations de rôle pour en savoir plus sur les rôles administrateur disponibles et les autorisations spécifiques dans Azure AD qui sont attribuées à chaque rôle.See available roles and role permissions to learn about available administrator roles and the specific permissions in Azure AD that are given to each role. Si le rôle Utilisateur est attribué à votre compte mais que le paramètre d’inscription d’application est limité aux utilisateurs administrateurs, demandez à votre administrateur de vous attribuer l’un des rôles Administrateur pouvant créer et gérer tous les aspects des inscriptions d’application ou autoriser les utilisateurs à inscrire des applications.If your account is assigned the User role, but the app registration setting is limited to admin users, ask your administrator to either assign you one of the administrator roles that can create and manage all aspects of app registrations, or to enable users to register apps.

Vérifier les autorisations d’abonnement AzureCheck Azure subscription permissions

Dans votre abonnement Azure, votre compte doit disposer d’un accès Microsoft.Authorization/*/Write pour attribuer un rôle à une application AD.In your Azure subscription, your account must have Microsoft.Authorization/*/Write access to assign a role to an AD app. Cette action est accordée par le biais du rôle Propriétaire ou Administrateur de l’accès utilisateur.This action is granted through the Owner role or User Access Administrator role. Si le rôle Contributeur est attribué à votre compte, vous ne disposez pas de l’autorisation appropriée.If your account is assigned the Contributor role, you don't have adequate permission. Vous recevez un message d’erreur quand vous tentez d’attribuer un rôle au principal de service.You will receive an error when attempting to assign the service principal a role.

Pour vérifier vos autorisations d’abonnement :To check your subscription permissions:

  1. Recherchez et sélectionnez Abonnements, ou sélectionnez Abonnements sur la page d’accueil.Search for and select Subscriptions, or select Subscriptions on the Home page.

    Recherche

  2. Sélectionnez l’abonnement dans lequel vous souhaitez créer le principal de service.Select the subscription you want to create the service principal in.

    Sélectionner l’abonnement pour l’assignation

    Si vous ne voyez pas l’abonnement recherché, sélectionnez le filtre des abonnements généraux.If you don't see the subscription you're looking for, select global subscriptions filter. Assurez-vous que l’abonnement souhaité est sélectionné dans le portail.Make sure the subscription you want is selected for the portal.

  3. Sélectionner Mes autorisations.Select My permissions. Ensuite, sélectionnez Cliquer ici pour afficher les détails d’accès complet pour cet abonnement.Then, select Click here to view complete access details for this subscription.

    Sélectionnez l’abonnement où vous souhaitez créer le principal de service.

  4. Sélectionnez Affichage dans Attributions de rôles pour afficher les rôles qui vous sont attribués, et déterminer si vous disposez des autorisations appropriées pour attribuer un rôle à une application AD.Select View in Role assignments to view your assigned roles, and determine if you have adequate permissions to assign a role to an AD app. Si ce n’est pas le cas, demandez à votre administrateur d’abonnement de vous ajouter un rôle Administrateur de l’accès utilisateur.If not, ask your subscription administrator to add you to User Access Administrator role. Dans l’image suivante, le rôle Propriétaire est attribué à l’utilisateur, ce qui signifie que l’utilisateur dispose des autorisations appropriées.In the following image, the user is assigned the Owner role, which means that user has adequate permissions.

    Cet exemple montre que le rôle Propriétaire est attribué à l’utilisateur

Inscrire une application avec Azure AD et créer un principal de serviceRegister an application with Azure AD and create a service principal

Passons directement à la création de l’identité.Let's jump straight into creating the identity. Si vous rencontrez un problème, vérifiez que votre compte a les autorisations nécessaires pour créer l’identité.If you run into a problem, check the required permissions to make sure your account can create the identity.

  1. Connectez-vous à votre compte Azure via le portail Azure.Sign in to your Azure Account through the Azure portal.

  2. Sélectionnez Azure Active Directory.Select Azure Active Directory.

  3. Sélectionnez Inscriptions d’applications.Select App registrations.

  4. Sélectionnez Nouvelle inscription.Select New registration.

  5. Nommez l’application.Name the application. Sélectionnez un type de compte pris en charge, qui détermine qui peut utiliser l’application.Select a supported account type, which determines who can use the application. Sous URI de redirection, sélectionnez Web pour le type d’application que vous souhaitez créer.Under Redirect URI, select Web for the type of application you want to create. Saisissez l’URI vers lequel le jeton d’accès est envoyé.Enter the URI where the access token is sent to. Vous ne pouvez pas créer d’informations d’identification pour une application native.You can't create credentials for a Native application. Vous ne pouvez pas utiliser ce type pour une application automatisée.You can't use that type for an automated application. Après avoir défini les valeurs, sélectionnez S’inscrire.After setting the values, select Register.

    Saisissez un nom pour votre application

Vous avez créé votre application Azure AD et le principal de service.You've created your Azure AD application and service principal.

Attribuer un rôle à l’applicationAssign a role to the application

Pour accéder aux ressources de votre abonnement, vous devez attribuer un rôle à l’application.To access resources in your subscription, you must assign a role to the application. Déterminez quel rôle fournit les autorisations appropriées pour l’application.Decide which role offers the right permissions for the application. Pour en savoir plus sur les rôles disponibles, consultez Rôles intégrés Azure.To learn about the available roles, see Azure built-in roles.

Vous pouvez définir l’étendue au niveau de l’abonnement, du groupe de ressources ou de la ressource.You can set the scope at the level of the subscription, resource group, or resource. Les autorisations sont héritées des niveaux inférieurs de l’étenduePermissions are inherited to lower levels of scope. (par exemple, l’ajout d’une application au rôle Lecteur pour un groupe de ressources signifie qu’elle peut lire le groupe de ressources et toutes les ressources qu’il contient).For example, adding an application to the Reader role for a resource group means it can read the resource group and any resources it contains.

  1. Dans le portail Azure, sélectionnez le niveau d’étendue auquel vous souhaitez affecter l’application.In the Azure portal, select the level of scope you wish to assign the application to. Par exemple, pour affecter un rôle à l’étendue de l’abonnement, recherchez et sélectionnez Abonnements, ou sélectionnez Abonnements dans la page d’accueil.For example, to assign a role at the subscription scope, search for and select Subscriptions, or select Subscriptions on the Home page.

    Par exemple, affecter un rôle à l’étendue d’abonnement

  2. Sélectionnez l’abonnement auquel l’application doit être affectée.Select the particular subscription to assign the application to.

    Sélectionner l’abonnement pour l’assignation

    Si vous ne voyez pas l’abonnement recherché, sélectionnez le filtre des abonnements généraux.If you don't see the subscription you're looking for, select global subscriptions filter. Assurez-vous que l’abonnement souhaité est sélectionné dans le portail.Make sure the subscription you want is selected for the portal.

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

  4. Sélectionnez Ajouter une attribution de rôle.Select Add role assignment.

  5. Sélectionnez le rôle que vous souhaitez affecter à l’application.Select the role you wish to assign to the application. 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.For example, to allow the application to execute actions like reboot, start and stop instances, select the Contributor role. En savoir plus sur les rôles disponibles. Par défaut, les applications Azure AD ne figurent pas dans les options disponibles.Read more about the available roles By default, Azure AD applications aren't displayed in the available options. Pour trouver votre application, recherchez-la par son nom et sélectionnez-la.To find your application, search for the name and select it.

    Sélectionnez le rôle à assigner à l’application

  6. Sélectionnez Enregistrer pour finaliser l’attribution du rôle.Select Save to finish assigning the role. Votre application apparaît dans la liste des utilisateurs avec un rôle pour cette étendue.You see your application in the list of users with a role for that scope.

Votre principal de service est créé.Your service principal is set up. Vous pouvez commencer à l’utiliser pour exécuter vos scripts ou applications.You can start using it to run your scripts or apps. 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.To manage your service principal (permissions, user consented permissions, see which users have consented, review permissions, see sign in information, and more), go to Enterprise applications.

La section suivante montre comment obtenir les valeurs nécessaires pour vous connecter par programmation.The next section shows how to get values that are needed when signing in programmatically.

Obtenir les valeurs d’ID de locataire et d’ID d’application pour la connexionGet tenant and app ID values for signing in

Quand vous vous connectez par programmation, vous devez transmettre l’ID du locataire avec votre demande d’authentification et l’ID de l’application.When programmatically signing in, you need to pass the tenant ID with your authentication request and the application ID. Vous avez également besoin d’un certificat ou d’une clé d’authentification (décrite dans la section suivante).You also need a certificate or an authentication key (described in the following section). Pour obtenir ces valeurs, procédez comme suit :To get those values, use the following steps:

  1. Sélectionnez Azure Active Directory.Select Azure Active Directory.

  2. Dans Inscriptions d’applications dans Azure AD, sélectionnez votre application.From App registrations in Azure AD, select your application.

  3. Copiez l’ID du répertoire (locataire) et stockez-le dans votre code d’application.Copy the Directory (tenant) ID and store it in your application code.

    Copier l’ID du répertoire (locataire) et le stocker dans votre code d’application

    L’ID du répertoire (locataire) est également accessible dans la page de présentation du répertoire par défaut.The directory (tenant) ID can also be found in the default directory overview page.

  4. Copiez l’ID d’application et stockez-le dans votre code d’application.Copy the Application ID and store it in your application code.

    Copier l’ID d’application (client)

Télécharger un certificat ou créer un secret pour la connexionUpload a certificate or create a secret for signing in

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.There are two types of authentication available for service principals: password-based authentication (application secret) and certificate-based authentication. Nous vous recommandons d’utiliser un certificat, mais vous pouvez également créer un nouveau secret d’application.We recommend using a certificate, but you can also create a new application secret.

Téléchargement d'un certificatUpload a certificate

Vous pouvez utiliser un certificat existant si vous en avez un.You can use an existing certificate if you have one. Vous pouvez également utiliser un certificat auto-signé à des fins de test uniquement.Optionally, you can create a self-signed certificate for testing purposes only. Pour créer un certificat autosigné dans le magasin de certificats utilisateur sur votre ordinateur, ouvrez PowerShell et exécutez New-SelfSignedCertificate avec les paramètres suivants :To create a self-signed certificate, open PowerShell and run New-SelfSignedCertificate with the following parameters to create the cert in the user certificate store on your computer:

$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.Export this certificate to a file using the Manage User Certificate MMC snap-in accessible from the Windows Control Panel.

  1. Sélectionnez Exécuter dans le menu Démarrer, puis entrez certmgr.msc.Select Run from the Start menu, and then enter certmgr.msc.

    L’outil Gestionnaire de certificats pour l’utilisateur actuel s’affiche.The Certificate Manager tool for the current user appears.

  2. Pour afficher vos certificats, sous Certificats - Utilisateur actuel dans le volet gauche, développez le répertoire Personnel.To view your certificates, under Certificates - Current User in the left pane, expand the Personal directory.

  3. Cliquez avec le bouton droit sur le certificat que vous avez créé, sélectionnez Toutes les tâches->Exporter.Right-click on the cert you created, select All tasks->Export.

  4. Suivez les instructions de l’Assistant Exportation de certificat.Follow the Certificate Export wizard. N’exportez pas la clé privée. Procédez à une exportation vers un fichier .CER.Do not export the private key, and export to a .CER file.

Pour charger le certificat :To upload the certificate:

  1. Sélectionnez Azure Active Directory.Select Azure Active Directory.

  2. Dans Inscriptions d’applications dans Azure AD, sélectionnez votre application.From App registrations in Azure AD, select your application.

  3. Cliquez sur Certificats et secrets.Select Certificates & secrets.

  4. Sélectionnez Charger un certificat, puis sélectionnez le certificat (un certificat existant ou le certificat auto-signé que vous avez exporté).Select Upload certificate and select the certificate (an existing certificate or the self-signed certificate you exported).

    Sélectionnez Charger un certificat, puis sélectionnez celui que vous souhaitez ajouter

  5. Sélectionnez Ajouter.Select Add.

Une fois le certificat inscrit avec votre application dans le portail d’inscription des applications, vous devez activer le code de l’application cliente pour utiliser le certificat.After registering the certificate with your application in the application registration portal, you need to enable the client application code to use the certificate.

Créer un secret d’applicationCreate a new application secret

Si vous choisissez de ne pas utiliser un certificat, vous pouvez créer un nouveau secret d’application.If you choose not to use a certificate, you can create a new application secret.

  1. Sélectionnez Azure Active Directory.Select Azure Active Directory.

  2. Dans Inscriptions d’applications dans Azure AD, sélectionnez votre application.From App registrations in Azure AD, select your application.

  3. Cliquez sur Certificats et secrets.Select Certificates & secrets.

  4. Sélectionnez Clés secrètes client -> Nouvelle clé secrète client.Select Client secrets -> New client secret.

  5. Fournissez une description et la durée du secret.Provide a description of the secret, and a duration. Quand vous avez terminé, sélectionnez Ajouter.When done, select Add.

    Une fois la clé secrète client enregistrée, la valeur de la clé secrète client s’affiche.After saving the client secret, the value of the client secret is displayed. Copiez cette valeur car vous ne pourrez pas récupérer la clé ultérieurement.Copy this value because you won't be able to retrieve the key later. Vous fournirez la valeur de la clé avec l’ID d’application pour vous connecter en tant qu’application.You will provide the key value with the application ID to sign in as the application. Stockez la valeur de la clé à un emplacement où votre application peut la récupérer.Store the key value where your application can retrieve it.

    Copiez la valeur du secret, car vous ne pourrez pas la récupérer plus tard.

Configurer des stratégies d’accès sur les ressourcesConfigure access policies on resources

Gardez à l’esprit que vous devrez peut-être configurer des autorisations supplémentaires sur les ressources auxquelles votre application doit accéder.Keep in mind, you might need to configure additional permissions on resources that your application needs to access. 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.For example, you must also update a key vault's access policies to give your application access to keys, secrets, or certificates.

  1. Dans le portail Azure, accédez à votre coffre de clés et sélectionnez Accès partagé.In the Azure portal, navigate to your key vault and select Access policies.
  2. 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.Select Add access policy, then select the key, secret, and certificate permissions you want to grant your application. Sélectionnez le principal de service que vous avez créé précédemment.Select the service principal you created previously.
  3. Sélectionnez Ajouter pour ajouter la stratégie d’accès, puis Enregistrer pour valider vos modifications.Select Add to add the access policy, then Save to commit your changes. Ajouter une stratégie d’accèsAdd access policy

Étapes suivantesNext steps