Povolení architektury 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ří si kupují prostřednictvím tohoto kanálu, musí partnerovi, od kterého nakupují, důvěřovat, protože partnerský podnik má přístup správce s vysokými oprávněními k tenantovi zákazníka.
Obor
Tento článek se týká poskytovatelů cloudových služeb i sdílených svazků clusteru.
Dodavatelé ovládacích panelů (CPV)
- Dodavatel ovládacích panelů (CPV) je nezávislý výrobce softwaru, který vyvíjí aplikace, které můžou partneři CSP integrovat 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.
Csp
- 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í zosobnit oprávnění partnera CSP pro volání rozhraní API Microsoftu. Ú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é ověřovací platformě najdete v rámci architektury 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 přístupu k aplikacím z marketplace z bezpečnostních kompromisů.
Ukázky
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:
-
Sadu Java SDK Partnerského centra je možné použít ke správě prostředků Partnerského centra. 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 GitHubu .
REST
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:
- Povolení architektury zabezpečeného aplikačního modelu
- Povolení architektury zabezpečeného aplikačního modelu
Vytvoření webové aplikace
Přihlaste se k portálu Azure.
Vytvořte aplikaci Microsoft Entra.
V závislosti na požadavcích vaší aplikace udělte delegovaným aplikacím oprávnění k následujícím prostředkům. V případě potřeby můžete přidat další delegovaná oprávnění pro prostředky aplikace.
Partnerské centrum Microsoftu (u některých tenantů se zobrazuje SampleBECApp)
Rozhraní API pro správu Azure (pokud plánujete volat rozhraní API Azure)
Windows Azure Active Directory
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 je webová aplikace spuštěná na
https://localhost:44395/
adrese .Poznamenejte si následující informace z nastavení vaší webové aplikace v Microsoft Entra ID:
- ID aplikace
- Tajný kód aplikace
Poznámka:
Jako tajný klíč aplikace se doporučuje použít certifikát. 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ý bude přijímat z přihlašovacího volání Microsoft Entra:
Přihlaste se k 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).
Nahraďte ID aplikace svým ID aplikace Microsoft Entra (GUID).
Po zobrazení výzvy se přihlaste pomocí uživatelského účtu s nakonfigurovaným vícefaktorovým ověřováním.
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í.
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í ukázkový 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:
Volání POST do koncového bodu
https://login.microsoftonline.com/CSPTenantID/oauth2/token
přihlášení Microsoft Entra pomocí autorizačního kódu Příklad najdete v následujícím ukázkovém volání.Poznamenejte si vrácený obnovovací token.
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é
Token obnovení musí být uložený jako tajný klíč 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
Text požadavku:
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":"3599","ext_expires_in":"3599","expires_on":"1547579127","not_before":"1547575227","resource":"https://api.partnercenter.microsoft.com","access_token":"Access
Získání přístupového tokenu
Než budete moct volat rozhraní API Partnerského centra, musíte 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).
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: 1212
Expect: 100-continue
Text požadavku:
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
Modul PowerShellu v Partnerském centru se dá použít ke správě prostředků Partnerského centra. 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 GitHubu .
Pomocí modulu PowerShellu v Partnerském centru můžete snížit požadovanou infrastrukturu pro výměnu autorizačního kódu pro přístupový token. Tato metoda je volitelná pro volání REST v Partnerském centru.
Další informace o tomto procesu najdete v dokumentaci k PowerShellu modelu zabezpečených aplikací.
Nainstalujte moduly PowerShellu pro Microsoft Entra ID a Partnerské centrum.
Install-Module AzureAD
Install-Module PartnerCenter
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 webu nebo rozhraní 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.
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 o vícefaktorovém ověřování .