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:

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:

  1. Webalkalmazás létrehozása

Webalkalmazás létrehozása

  1. Jelentkezzen be az Azure Portalra.

  2. Microsoft Entra-alkalmazás létrehozása.

  3. 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.

    1. Microsoft Partnerközpont (egyes bérlők a SampleBECAppot jelenítik meg)

    2. Azure Management API-k (ha Azure API-kat szeretne meghívni)

    3. Windows Azure Active Directory

  4. 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.

  5. 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:

  1. 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).

  2. Cserélje le az alkalmazásazonosítót a Microsoft Entra-alkalmazásazonosítóra (GUID).

  3. Amikor a rendszer kéri, jelentkezzen be a felhasználói fiókjával az MFA konfigurálva.

  4. 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.

  5. 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:

  1. 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.

  2. Jegyezze fel a visszaadott frissítési jogkivonatot.

  3. 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.

  1. Telepítse a Microsoft Entra ID és a Partnerközpont PowerShell-moduljait.

    Install-Module AzureAD
    
    Install-Module PartnerCenter
    
  2. 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.

  3. 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.