Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez implémenter le cadre du modèle d’application sécurisé en créant une application pour les fournisseurs de solutions cloud (CSP) ou les fournisseurs de panneau de configuration (CPV).
Mettre en œuvre un modèle d’application sécurisé
Étapes d’activation du modèle d’application sécurisé
Important
Azure Active Directory (Azure AD) Graph est déconseillé depuis le 30 juin 2023. À l’avenir, nous n’effectuons aucun investissement supplémentaire dans Azure AD Graph. Les API Graph Azure AD n’ont pas de contrat SLA ou de maintenance au-delà des correctifs liés à la sécurité. Les investissements dans de nouvelles fonctionnalités ne seront effectués que dans Microsoft Graph.
Nous allons mettre hors service Azure AD Graph en étapes incrémentielles afin que vous ayez suffisamment de temps pour migrer vos applications vers les API Microsoft Graph. À une date ultérieure que nous annoncerons, nous bloquerons la création de toutes les nouvelles applications à l’aide d’Azure AD Graph.
Pour plus d'informations, consultez Important : Retrait d'Azure AD Graph et mise à l'obsolescence du module PowerShell.
Créer un principal de service de l’Espace partenaires
Tout d’abord, créez un principal de service Microsoft Partner Center dans le locataire du partenaire CSP, où l’application multilocataire va être créée.
Pour les locataires partenaires CSP, ce principal de service doit déjà exister. Si ce n’est pas le cas, créez en procédant comme suit.
Dans une fenêtre PowerShell d’administrateur, exécutez les commandes suivantes.
- Installez le module AzureAD.
Install-Module Microsoft.Graph
- Exécutez Connect-MgGraph, qui vous invite à entrer un nom d’utilisateur et un mot de passe. Entrez les informations d’identification de l’administrateur du locataire.
Connect-MgGraph
- Créez un principal de service de l’Espace partenaires Microsoft.
New-MgServicePrincipal -DisplayName "Microsoft Partner Center" -AppId 00001111-aaaa-2222-bbbb-3333cccc4444
Créer une application multilocataire dans le locataire du partenaire CSP
Procédez comme suit pour vous assurer que les propriétés d’application suivantes sont définies pour l’application mutualisée nouvellement créée.
- Connectez-vous à portal.azure.com
- Sélectionnez Enregistrements d’ID Microsoft Entra et d’applications pour créer des enregistrements avec multilocataire.
- Sélectionnez un nom d’affichage destiné à l’utilisateur pour votre application.
- Sélectionnez Type de compte pris en charge : Comptes dans n’importe quel annuaire organisationnel (Tout annuaire Microsoft Entra - Multilocataire).
- Sélectionnez une plate-forme de type « Web ».
- L’URL de redirection doit être l’URL de redirection de votre application, qui affichera le message de réussite du consentement au partenaire et collectera un jeton d’actualisation. Assurez-vous que l’URL de redirection de votre application est définie sur un point de terminaison où une application web en direct est en cours d’exécution. Cette application doit accepter le code d’autorisation de l’appel de connexion Microsoft Entra.
- Accédez à Gérer les>certificats et les secrets+Nouvelle clé secrète client dans l’onglet Clés secrètes > client.
Remarque
Vous aurez besoin des informations suivantes à partir des paramètres de votre application web dans Microsoft Entra ID :
- ID de l'application
- Secret d’application
Appliquer les autorisations
Assurez-vous que les autorisations suivantes sont définies pour l’application multilocataire.
Dans la section Autorisation de l’API :
Il ne doit pas y avoir d’autorisations d’application directes sur l’application multilocataire.
Suivez le chemin d’accès ci-dessous pour ajouter des autorisations déléguées pour Microsoft Graph :
-
Autorisations de l’API>Ajouter une autorisation>API> MicrosoftGraphique> MicrosoftAutorisations déléguées
DelegatedAdminRelationship.ReadWrite.All User.Read.All
- Suivez le chemin d’accès ci-dessous pour ajouter des autorisations déléguées pour l’Espace partenaires Microsoft - Accorder l’accès aux autorisations de l’Espace partenaires sous Autorisations déléguées :
- Autorisations de l’API>Ajouter une autorisation>API utilisées par> mon organisationCentre >des partenaires MicrosoftAutorisations déléguées>Usurpation d’identité de l’utilisateur
-
Autorisations de l’API>Ajouter une autorisation>API> MicrosoftGraphique> MicrosoftAutorisations déléguées
Fournir un lien de consentement
Présentez le lien de consentement au partenaire et demandez-lui de se connecter avec son compte de service pour approuver la demande d’action au nom du compte de service sur le locataire partenaire.
L’utilisateur partenaire CSP doit être un administrateur général et un agent d’administration pour consentir à l’application mutualisée.
Application multilocataire
Le locataire ApplicationID
multiple doit être remplacé par votre ID d’application.
Accédez à Inscriptions d’applications et sélectionnez l’ID d’application (client) et remplacez-le ci-dessous.
Obtenir le code d’autorisation
Vous devez obtenir un code d’autorisation pour votre application web à partir de l’appel de connexion Microsoft Entra :
- Connectez-vous à Microsoft Entra ID.
- Remplacez Application-Id par votre ID d’application Microsoft Entra (GUID).
- Lorsque vous y êtes invité, connectez-vous avec votre compte d’utilisateur sur lequel l’authentification multifacteur est configurée.
- Lorsque vous y êtes invité, entrez d’autres informations MFA (numéro de téléphone ou adresse e-mail) pour vérifier votre connexion.
- Une fois connecté, le navigateur redirige l’appel vers le point de terminaison de votre application web à l’aide de votre code d’autorisation. Par exemple, l’exemple de code suivant redirige vers
https://localhost:44395/
.
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code&redirect_url=https://<CSPApplicationUrl_which_collects_refreshtoken>
ou
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code
Pour la Chine, utilisez le lien suivant :
GET https://login.chinacloudapi.cn/common/oauth2/authorize ?&client_id= <CSPApplicationId>&response_type=code&redirect_url= https://<CSPApplicationUrl_which_collects_refreshtoken>
ou
GET https://login.chinacloudapi.cn/common/oauth2/authorize?&client_id= <CSPApplicationId>&response_type=code
Trace d’appel du code d’autorisation : https://localhost:44395/?code=<authorization_code>&<rest of properties for state>
Obtenir le jeton d’actualisation
Vous devez ensuite utiliser votre code d’autorisation pour obtenir un jeton d’actualisation :
- Effectuez un appel POST au point
https://login.microsoftonline.com/CSPTenantID/oauth2/token
de terminaison de connexion Microsoft Entra avec le code d’autorisation. Pour obtenir un exemple, consultez l’exemple d’appel suivant. - Notez le jeton d’actualisation qui est renvoyé.
- Stockez le jeton d’actualisation dans Azure Key Vault. Pour plus d’informations, consultez la documentation de l’API Key Vault.
Remarque
Les ressources mentionnées dans l’exemple d’appel POST ci-dessous sont destinées aux API GDAP-Graph.
Les ressources pour les autres API PC sont les suivantes :
API de l’Espace partenaires (https://api.partnercenter.microsoft.com
)
API partenaire (https://api.partner.microsoft.com
)
Exemple d’appel
POST 'https://login.microsoftonline.com/<partnerTenantId>/oauth2/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--form 'grant_type="authorization_code"' \
--form 'client_id=<application_id or client_id>' \
--form 'resource="https://graph.microsoft.com"' \
--form 'code="<authorization_code>"'
Response Body:
{
"token_type": "Bearer",
"scope": "DelegatedAdminRelationship.ReadWrite.All User.Read.All",
"expires_in": "4549",
"ext_expires_in": "4549",
"expires_on": "1652886571",
"not_before": "1652881721",
"resource": "https://graph.microsoft.com",
"access_token": "Access_token",
"refresh_token": "Refresh_token",
"id_token": "Id_token"
}
Configurer le coffre de clés
Tout d’abord, créez une application web dans le locataire du partenaire CSP. Si l’application CPV est utilisée pour appeler les API de l’Espace partenaires, CPV doit créer une application web dans le locataire du partenaire CPV.
Si vous utilisez Azure Key Vault :
- Créez Azure Key Vault avec le fichier approprié
<key-vault-name>
et il en résulte un nom DNS tel que :https://<key-vault-name>.vault.azure.net
- Ajoutez un jeton d’actualisation au coffre de clés.
Fournir l’accès au coffre de clés
Dans les stratégies d’accès du coffre de clés, ajoutez KeyVaultAccessApp avec des autorisations pour gérer uniquement les aspects Obtenir et Définir d’un secret.
Configurer le prototype
Le prototype a deux applications :
-
Consentement du partenaire : Représente une application Web conçue pour accepter le consentement d’un partenaire CSP et afficher un message de réussite.
- Cette application configure le consentement et capture le jeton d’actualisation de l’utilisateur autorisé.
- Le jeton d’actualisation de l’utilisateur consenti est utilisé pour générer le jeton d’accès pour le locataire partenaire CSP.
-
Application CSP ou application CPV : représente une application principale, qui appelle les API et le graphique de l’Espace partenaires.
- API pour effectuer des actions commerciales et utilisateur pour le compte du partenaire.
Cette application récupère le jeton d’accès pour une audience spécifique (API de l’Espace partenaires ou Graph) avant d’appeler les API respectives. Il utilise le jeton d’actualisation qui est stocké en toute sécurité dans le coffre de clés.
Demande de consentement du partenaire (CPS)
Configuration web CSP
Pour l’application partenaire CSP, les sections suivantes sont appelées dans le web.config
fichier. Mettez à jour ces valeurs avec les ID d’application et les secrets correspondants. Pour votre application principale, utilisez « certificat » comme secret d’application web au lieu de secrets simples, car il fournit une couche de sécurité supplémentaire.
<!-- AppID that represents CSP application -->
<add key="ida:CSPApplicationId" value="CSPApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment.
The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CSPApplicationSecret" value="CSPApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens --> <add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment.
The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
Configuration de l’application CSP
Pour l’application partenaire CSP, les sections suivantes sont appelées dans le app.config
fichier. Mettez à jour les valeurs avec les ID d’application et les secrets correspondants. Pour votre application principale, utilisez « certificat » comme secret d’application web au lieu de secrets simples, car il fournit une couche de sécurité supplémentaire.
<!-- AppID that represents CSP application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de,
China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
Demande de consentement du partenaire (CPV)
Les fournisseurs de services cloud qui utilisent l’application CPV peuvent appeler l’API ApplicationConsent pour créer le principal de service sur le locataire client afin d’accéder à Microsoft Graph pour gérer les locataires client. Pour plus d’informations, consultez Authentification de l’Espace partenaires.
Configuration Web du CPV
Pour l’application partenaire CSP, les sections suivantes sont appelées dans le web.config
fichier. Mettez à jour ces valeurs avec les ID d’application et les secrets correspondants. Pour votre application principale, utilisez « certificat » comme secret d’application web au lieu de secrets simples, car il fournit une couche de sécurité supplémentaire.
<!-- AppID that represents Control panel vendor application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
Configuration de l’application CPV
Pour l’application du partenaire CPV, les sections suivantes sont appelées dans le app.config
fichier. Mettez à jour les valeurs avec les ID d’application et les secrets correspondants. Pour votre application principale, utilisez « certificat » comme secret d’application web au lieu de secrets simples, car il fournit une couche de sécurité supplémentaire.
<!-- AppID that represents Control panel vendor application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />