Sdílet prostřednictvím


Povolení rámce zabezpečeného aplikačního modelu

Microsoft zavádí zabezpečenou škálovatelnou architekturu pro ověřování partnerů CSP (Cloud Solution Provider) a dodavatelů ovládacích panelů (CPV) prostřednictvím architektury Vícefaktorového ověřování Microsoftu (MFA).

Pomocí nového modelu můžete zvýšit zabezpečení pro volání integrace rozhraní API Partnerského centra. To pomáhá všem stranám (včetně partnerů Microsoftu, partnerů CSP a CPV) chránit svou infrastrukturu a zákaznická data před riziky zabezpečení.

Program CSP umožňuje zákazníkům nakupovat produkty a služby Microsoftu prostřednictvím partnerů. Podle smlouvy s Microsoftem musí partneři spravovat prostředí pro zákazníky, kteří prodávají a poskytují podporu. Zákazníci, kteří nakupují tímto kanálem, musí mít vysokou míru důvěry v partnera, od kterého nakupují, protože partnerský podnik má administrátorský přístup s vysokými oprávněními k tenantovi zákazníka.

Rozsah

Tento článek se týká poskytovatelů cloudových služeb i dodavatelů cloudových platforem.

CPVs

  • CPV je nezávislý dodavatel softwaru, který vyvíjí aplikace pro použití partnery CSP pro integraci s rozhraními API Partnerského centra.
  • CPV není partner CSP s přímým přístupem k Partnerskému centru ani rozhraním API.

Poskytovatelé cloudových služeb

  • Nepřímí poskytovatelé CSP a přímí partneři CSP, kteří používají ID aplikace + ověřování uživatelů a přímo se integrují s rozhraními API Partnerského centra.

Požadavky na zabezpečení

Podrobnosti o požadavcích na zabezpečení najdete v tématu Požadavky na zabezpečení partnerů.

Zabezpečený aplikační model

Aplikace z Marketplace musí převzít oprávnění partnerů CSP pro volání Microsoft API. Útoky na zabezpečení na tyto citlivé aplikace můžou vést k ohrožení zákaznických dat.

Přehled a podrobnosti o novém ověřovacím rámci najdete v rámci zabezpečeného aplikačního modelu, který se zabývá principy a osvědčenými postupy pro zajištění udržitelného a robustního zabezpečení aplikací před kompromitacemi v oblasti zabezpečení.

Vzorky

Následující přehledové dokumenty a ukázkový kód popisují, jak můžou partneři implementovat architekturu zabezpečeného aplikačního modelu:

ODPOČINEK

Pokud chcete provádět volání REST pomocí architektury Zabezpečeného aplikačního modelu s ukázkovým kódem, postupujte takto:

  1. Vytvoření webové aplikace

Vytvoření webové aplikace

  1. Přihlaste se k portálu Azure.

  2. Vytvořte aplikaci Microsoft Entra.

  3. Udělte delegovaným aplikacím oprávnění k následujícím prostředkům, v závislosti na požadavcích vaší aplikace. V případě potřeby můžete přidat další delegovaná oprávnění pro prostředky aplikace.

    1. Partnerské centrum Microsoftu (někteří nájemci zobrazují SampleBECApp)

    2. rozhraní API pro správu Azure (pokud máte v plánu používat rozhraní API Azure)

    3. Windows Azure Active Directory

  4. Ujistěte se, že je domovská adresa URL vaší aplikace nastavená na koncový bod, na kterém je spuštěná živá webová aplikace. Tato aplikace musí přijmout autorizační kód z přihlašovacího volání Microsoft Entra. Například v ukázkovém kódu v následující části, webová aplikace běží na https://localhost:44395/.

  5. Poznamenejte si následující informace z nastavení vaší webové aplikace v Microsoft Entra ID:

    • ID aplikace
    • Tajný kód aplikace

Poznámka

Doporučuje se použít certifikát jako tajný kód aplikace. Klíč aplikace ale můžete vytvořit také na webu Azure Portal. Vzorový kód v následující části používá klíč aplikace.

Získání autorizačního kódu

Musíte získat autorizační kód pro vaši webovou aplikaci, který přijmete z přihlašovacího procesu Microsoft Entra.

  1. Přihlaste se do Microsoft Entra ID .

    Nezapomeňte se přihlásit pomocí uživatelského účtu, ze kterého voláte rozhraní API Partnerského centra (například agenta pro správu nebo účet obchodního agenta).

  2. Nahraďte ID aplikace id vaší aplikace Microsoft Entra (GUID).

  3. Po zobrazení výzvy se přihlaste pomocí uživatelského účtu s nakonfigurovaným vícefaktorovým ověřováním.

  4. Po zobrazení výzvy zadejte další informace o vícefaktorového ověřování (telefonní číslo nebo e-mailovou adresu) a ověřte přihlášení.

  5. Po přihlášení prohlížeč přesměruje volání do koncového bodu webové aplikace pomocí autorizačního kódu. Například následující vzorový kód přesměruje na https://localhost:44395/.

Trasování volání autorizačního kódu

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>

Získání obnovovacího tokenu

Potom musíte použít autorizační kód k získání obnovovacího tokenu:

  1. Proveďte POST volání do koncového bodu přihlášení Microsoft Entra https://login.microsoftonline.com/CSPTenantID/oauth2/token s autorizačním kódem. Příklad najdete v následujícím ukázkovém volání.

  2. Poznamenejte si vrácený obnovovací token.

  3. Uložte obnovovací token ve službě Azure Key Vault. Další informace najdete v dokumentaci k rozhraní API služby Key Vault.

Důležitý

Obnovovací token musí být uložen jako tajný kód ve službě Key Vault.

Ukázkové volání aktualizace

Zástupný požadavek:

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

Tělo žádosti:

resource=https%3a%2f%2fapi.partnercenter.microsoft.com&client_id=Application-Id&client_secret=Application-Secret&grant_type=authorization_code&code=AuthorizationCodeValue

Zástupná odpověď

HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Content-Type: application/json; charset=utf-8

Text odpovědi:

{"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"}

Získání přístupového tokenu

Abyste mohli volat rozhraní API Partnerského centra, musíte nejprve získat přístupový token. K získání přístupového tokenu musíte použít obnovovací token, protože přístupové tokeny mají obecně omezenou životnost (například méně než hodinu).

Požadavek na zástupný symbol:

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

Tělo žádosti

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

Zástupná odpověď

HTTP/1.1 200 OK
Cache-Control: no-cache, no-store
Content-Type: application/json; charset=utf-8

Text odpovědi:

{"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"}

Volání rozhraní API Partnerského centra

Přístupový token musíte použít k volání rozhraní API Partnerského centra. Podívejte se na následující příklad volání.

Příklad volání rozhraní API Partnerského centra

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

K správě prostředků v Partnerském centru je možné použít modul PowerShell . Jedná se o opensourcový projekt spravovaný komunitou partnerů, který oficiálně nepodporuje Microsoft. Pokud narazíte na problém, můžete získat pomoc od komunity nebo otevřít problém na Git Hubu.

K omezení požadované infrastruktury výměny autorizačního kódu pro přístupový token můžete použít modul powershellového modulu Partnerského centra. Tato metoda je volitelná pro provádění volání REST v Partnerském centru.

Další informace o tomto procesu najdete v dokumentaci modelu zabezpečené aplikace PowerShellu.

  1. Nainstalujte moduly PowerShellu pro Microsoft Entra ID a Partnerské centrum.

    Install-Module AzureAD
    
    Install-Module PartnerCenter
    
  2. Pomocí příkazu New-PartnerAccessToken proveďte proces souhlasu a zachyťte požadovaný obnovovací token.

    $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
    

    Poznámka

    Parametr ServicePrincipal se používá s příkazem New-PartnerAccessToken, protože se používá aplikace Microsoft Entra s typem web/api. Tento typ aplikace vyžaduje, aby byl do žádosti o přístupový token zahrnutý identifikátor klienta a tajný klíč. Po vyvolání příkazu Get-Credential se zobrazí výzva k zadání uživatelského jména a hesla. Jako uživatelské jméno zadejte identifikátor aplikace. Jako heslo zadejte tajný kód aplikace. Po vyvolání příkazu New-PartnerAccessToken se zobrazí výzva k opětovnému zadání přihlašovacích údajů. Zadejte přihlašovací údaje pro účet služby, který používáte. Tento účet služby by měl být partnerským účtem s příslušnými oprávněními.

  3. Zkopírujte hodnotu obnovovacího tokenu.

    $token.RefreshToken | clip
    

Hodnotu obnovovacího tokenu byste měli uložit v zabezpečeném úložišti, jako je Azure Key Vault. Další informace o tom, jak používat zabezpečený modul aplikace s PowerShellem, najdete v článku vícefaktorové ověřování.