A Biztonságos alkalmazásmodell keretrendszer engedélyezése
A Microsoft egy biztonságos, méretezhető keretrendszert vezet be a felhőszolgáltatói (CSP-) partnerek és vezérlőpult-gyártók (CPV) hitelesítéséhez a Microsoft Entra többtényezős hitelesítési (MFA) architektúrán keresztül.
Az új modell használatával emelheti a partnerközpont API-integrációs hívásainak biztonságát. Ez segít minden félnek (beleértve a Microsoftot, a CSP-partnereket és a CPV-ket) az infrastruktúra és az ügyféladatok biztonsági kockázatok elleni védelmében.
A CSP program lehetővé teszi az ügyfelek számára, hogy Microsoft-termékeket és szolgáltatásokat vásároljanak a partnereken keresztül. A Microsofttal kötött megállapodás értelmében a partnereknek kezelniük kell a környezetet azoknak az ügyfeleknek, akik számára értékesítik őket, és támogatást nyújtanak. Azoknak az ügyfeleknek, akik ezen a csatornán keresztül vásárolnak, nagy bizalommal kell lenniük az iránt a partner iránt, akitől vásárolnak, mert a partnervállalat magas szintű adminisztrátori hozzáféréssel rendelkezik az ügyfélbérlőhöz.
Hatókör
Ez a cikk a CSP-ket és a CPV-ket egyaránt érinti.
CPV-k
- A CPV egy független szoftvergyártó, amely a CSP-partnerek által a Partnerközpont API-kkal való integrációhoz használható alkalmazásokat fejleszt.
- A CPV nem olyan CSP-partner, amely közvetlen hozzáféréssel rendelkezik a Partnerközponthoz vagy API-khoz.
CSP-k
- Közvetett CSP-szolgáltatók és közvetlen CSP-partnerek, akik alkalmazásazonosítót + felhasználói hitelesítést használnak, és közvetlenül integrálhatók a Partnerközpont API-ival.
Biztonsági követelmények
A biztonsági követelményekkel kapcsolatos részletekért lásd partnerbiztonsági követelmények.
Biztonságos alkalmazásmodell
A Marketplace-alkalmazásoknak meg kell megszemélyesítenie a CSP-partnerek jogosultságait a Microsoft API-k meghívásához. A bizalmas alkalmazások biztonsági támadásai az ügyféladatok sérüléséhez vezethetnek.
Az új hitelesítési keretrendszer áttekintését és részleteit a Biztonságos alkalmazásmodell keretrendszercímű cikkben találja, amely a piactéri alkalmazások biztonsági kompromisszumokkal való fenntarthatóvá és robusztussá tételének alapelveit és ajánlott eljárásait ismerteti.
Minták
Az alábbi áttekintő dokumentumok és mintakód azt ismertetik, hogy a partnerek hogyan implementálhatják a biztonságos alkalmazásmodell-keretrendszert:
-
A Partnerközpont Java SDK használható a Partnerközpont erőforrásainak kezelésére. Ez egy nyílt forráskódú projekt, amelyet a partnerközösség tart fenn, és amelyet a Microsoft hivatalosan nem támogat. Ha problémát tapasztal, kérhet segítséget a közösségtől, vagy hozzon létre egy hibajegyet a GitHubon.
PIHENÉS
Ha REST-hívásokat szeretne kezdeményezni a Biztonságos alkalmazásmodell keretrendszerrel mintakóddal, kövesse az alábbi lépéseket:
- Biztonságos alkalmazásmodell keretrendszer engedélyezése
- Biztonságos alkalmazásmodell keretrendszer engedélyezése
Webalkalmazás létrehozása
Jelentkezzen be a Azure portálra.
Microsoft Entra-alkalmazás létrehozása.
Adjon delegált alkalmazásengedélyeket a következő erőforrásoknak, az alkalmazás követelményeitől függően. Szükség esetén további delegált engedélyeket adhat hozzá az alkalmazáserőforrásokhoz.
Microsoft Partnerközpont (egyes felhasználók SampleBECApp)
Azure Management API-k (ha Azure API-kat szeretne meghívni)
Windows Azure Active Directory
Győződjön meg arról, hogy az alkalmazás otthoni URL-címe olyan végpontra van állítva, ahol egy élő webalkalmazás fut. Az alkalmazásnak el kell fogadnia a Microsoft Entra bejelentkezési hívásából a azonosító kódot. A következő szakaszban található példakódban például a webalkalmazás
https://localhost:44395/
fut.Vegye figyelembe a webalkalmazás Microsoft Entra-azonosítóban megadott beállításainak alábbi adatait:
- Alkalmazásazonosító
- Alkalmazás titkos kódja
Jegyzet
Javasoljuk, hogy használjon tanúsítványt az alkalmazás titkos kulcsaként. Az Alkalmazáskulcsot azonban az Azure Portalon is létrehozhatja. A következő szakaszban található mintakód egy alkalmazáskulcsot használ.
Engedélyezési kód lekérése
Be kell szereznie egy engedélyezési kódot a webalkalmazáshoz a Microsoft Entra bejelentkezési hívásából való elfogadáshoz:
Jelentkezzen be a Microsoft Entra ID-fiókba.
Mindenképpen jelentkezzen be azzal a felhasználói fiókkal, amelyből Partner Center API-hívásokat kezdeményez (például rendszergazdai ügynököt vagy értékesítési ügynökfiókot).
Cserélje le alkalmazásazonosító a Microsoft Entra alkalmazásazonosítóra (GUID).
Amikor a rendszer kéri, jelentkezzen be a felhasználói fiókjába, ahol a többfaktoros hitelesítés konfigurálva van.
Amikor a rendszer kéri, adjon meg további MFA-adatokat (telefonszámot vagy e-mail-címet) a bejelentkezés ellenőrzéséhez.
Miután bejelentkezett, a böngésző átirányítja a hívást a webalkalmazás végpontjához az ön engedélyezési kódjával. Például az alábbi mintakód a
https://localhost:44395/
-ra irányítja át.
Engedélyezési kód hívásának nyomkövetése
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>
Frissítési jogkivonat lekérése
Ezután az engedélyezési kóddal le kell szereznie egy frissítési jogkivonatot:
Hajtson végre egy POST hívást a Microsoft Entra bejelentkezési végpont
https://login.microsoftonline.com/CSPTenantID/oauth2/token
-ra az engedélyezési kóddal. Példaként tekintse meg a következő minta hívást.Jegyezze fel a visszaadott frissítési jogkivonatot.
A frissítési jogkivonat tárolása az Azure Key Vaultban. További információ: Key Vault API dokumentációja.
Minta frissítési hívás
Helykitöltő kérés:
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
Kérelem törzsadatai:
resource=https%3a%2f%2fapi.partnercenter.microsoft.com&client_id=Application-Id&client_secret=Application-Secret&grant_type=authorization_code&code=AuthorizationCodeValue
Helyőrző válasz:
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Content-Type: application/json; charset=utf-8
Válasz tartalma:
{"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"}
Hozzáférési jogkivonat lekérése
Ahhoz, hogy hívásokat kezdeményezhessen a Partnerközpont API-kkal, be kell szereznie egy hozzáférési jogkivonatot. A hozzáférési jogkivonat beszerzéséhez frissítési jogkivonatot kell használnia, mert a hozzáférési jogkivonatok élettartama általában korlátozott (például kevesebb mint egy óra).
Helykitöltő kérés:
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
Kérelem szövege
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
Helyőrző válasz:
HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Content-Type: application/json; charset=utf-8
A válasz szövege:
{"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"}
Partnerközpont API-hívások kezdeményezése
A Partnerközpont API-k meghívásához a hozzáférési jogkivonatot kell használnia. Tekintse meg a következő példahívást.
Példa Partnerközpont API-hívására
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
PowerShell
A Partnerközpont PowerShell-modulja használható a Partnerközpont erőforrásainak kezelésére. Ez egy nyílt forráskódú projekt, amelyet a partnerközösség tart fenn, és amelyet a Microsoft hivatalosan nem támogat. Ha problémát tapasztal, kérhet segítséget a közösségtől, vagy nyisson meg egy problémát a GitHub.
A Partnerközpont PowerShell-moduljának használatával csökkentheti a szükséges infrastruktúrát egy hozzáférési jogkivonat engedélyezési kódjának cseréjéhez. Ez a módszer nem kötelező Partnerközpont REST-hívásainak.
A folyamatról további információt Biztonságos alkalmazásmodell PowerShell-dokumentációjában talál.
Telepítse a Microsoft Entra ID és a Partnerközpont PowerShell-moduljait.
Install-Module AzureAD
Install-Module PartnerCenter
A hozzájárulási folyamat végrehajtásához és a szükséges frissítési jogkivonat rögzítéséhez használja a New-PartnerAccessToken parancsot.
$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' -UseAuthorizationCode
Jegyzet
A ServicePrincipal paramétert a New-PartnerAccessToken paranccsal használja a rendszer, mert egy Web/API típusú Microsoft Entra-alkalmazást használ. Ez az alkalmazástípus megköveteli, hogy egy ügyfélazonosító és titkos kód szerepeljen a hozzáférési jogkivonat-kérelemben. Amikor meghívja a Get-Credential parancsot, a rendszer kérni fogja, hogy adjon meg egy felhasználónevet és jelszót. Adja meg az alkalmazásazonosítót felhasználónévként. Adja meg jelszóként az alkalmazás titkos kódjának nevét. Amikor meghívja a New-PartnerAccessToken parancsot, a rendszer kérni fogja, hogy adja meg újra a hitelesítő adatokat. Adja meg a használt szolgáltatásfiók hitelesítő adatait. Ennek a szolgáltatásfióknak megfelelő engedélyekkel rendelkező partnerfióknak kell lennie.
Másolja ki a frissítési token értékét.
$token.RefreshToken | clip
A frissítési jogkivonat értékét egy biztonságos adattárban kell tárolnia, például az Azure Key Vaultban. A biztonságos alkalmazásmodul PowerShell-lel való használatáról további információt a többtényezős hitelesítés című cikkben talál.