A biztonságos alkalmazásmodellek keretrendszerének 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. Az ezen a csatornán keresztül vásárló ügyfeleknek nagy megbízhatósági kapcsolatot kell biztosítaniuk abban a partnerben, amelytől vásárolnak, mert a partnervállalat magas jogosultságú rendszergazdai hozzáféréssel rendelkezik az ügyfélbérlelőhöz.
Hatókör
Ez a cikk a CSP-ket és a CPV-ket egyaránt érinti.
CPV-k
- A CPV-k olyan független szoftverszállítók, amelyek a CSP-partnerek által a Partner Center API-kkal való integrációhoz használható alkalmazásokat fejlesztenek.
- 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 tekintse meg a partner biztonsági követelményeit.
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éért és részleteiért tekintse meg a Biztonságos alkalmazásmodell keretrendszert, amely azokat az alapelveket és ajánlott eljárásokat ismerteti, amelyekkel fenntarthatóvá és robusztussá teheti a piactéri alkalmazásokat a biztonsági kompromisszumoktől.
Példá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-val kezelheti a Partnerközpont erőforrásait. 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, segítséget kérhet a közösségtől, vagy problémákat nyithat meg a GitHubon.
REST
Ha REST-hívásokat szeretne kezdeményezni a Biztonságos alkalmazásmodell keretrendszerrel mintakóddal, kövesse az alábbi lépéseket:
- A biztonságos alkalmazásmodellek keretrendszerének engedélyezése
- A biztonságos alkalmazásmodellek keretrendszerének engedélyezése
Webalkalmazás létrehozása
Jelentkezzen be az Azure Portalra.
Microsoft Entra-alkalmazás létrehozása.
Adjon delegált alkalmazásengedélyeket az alábbi erőforrásoknak az alkalmazás követelményeinek megfelelően. Szükség esetén további delegált engedélyeket adhat hozzá az alkalmazáserőforrásokhoz.
Microsoft Partnerközpont (egyes bérlők a SampleBECAppot jelenítik meg)
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 engedélyezési kódját . A következő szakaszban található példakódban például a webalkalmazás a következő helyen
https://localhost:44395/
fut.Vegye figyelembe a webalkalmazás Microsoft Entra-azonosítóban megadott beállításainak alábbi adatait:
- Pályázat azonosítója
- Alkalmazás titkos kódja
Feljegyzés
Ajánlott tanúsítványt használni az alkalmazás titkos kódjaként. Az Alkalmazáskulcsot azonban az Azure Portalon is létrehozhatja. A következő szakaszban szereplő 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-azonosítóba.
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 az alkalmazásazonosítót a Microsoft Entra-alkalmazásazonosítóra (GUID).
Amikor a rendszer kéri, jelentkezzen be a felhasználói fiókjával az MFA konfigurálva.
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. A következő mintakód például a következőre irányítja át a
https://localhost:44395/
következő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:
POST-hívást kezdeményezhet a Microsoft Entra bejelentkezési végpontja
https://login.microsoftonline.com/CSPTenantID/oauth2/token
felé az engedélyezési kóddal. Példaként tekintse meg a következő mintahí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ókért tekintse meg a Key Vault API dokumentációját.
Fontos
A frissítési jogkivonatot titkos kulcsként kell tárolni a Key Vaultban.
Minta frissítési hívás
Helyőrző 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érés törzse:
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 törzse:
{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","ext_expires_in":"3599","expires_on":"1547579127","not_before":"1547575227","resource":"https://api.partnercenter.microsoft.com","access_token":"Access
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).
Helyőrző 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érés törzse:
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
Válasz törzse:
{"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 a Partnerközpont erőforrásainak kezelésére használható. 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, segítséget kérhet a közösségtől, vagy problémákat nyithat meg a GitHubon.
A Partnerközpont PowerShell-modullal 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ő a Partnerközpont REST-hívásainak indításához.
A folyamatról további információt a 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 New-PartnerAccessToken paranccsal hajtsa végre a jóváhagyási folyamatot, és rögzítse a szükséges frissítési jogkivonatot.
$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
Feljegyzés
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. A Get-Credential parancs meghívásakor 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. A New-PartnerAccessToken parancs meghívása után 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 jogkivonat é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ésről szóló cikkben talál.