Remarque
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.
Microsoft introduit une infrastructure sécurisée et évolutive pour l’authentification des partenaires fournisseurs de solutions cloud (CSP) et des fournisseurs de panneau de configuration (CPV) via l’architecture MFA (Multifactor Authentication) Microsoft Entra.
Vous pouvez utiliser le nouveau modèle pour élever la sécurité des appels d’intégration d’API de l’Espace partenaires. Cela permet à toutes les parties (y compris Microsoft, les partenaires CSP et les PROCESSEURs) de protéger leur infrastructure et les données client contre les risques de sécurité.
Le programme CSP permet aux clients d’acheter des produits et services Microsoft par le biais des partenaires. Conformément au contrat avec Microsoft, les partenaires doivent gérer l’environnement pour les clients auxquels ils vendent et fournissent un support. Les clients qui achètent via ce canal doivent faire confiance au partenaire auprès duquel ils achètent, car l’entreprise partenaire dispose d’un accès administrateur à privilèges élevés au locataire client.
Scope
Cet article concerne à la fois les fournisseurs de services partagés et les PROCESSEURs.
PROCESSEURs
- Un CPV est un fournisseur de logiciels indépendant qui développe des applications à utiliser par les partenaires CSP pour s’intégrer aux API de l’Espace partenaires.
- Un CPV n’est pas un partenaire CSP disposant d’un accès direct à l’Espace partenaires ou aux API.
Fournisseurs de services cloud
- Fournisseurs indirects csp et partenaires directs CSP qui utilisent l’ID d’application + l’authentification utilisateur et s’intègrent directement aux API de l’Espace partenaires.
Besoins de sécurité
Pour plus d’informations sur les exigences de sécurité, consultez Exigences de sécurité des partenaires.
Modèle d’application sécurisé
Les applications de la Place de marché Microsoft doivent emprunter l’identité des privilèges de partenaire CSP pour appeler des API Microsoft. Les attaques de sécurité sur ces applications sensibles peuvent entraîner la compromission des données client.
Pour obtenir une vue d’ensemble et des détails de la nouvelle infrastructure d’authentification, consultez le framework de modèle d’application sécurisé, qui couvre les principes et les bonnes pratiques pour rendre les applications de la Place de marché durables et robustes à partir de compromissions de sécurité.
Samples
Les documents de vue d’ensemble suivants et l’exemple de code décrivent comment les partenaires peuvent implémenter l’infrastructure de modèle d’application sécurisé :
-
Le Kit de développement logiciel (SDK) Java de l’Espace partenaires peut être utilisé pour gérer les ressources de l’Espace partenaires. Il s’agit d’un projet open source géré par la communauté partenaire et non officiellement pris en charge par Microsoft. Vous pouvez obtenir de l’aide de la communauté ou ouvrir un problème sur GitHub si vous rencontrez un problème.
REST
Pour effectuer des appels REST avec l’infrastructure Secure Application Model avec un exemple de code, procédez comme suit :
- Activation de l’infrastructure du modèle d’application sécurisé
- Activation de l’infrastructure du modèle d’application sécurisé
Créer une application web
Connectez-vous au portail Azure.
Créez une application Microsoft Entra.
Accordez des autorisations d’application déléguées aux ressources suivantes, en fonction des exigences de votre application. Si nécessaire, vous pouvez ajouter d’autres autorisations déléguées pour les ressources d’application.
Espace partenaires Microsoft (certains locataires montrent SampleBECApp)
API de gestion Azure (si vous envisagez d’appeler des API Azure)
Windows Azure Active Directory
Vérifiez que l’URL d’accueil de votre application est définie sur un point de terminaison où une application web active est en cours d’exécution. Cette application doit accepter le code d’autorisation de l’appel de connexion Microsoft Entra. Par exemple, dans l’exemple de code de la section suivante, l’application web s’exécute à
https://localhost:44395/.Notez les informations suivantes des paramètres de votre application web dans Microsoft Entra ID :
- ID de l'application
- Secret de l’application
Note
Il est recommandé d’utiliser un certificat comme secret d’application. Toutefois, vous pouvez également créer une clé d’application dans le portail Azure. L’exemple de code de la section suivante utilise une clé d’application.
Obtenir le code d’autorisation
Vous devez obtenir un code d’autorisation pour que votre application web accepte à partir de l’appel de connexion Microsoft Entra :
Connectez-vous à l’ID Microsoft Entra.
Veillez à vous connecter avec le compte d’utilisateur à partir duquel vous effectuez des appels d’API de l’Espace partenaires (par exemple, un agent administrateur ou un compte d’agent commercial).
Remplacez l’ID d’application par votre ID d’application Microsoft Entra (GUID).
Lorsque vous y êtes invité, connectez-vous avec votre compte d’utilisateur avec l’authentification multifacteur configurée.
Lorsque vous y êtes invité, entrez plus d’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 votre point de terminaison d’application web avec votre code d’autorisation. Par exemple, l’exemple de code suivant redirige vers
https://localhost:44395/.
Suivi des appels de code d’autorisation
POST https://localhost:44395/ HTTP/1.1
Origin: https://login.microsoftonline.com
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referrer: https://login.microsoftonline.com/kmsi
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Cookie: OpenIdConnect.nonce.hOMjjrivcxzuI4YqAw4uYC%2F%2BILFk4%2FCx3kHTHP3lBvA%3D=dHVyRXdlbk9WVUZFdlFONVdiY01nNEpUc0JRR0RiYWFLTHhQYlRGNl9VeXJqNjdLTGV3cFpIWFg1YmpnWVdQUURtN0dvMkdHS2kzTm02NGdQS09veVNEbTZJMDk1TVVNYkczYmstQmlKUzFQaTBFMEdhNVJGVHlES2d3WGlCSlVlN1c2UE9sd2kzckNrVGN2RFNULWdHY2JET3RDQUxSaXRfLXZQdG00RnlUM0E1TUo1YWNKOWxvQXRwSkhRYklQbmZUV3d3eHVfNEpMUUthMFlQUFgzS01RS2NvMXYtbnV4UVJOYkl4TTN0cw%3D%3D
code=AuthorizationCodeValue&id_token=IdTokenValue&<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 de terminaison
https://login.microsoftonline.com/CSPTenantID/oauth2/tokende connexion Microsoft Entra avec le code d’autorisation. Pour obtenir un exemple, consultez l’exemple d’appel suivant.Notez le jeton d’actualisation retourné.
Stockez le jeton d’actualisation dans Azure Key Vault. Pour plus d’informations, consultez la documentation de l’API Key Vault.
Important
Le jeton d’actualisation doit être stocké en tant que secret dans Key Vault.
Exemple d’appel d’actualisation
Demande d’espace réservé :
POST https://login.microsoftonline.com/CSPTenantID/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Content-Length: 966
Expect: 100-continue
Corps de la demande :
resource=https%3a%2f%2fapi.partnercenter.microsoft.com&client_id=Application-Id&client_secret=Application-Secret&grant_type=authorization_code&code=AuthorizationCodeValue
Réponse de l’espace réservé :
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Content-Type: application/json; charset=utf-8
Corps de réponse :
{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3600","ext_expires_in":"3600","expires_on":"1547581389","not_before":"1547577489","resource":"https://api.partnercenter.microsoft.com","access_token":"AccessTokenValue","id_token":"IDTokenValue"}
Obtenir le jeton d’accès
Vous devez obtenir un jeton d’accès avant de pouvoir passer des appels aux API de l’Espace partenaires. Vous devez utiliser un jeton d’actualisation pour obtenir un jeton d’accès, car les jetons d’accès ont généralement une durée de vie limitée (par exemple, moins d’une heure).
Demande d’espace réservé :
POST https://login.microsoftonline.com/CSPTenantID/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Content-Length: 1212
Expect: 100-continue
Corps de la demande :
resource=https%3a%2f%2fapi.partnercenter.microsoft.com&client_id=Application-Id &client_secret= Application-Secret&grant_type=refresh_token&refresh_token=RefreshTokenVlaue&scope=openid
Réponse de l’espace réservé :
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Content-Type: application/json; charset=utf-8
Corps de réponse :
{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3600","ext_expires_in":"3600","expires_on":"1547581389","not_before":"1547577489","resource":"https://api.partnercenter.microsoft.com","access_token":"AccessTokenValue","id_token":"IDTokenValue"}
Effectuer des appels d’API de l’Espace partenaires
Vous devez utiliser votre jeton d’accès pour appeler les API de l’Espace partenaires. Consultez l’exemple d’appel suivant.
Exemple d’appel d’API espace partenaires
GET https://api.partnercenter.microsoft.com/v1/customers/CustomerTenantId/users HTTP/1.1
Authorization: Bearer AccessTokenValue
Accept: application/json
X-Locale: en-US
Host: api.partnercenter.microsoft.com
La validation des appels d’API est intégrée à l’authentification multifacteur
Pour vous assurer que vous effectuez des appels d’API valides avec MFA, vous pouvez fournir une validateMfa dans votre en-tête de requête. Dans ce cas, recherchez l’isMfaCompliant dans la réponse :
Exemple de demande
GET https://api.partnercenter.microsoft.com/v1/customers/CustomerTenantId/users HTTP/1.1
...
ValidateMfa: true <-- Required header for MFA validation
...
Exemples d’en-têtes de réponse
...
isMfaCompliant: true <-- Key header indicating MFA compliance
...
PowerShell
Le module PowerShell de l’Espace partenaires peut être utilisé pour gérer les ressources de l’Espace partenaires. Il s’agit d’un projet open source géré par la communauté partenaire et non officiellement pris en charge par Microsoft. Vous pouvez obtenir de l’aide de la communauté ou ouvrir un problème sur GitHub si vous rencontrez un problème.
Vous pouvez utiliser le module PowerShell de l’Espace partenaires pour réduire l’infrastructure requise pour échanger un code d’autorisation pour un jeton d’accès. Cette méthode est facultative pour effectuer des appels REST de l’Espace partenaires.
Pour plus d’informations sur ce processus, consultez la documentation PowerShell du modèle d’application sécurisé .
Installez les modules PowerShell de l’ID Microsoft Entra et de l’Espace partenaires.
Install-Module AzureADInstall-Module PartnerCenterUtilisez la commande New-PartnerAccessToken pour effectuer le processus de consentement et capturer le jeton d’actualisation requis.
$credential = Get-Credential $token = New-PartnerAccessToken -ApplicationId 'xxxx-xxxx-xxxx-xxxx' -Scopes 'https://api.partnercenter.microsoft.com/user_impersonation' -ServicePrincipal -Credential $credential -Tenant 'yyyy-yyyy-yyyy-yyyy' -UseAuthorizationCodeNote
Le paramètre ServicePrincipal est utilisé avec la commande New-PartnerAccessToken , car une application Microsoft Entra avec un type de web/API est utilisée. Ce type d’application nécessite qu’un identificateur client et un secret soient inclus dans la demande de jeton d’accès. Lorsque la commande Get-Credential est appelée, vous êtes invité à entrer un nom d’utilisateur et un mot de passe. Entrez l’identificateur de l’application en tant que nom d’utilisateur. Entrez le secret d’application comme mot de passe. Lorsque la commande New-PartnerAccessToken est appelée, vous êtes invité à entrer à nouveau les informations d’identification. Entrez les informations d’identification du compte de service que vous utilisez. Ce compte de service doit être un compte partenaire disposant des autorisations appropriées.
Copiez la valeur du jeton d’actualisation.
$token.RefreshToken | clip
Vous devez stocker la valeur du jeton d’actualisation dans un référentiel sécurisé, tel qu’Azure Key Vault. Pour plus d’informations sur l’utilisation du module d’application sécurisée avec PowerShell, consultez l’article sur l’authentification multifacteur .