Biztonságos partneralkalmazás létrehozása
A biztonságos alkalmazásmodell-keretrendszert úgy implementálhatja, hogy létrehoz egy alkalmazást a felhőszolgáltatók (CSP-k) vagy a Vezérlőpult szállítói (CPV-k) számára.
Biztonságos alkalmazásmodell implementálása
Biztonságos alkalmazásmodell- engedélyezésének lépései
Fontos
Az Azure Active Directory (Azure AD) Graph 2023. június 30-ától elavult. A továbbiakban nem teszünk további befektetéseket az Azure AD Graphban. Az Azure AD Graph API-k nem rendelkeznek SLA-val vagy karbantartási kötelezettségvállalással a biztonsággal kapcsolatos javításokon túl. Az új funkciókba és funkciókba csak a Microsoft Graph-ban lehet befektetni.
Az Azure AD Graphot növekményes lépésekben kivonjuk, hogy elegendő ideje legyen az alkalmazások Microsoft Graph API-kba való migrálására. Egy későbbi időpontban, amikor bejelentjük, letiltjuk az új alkalmazások létrehozását az Azure AD Graph használatával.
További információ: Fontos: Az Azure AD Graph kivonása és a PowerShell-modul elavulása.
A Partnerközpont szolgáltatási főazonosító létrehozása
Először hozzon létre egy Microsoft Partnerközpont szolgáltatási fiókot a CSP-partner bérlőjében, ahol létre fog hozni egy több bérlőt kiszolgáló alkalmazást.
A CSP-partner bérlői esetében ennek a szolgáltatási főszereplőnek már léteznie kell. Ha nem, kövesse az alábbi lépéseket a létrehozáshoz.
Futtassa a következő parancsokat egy rendszergazdai PowerShell-ablakban.
- Telepítse az AzureAD-modult.
Install-Module Microsoft.Graph
- Futtassa a Connect-MgGraph parancsot, amely egy felhasználónevet és jelszót kér. Adja meg a bérlő rendszergazdai hitelesítő adatait.
Connect-MgGraph
- Hozzon létre egy Microsoft Partner Center szolgáltatási főszereplőt.
New-MgServicePrincipal -DisplayName "Microsoft Partner Center" -AppId 00001111-aaaa-2222-bbbb-3333cccc4444
Hozzon létre egy több-bérlős alkalmazást a CSP partner bérlőjében.
Az alábbi lépésekkel győződjön meg arról, hogy az újonnan létrehozott több-bérlős alkalmazáshoz az alábbi alkalmazástulajdonságok vannak beállítva.
- Bejelentkezés a portal.azure.com
- Válassza a Microsoft Entra ID-t és az alkalmazásregisztrációkat új több-bérlős regisztrációk létrehozásához.
- Válasszon egy felhasználói megjelenítendő nevet az alkalmazáshoz.
- Válassza a Támogatott fióktípust: Bármely szervezeti címtárban lévő fiókok (Bármely Microsoft Entra-címtár – Több-bérlős).
- Válasszon egy platform típust "Web".
- Az átirányítási URL-címnek az alkalmazás átirányítási URL-címének kell lennie, amely megjeleníti a partnernek a sikeres hozzájárulásról szóló üzenetet, és összegyűjt egy frissítési jogkivonatot. Győződjön meg arról, hogy az alkalmazás átirányítási 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ása során érkezett engedélyezési kódot.
- Menjen a(z)
Kezelés Tanúsítványok és titkos kulcsok +Új ügyféltitok az Ügyféltitkok fülön.
Jegyzet
A webalkalmazás Microsoft Entra-azonosítóban megadott beállításaiból a következő információkra lesz szüksége:
- Alkalmazásazonosító
- Alkalmazás titkos kódja
Engedélyek alkalmazása
Győződjön meg arról, hogy a következő engedélyek vannak beállítva a több-bérlős alkalmazáshoz.
Az API-engedély szakaszban:
Nem szabad közvetlen alkalmazásengedélyeket adni a több-bérlős alkalmazáshoz.
A Microsoft Graphhoz delegált engedélyek hozzáadásához kövesse az alábbi elérési utat:
-
API-engedélyek>Engedély hozzáadása>Microsoft API-k>Microsoft Graph>Delegált engedélyek
DelegatedAdminRelationship.ReadWrite.All User.Read.All
- Az alábbi útvonalat kövesse a delegált engedélyek hozzáadásához a Microsoft Partnerközpont - Grant Access Partner Center engedélyekhez a Delegált engedélyek alatt.
- API-engedélyek>Engedély hozzáadása>Az általam használt API-k>Microsoft Partnerközpont>Delegált engedélyek>Felhasználói megszemélyesítés
-
API-engedélyek>Engedély hozzáadása>Microsoft API-k>Microsoft Graph>Delegált engedélyek
Hozzájárulási hivatkozás megadása
Adja meg a partnernek a hozzájárulási hivatkozást, és kérje meg, hogy jelentkezzen be a szolgáltatásfiókjával, hogy jóváhagyja az alkalmazást, amely a szolgáltatásfiók nevében fog eljárni a partnerbérlőnél.
A CSP partner felhasználó -nak globális rendszergazdának és rendszergazdai ügynöknek kell lennie annak érdekében, hogy hozzájárulhasson a több-bérlős alkalmazáshoz.
Több bérlőt kiszolgáló alkalmazás
A több bérlős ApplicationID
-t az alkalmazásazonosítójára kell cserélni.
Lépjen az alkalmazásregisztrációkhoz, válassza ki az alkalmazás (ügyfél) azonosítóját, és a megadott helyen cserélje le.
Engedélyezési kód lekérése
A Microsoft Entra bejelentkezési hívásából be kell szereznie egy engedélyezési kódot a webalkalmazáshoz:
- Jelentkezzen be Microsoft Entra-azonosító.
- Cserélje le a(z) alkalmazásazonosítót a Microsoft Entra alkalmazásazonosítójára (GUID).
- Amikor a rendszer kéri, jelentkezzen be a felhasználói fiókjával, amikor az MFA be van állítva.
- Amikor a rendszer kéri, adjon meg más 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 a következő mintakód
https://localhost:44395/
-ra irányít át.
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code&redirect_url=https://<CSPApplicationUrl_which_collects_refreshtoken>
vagy
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code
Kínában használja az alábbi hivatkozást:
GET https://login.chinacloudapi.cn/common/oauth2/authorize ?&client_id= <CSPApplicationId>&response_type=code&redirect_url= https://<CSPApplicationUrl_which_collects_refreshtoken>
vagy
GET https://login.chinacloudapi.cn/common/oauth2/authorize?&client_id= <CSPApplicationId>&response_type=code
Engedélyezési kód híváskövetése: https://localhost:44395/?code=<authorization_code>&<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égpontjához
https://login.microsoftonline.com/CSPTenantID/oauth2/token
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 tokent.
- Tárolja a frissítési jogkivonatot az Azure Key Vaultban. További információ: Key Vault API dokumentációja.
Jegyzet
Az alábbi POST-mintahívásban említett erőforrások GDAP-Graph API-khoz tartoznak.
Más PC API-k erőforrásai a következők:
Partnerközpont API-k (https://api.partnercenter.microsoft.com
)
Partner API (https://api.partner.microsoft.com
)
Mintahívás
POST 'https://login.microsoftonline.com/<partnerTenantId>/oauth2/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--form 'grant_type="authorization_code"' \
--form 'client_id=<application_id or client_id>' \
--form 'resource="https://graph.microsoft.com"' \
--form 'code="<authorization_code>"'
Response Body:
{
"token_type": "Bearer",
"scope": "DelegatedAdminRelationship.ReadWrite.All User.Read.All",
"expires_in": "4549",
"ext_expires_in": "4549",
"expires_on": "1652886571",
"not_before": "1652881721",
"resource": "https://graph.microsoft.com",
"access_token": "Access_token",
"refresh_token": "Refresh_token",
"id_token": "Id_token"
}
Kulcstartó beállítása
Először hozzon létre egy új webalkalmazást a CSP-partner bérlőjében. Ha a CPV-alkalmazást a Partnerközpont API-k meghívására használják, a CPV-nek létre kell hoznia egy új webalkalmazást a CPV-partner bérlőjében.
Azure Key Vault használata esetén:
- Hozzon létre egy Azure Key Vaultot a megfelelő
<key-vault-name>
segítségével, ami egy DNS-nevet eredményez, például:https://<key-vault-name>.vault.azure.net
- Tegyünk hozzá egy frissítési tokent a kulcstárhoz.
Hozzáférés biztosítása a kulcstárhoz
A kulcstartó hozzáférési szabályzataiban adja hozzá a KeyVaultAccessApp programot azzal az engedéllyel, hogy csak a Titkos "Lekérdezés" és "Beállítás" szempontjait kezelhesse.
A prototípus konfigurálása
A prototípus két alkalmazásból áll:
-
partneri hozzájárulási: Olyan webalkalmazást jelöl, amely egy CSP-partner hozzájárulásának elfogadására és egy sikeres üzenet megjelenítésére szolgál.
- Ez az alkalmazás beállítja a hozzájárulást, és rögzíti a hozzájárulást adó felhasználó frissítési jogkivonatát.
- A hozzájárulást adott felhasználó frissítési jogkivonata kerül felhasználásra a CSP-partner bérlő hozzáférési jogkivonatának létrehozásához.
-
CSP-alkalmazás vagy CPV-alkalmazás: Egy elsődleges alkalmazást jelöl, amely partnerközpont API-kat és gráfokat hív meg.
- Az API-k kereskedelmi és felhasználói műveleteket hajtanak végre a partner nevében.
Ez az alkalmazás lekéri egy adott célközönség hozzáférési jogkivonatát (Partnerközpont API-k vagy Graph) a megfelelő API-k meghívása előtt. A kulcstárban biztonságosan tárolt frissítési jogkivonatot használja.
Partner-hozzájárulási alkalmazás (CSP)
CSP webkonfiguráció
A CSP-partneralkalmazás esetében a web.config
fájl a következő szakaszokat tartalmazza. Frissítse ezeket az értékeket a megfelelő alkalmazásazonosítókkal és titkos kódokkal. Az elsődleges alkalmazáshoz használjon "tanúsítványt" a webalkalmazás titkos kódjaként egyszerű titkos kódok helyett, mivel ez további biztonsági réteget biztosít.
<!-- AppID that represents CSP application -->
<add key="ida:CSPApplicationId" value="CSPApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment.
The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CSPApplicationSecret" value="CSPApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens --> <add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment.
The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
CSP-alkalmazáskonfiguráció
A CSP-partneralkalmazás esetében a app.config
fájl a következő szakaszokat tartalmazza. Frissítse az értékeket a megfelelő alkalmazásazonosítókkal és titkos kódokkal. Az elsődleges alkalmazáshoz használjon "tanúsítványt" a webalkalmazás titkos kódjaként egyszerű titkos kódok helyett, mivel ez további biztonsági réteget biztosít.
<!-- AppID that represents CSP application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de,
China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
Partner-hozzájárulási alkalmazás (CPV)
A CPV-alkalmazást használó CSP-k meghívhatják a ApplicationConsent API-, hogy létrehozzák a szolgáltatásnevet az ügyfélbérleményen, hogy hozzáférjenek a Microsoft Graphhoz az ügyfélbérlelők kezeléséhez. További információért, lásd: Partnerközpont hitelesítés.
CPV-webkonfiguráció
A CSP-partneralkalmazás esetében a web.config
fájl a következő szakaszokat tartalmazza. Frissítse ezeket az értékeket a megfelelő alkalmazásazonosítókkal és titkos kódokkal. Az elsődleges alkalmazáshoz használjon "tanúsítványt" a webalkalmazás titkos kódjaként egyszerű titkos kódok helyett, mivel ez további biztonsági réteget biztosít.
<!-- AppID that represents Control panel vendor application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />
CPV-alkalmazáskonfiguráció
A CPV-partneralkalmazás esetében a app.config
fájl a következő szakaszokat tartalmazza. Frissítse az értékeket a megfelelő alkalmazásazonosítókkal és titkos kódokkal. Az elsődleges alkalmazáshoz használjon "tanúsítványt" a webalkalmazás titkos kódjaként egyszerű titkos kódok helyett, mivel ez további biztonsági réteget biztosít.
<!-- AppID that represents Control panel vendor application -->
<add key="ida:CPVApplicationId" value="CPVApplicationIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:CPVApplicationSecret" value="CPVApplicationSecretValue" />
<!-- AppID that is given access for keyvault to store the refresh tokens -->
<add key="ida:KeyVaultClientId" value="KeyVaultClientIdValue" />
<!--
Please use certificate as your client secret and deploy the certificate to your environment. The following application secret is for sample application only. please do not use secret directly from the config file.
-->
<add key="ida:KeyVaultClientSecret" value="KeyVaultClientSecretValue" />
<!-- AAD instance: Global is .com, for different national clouds it changes German cloud: .de, China cloud: login.chinacloudapi.cn -->
<add key="ida:AADInstance" value="https://login.microsoftonline.com/" />