Güvenli iş ortağı uygulaması oluşturma
Bulut Çözümü Sağlayıcısı (CSP) veya Denetim Masası Satıcıları (CPV) için bir uygulama oluşturarak Güvenli Uygulama Modeli çerçevesini uygulayabilirsiniz.
Güvenli uygulama modeli uygulama
Güvenli uygulama modelini etkinleştirme adımları
Önemli
Azure Active Directory (Azure AD) Graph, 30 Haziran 2023 itibarıyla kullanım dışı bırakılmıştır. Bundan sonra Azure AD Graph'a başka yatırım yapmayız. Azure AD Graph API'lerinin güvenlikle ilgili düzeltmelerin ötesinde SLA veya bakım taahhüdü yoktur. Yeni özelliklere ve işlevlere yapılan yatırımlar yalnızca Microsoft Graph'ta yapılacaktır.
Uygulamalarınızı Microsoft Graph API'lerine geçirmek için yeterli zamanınız olması için Azure AD Graph'ı artımlı adımlarla kullanımdan alacağız. Duyuracağımız sonraki bir tarihte, Azure AD Graph kullanarak yeni uygulamaların oluşturulmasını engelleyeceğiz.
Daha fazla bilgi edinmek için bkz . Önemli: Azure AD Graph Kullanımdan Kaldırma ve PowerShell Modülü Kullanımdan Kaldırma.
İş Ortağı Merkezi hizmet sorumlusu oluşturma
İlk olarak, CSP iş ortağının kiracısında çok kiracılı uygulamanın oluşturulacağı bir Microsoft İş Ortağı Merkezi hizmet sorumlusu oluşturun.
CSP iş ortağı kiracıları için bu hizmet sorumlusu zaten mevcut olmalıdır. Aksi takdirde, aşağıdaki adımları kullanarak oluşturun.
Yönetici PowerShell penceresinde aşağıdaki komutları çalıştırın.
- AzureAD modülünü yükleyin.
Install-Module Microsoft.Graph
- Bağlan-MgGraph komutunu çalıştırın. Bu, kullanıcı adı ve parola ister. Kiracı yöneticisi kimlik bilgilerini girin.
Connect-MgGraph
- Microsoft İş Ortağı Merkezi hizmet sorumlusu oluşturun.
New-MgServicePrincipal -DisplayName "Microsoft Partner Center" -AppId fa3d9a0c-3fb0-42cc-9193-47c7ecd2edbd
CSP iş ortağının kiracısında çok kiracılı bir uygulama oluşturma
Yeni oluşturulan çok kiracılı uygulama için aşağıdaki uygulama özelliklerinin ayarlandığından emin olmak için aşağıdaki adımları kullanın.
- portal.azure.com oturum açın
- Çok kiracılı yeni kayıtlar oluşturmak için Microsoft Entra Id ve Uygulama kayıtları'ı seçin.
- Uygulamanız için kullanıcıya yönelik bir görünen ad seçin.
- Desteklenen hesap türü' nü seçin: Herhangi bir kuruluş dizinindeki hesaplar (Herhangi bir Microsoft Entra dizini - Çok Kiracılı).
- "Web" platform türünü seçin.
- Yeniden Yönlendirme URL'si, iş ortağına onay başarılı iletisini gösterecek ve bir yenileme belirteci toplayacak olan uygulama yeniden yönlendirme URL'niz olmalıdır. Uygulamanızın yeniden yönlendirme URL'sinin canlı bir web uygulamasının çalıştığı bir uç noktaya ayarlandığından emin olun. Bu uygulamanın Microsoft Entra oturum açma çağrısından yetkilendirme kodunu kabul etmesi gerekir.
- İstemci gizli dizileri sekmesinde Sertifikaları Yönet>& gizli diziler>+Yeni istemci gizli dizisi'ne gidin.
Not
Microsoft Entra Id'de web uygulamanızın ayarlarından aşağıdaki bilgilere ihtiyacınız olacaktır:
- Uygulama Kimliği
- Uygulama gizli anahtarı
İzinleri uygulama
Çok kiracılı uygulama için aşağıdaki izinlerin ayarlandığından emin olun.
API izni bölümünde:
Çok kiracılı uygulama için doğrudan Uygulama İzinleri olmamalıdır.
Microsoft Graph için Temsilci izinleri eklemek için aşağıdaki yolu izleyin:
- API İzinleri>İzin>ekleme Microsoft API'leri>Microsoft Graph>Temsilci İzinleri
DelegatedAdminRelationship.ReadWrite.All User.Read.All
- Microsoft İş Ortağı Merkezi için Temsilcili izinler eklemek için aşağıdaki yolu izleyin - Temsilci İzinleri altında Erişim İş Ortağı Merkezi izinleri verin:
- API İzinleri>Kuruluşum Microsoft İş Ortağı Merkezi>Temsilci İzinleri Kullanıcı Kimliğe Bürünme kullanıyor>İzin API'leri ekleme>>
- API İzinleri>İzin>ekleme Microsoft API'leri>Microsoft Graph>Temsilci İzinleri
Onay ver bağlantısı
İş ortağına onay bağlantısını sunun ve uygulamanın iş ortağı kiracısında hizmet hesabı adına hareket etmesi için hizmet hesabıyla oturum açmasını sağlayın.
CSP iş ortağı kullanıcının, çok kiracılı uygulamayı kabul etmesi için Genel Yönetici ve Yönetici Aracısı olması gerekir.
Çok kiracılı uygulama
Çok kiracının ApplicationID
Uygulama Kimliğinizle değiştirilmesi gerekir.
Uygulama Kayıtları'na gidin ve Uygulama (İstemci) Kimliğini seçin ve aşağıdakini değiştirin.
Yetkilendirme kodunu alma
Microsoft Entra oturum açma çağrısından web uygulamanız için bir yetkilendirme kodu almanız gerekir:
- Microsoft Entra Id'de oturum açın.
- Application-Id değerini Microsoft Entra uygulama kimliğiniz (GUID) ile değiştirin.
- İstendiğinde MFA yapılandırılmış kullanıcı hesabınızla oturum açın.
- İstendiğinde, oturum açma bilgilerinizi doğrulamak için diğer MFA bilgilerini (telefon numarası veya e-posta adresi) girin.
- Oturum açtıktan sonra tarayıcı, çağrıyı yetkilendirme kodunuzla web uygulaması uç noktanıza yönlendirir. Örneğin, aşağıdaki örnek kod adresine
https://localhost:44395/
yönlendirilir.
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code&redirect_url=https://<CSPApplicationUrl_which_collects_refreshtoken>
veya
GET https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<CSPApplicationId>&response_type=code
Çin için aşağıdaki bağlantıyı kullanın:
GET https://login.chinacloudapi.cn/common/oauth2/authorize ?&client_id= <CSPApplicationId>&response_type=code&redirect_url= https://<CSPApplicationUrl_which_collects_refreshtoken>
veya
GET https://login.chinacloudapi.cn/common/oauth2/authorize?&client_id= <CSPApplicationId>&response_type=code
Yetkilendirme kodu çağrı izlemesi: https://localhost:44395/?code=<authorization_code>&<rest of properties for state>
Yenileme belirtecini alma
Ardından yenileme belirteci almak için yetkilendirme kodunuzu kullanmanız gerekir:
- Yetkilendirme koduyla Microsoft Entra oturum açma uç noktasına
https://login.microsoftonline.com/CSPTenantID/oauth2/token
POST çağrısı yapın. Bir örnek için aşağıdaki örnek çağrıya bakın. - Döndürülen yenileme belirtecini not edin.
- Yenileme belirtecini Azure Key Vault'ta depolayın. Daha fazla bilgi için Key Vault API belgelerine bakın.
Not
Aşağıdaki örnek POST çağrısında bahsedilen kaynaklar GDAP-Graph API'leri içindir.
Diğer bilgisayar API'leri için kaynaklar aşağıdaki gibidir:
İş Ortağı Merkezi API'leri (https://api.partnercenter.microsoft.com
)
İş Ortağı API'si (https://api.partner.microsoft.com
)
Örnek çağrı
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"
}
Anahtar kasayı ayarlama
İlk olarak CSP iş ortağının kiracısında yeni bir web uygulaması oluşturun. İş Ortağı Merkezi API'lerini çağırmak için CPV uygulaması kullanılıyorsa, CPV iş ortağının kiracısında yeni bir web uygulaması oluşturmalıdır.
Azure Key Vault kullanıyorsanız:
- Azure Key Vault'u uygun
<key-vault-name>
şekilde oluşturun ve aşağıdaki gibi bir DNS adı elde edin:https://<key-vault-name>.vault.azure.net
- Anahtar kasasına yenileme belirteci ekleyin.
Anahtar kasasına erişim sağlama
Anahtar kasasının erişim ilkelerine Yalnızca Gizli Dizi alma ve ayarlama özelliklerini yönetme izinlerine sahip KeyVaultAccessApp'i ekleyin.
Prototipi yapılandırma
Prototipin iki uygulaması vardır:
- İş Ortağı Onayı: CSP iş ortağının onaylarını kabul etmek ve bir başarı iletisi göstermek için tasarlanmış bir web uygulamasını temsil eder.
- Bu uygulama onay ayarlar ve onaylanan kullanıcının yenileme belirtecini yakalar.
- Onaylanan kullanıcının yenileme belirteci, CSP iş ortağı kiracısı için erişim belirtecini oluşturmak için kullanılır.
- CSP uygulaması veya CPV uygulaması: İş Ortağı Merkezi API'lerini ve grafını çağıran birincil bir uygulamayı temsil eder.
- İş ortağı adına ticaret ve kullanıcı eylemleri gerçekleştirmek için API'ler.
Bu uygulama, ilgili API'leri çağırmadan önce belirli bir hedef kitle (İş Ortağı Merkezi API'leri veya Graph) için erişim belirtecini alır. Anahtar kasasında güvenli bir şekilde depolanan yenileme belirtecini kullanır.
İş ortağı onayı uygulaması (CSP)
CSP web yapılandırması
CSP iş ortağı uygulaması için web.config
dosyada aşağıdaki bölümler vurgulanmıştır. Bu değerleri ilgili uygulama kimlikleri ve gizli dizilerle güncelleştirin. Birincil uygulamanız için, ek bir güvenlik katmanı sağladığından düz gizli diziler yerine web uygulaması gizli dizisi olarak "sertifika" kullanın.
<!-- 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 uygulama yapılandırması
CSP iş ortağı uygulaması için app.config
dosyada aşağıdaki bölümler vurgulanmıştır. Değerleri ilgili uygulama kimlikleri ve gizli dizileriyle güncelleştirin. Birincil uygulamanız için, ek bir güvenlik katmanı sağladığından düz gizli diziler yerine web uygulaması gizli dizisi olarak "sertifika" kullanın.
<!-- 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/" />
İş ortağı onayı uygulaması (CPV)
CPV uygulamasını kullanan CSP'ler ApplicationConsent API'sini çağırarak müşteri kiracılarını yönetmek üzere Microsoft Graph'a erişmek üzere müşteri kiracısı üzerinde hizmet sorumlusu oluşturabilir. Daha fazla bilgi için bkz . İş Ortağı Merkezi kimlik doğrulaması.
CPV web yapılandırması
CSP iş ortağı uygulaması için web.config
dosyada aşağıdaki bölümler vurgulanmıştır. Bu değerleri ilgili uygulama kimlikleri ve gizli dizilerle güncelleştirin. Birincil uygulamanız için, ek bir güvenlik katmanı sağladığından düz gizli diziler yerine web uygulaması gizli dizisi olarak "sertifika" kullanın.
<!-- 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 uygulama yapılandırması
CPV iş ortağı uygulaması için app.config
dosyada aşağıdaki bölümler vurgulanmıştır. Değerleri ilgili uygulama kimlikleri ve gizli dizileriyle güncelleştirin. Birincil uygulamanız için, ek bir güvenlik katmanı sağladığından düz gizli diziler yerine web uygulaması gizli dizisi olarak "sertifika" kullanın.
<!-- 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/" />
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin