Güvenlik Uygulama Modeli çerçevesini etkinleştirme

Microsoft, Microsoft Entra çok faktörlü kimlik doğrulaması (MFA) mimarisi aracılığıyla bulut çözümü sağlayıcısı (CSP) iş ortaklarının ve denetim masası satıcılarının (CPV) kimliğini doğrulamak için güvenli, ölçeklenebilir bir çerçeve sunmaktadır.

İş Ortağı Merkezi API tümleştirme çağrılarının güvenliğini yükseltmek için yeni modeli kullanabilirsiniz. Bu, tüm tarafların (Microsoft, CSP iş ortakları ve CPV'ler dahil) altyapılarını ve müşteri verilerini güvenlik risklerinden korumalarına yardımcı olur.

CSP programı, müşterilerin iş ortakları aracılığıyla Microsoft ürün ve hizmetlerini satın almasını sağlar. Microsoft ile yapılan sözleşmeye göre, iş ortaklarının satış yaptıkları müşteriler için ortamı yönetmesi ve destek sağlaması gerekir. Bu kanal üzerinden satın alan müşterilerin, iş ortağı işletmesinin müşteri kiracısına yüksek ayrıcalıklı yönetici erişimi olduğundan, satın aldıkları iş ortağına yüksek miktarda güven vermesi gerekir.

Kapsam

Bu makale hem CSP'lerle hem de CPV'lerle ilgilidir.

CPV’ler

  • CPV, CSP iş ortakları tarafından İş Ortağı Merkezi API’leriyle tümleştirilmek üzere kullanılacak uygulamalar geliştiren bağımsız yazılım satıcısıdır.
  • CPV, İş Ortağı Merkezi'ne veya API'lere doğrudan erişimi olan bir CSP iş ortağı değildir.

Csp

  • Uygulama kimliği + kullanıcı kimlik doğrulaması kullanan ve İş Ortağı Merkezi API'leriyle doğrudan tümleşen CSP dolaylı sağlayıcıları ve CSP doğrudan iş ortakları.

Güvenlik gereksinimleri

Güvenlik gereksinimleri hakkında ayrıntılı bilgi için bkz . İş Ortağı Güvenlik Gereksinimleri.

Güvenli Uygulama Modeli

Market uygulamalarının Microsoft API'lerini çağırmak için CSP iş ortağı ayrıcalıklarının kimliğine bürünmeleri gerekir. Bu hassas uygulamalara yönelik güvenlik saldırıları, müşteri verilerinin gizliliğinin tehlikeye atılmasına neden olabilir.

Yeni kimlik doğrulama çerçevesine genel bakış ve ayrıntılar için market uygulamalarını güvenlik risklerinden sürdürülebilir ve sağlam hale getirmek için ilkeleri ve en iyi uygulamaları kapsayan Güvenli Uygulama Modeli çerçevesine bakın.

Örnekler

Aşağıdaki genel bakış belgeleri ve örnek kod, iş ortaklarının Güvenli Uygulama Modeli çerçevesini nasıl uygulayabileceğini açıklar:

REST

Örnek kodla Güvenli Uygulama Modeli çerçevesiyle REST çağrıları yapmak için şu adımları izleyin:

  1. Web uygulaması oluşturma

Web uygulaması oluşturma

  1. Azure Portal’ında oturum açın.

  2. Bir Microsoft Entra uygulaması oluşturun.

  3. Uygulamanızın gereksinimlerine bağlı olarak aşağıdaki kaynaklar için temsilcili uygulama izinleri verin. Gerekirse, uygulama kaynakları için daha fazla temsilci izni ekleyebilirsiniz.

    1. Microsoft İş Ortağı Merkezi (bazı kiracılar SampleBECApp'i gösterir)

    2. Azure Yönetim API'leri (Azure API'lerini çağırmayı planlıyorsanız)

    3. Windows Azure Active Directory

  4. Uygulamanızın giriş 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. Örneğin, aşağıdaki bölümdeki örnek kodda , web uygulaması adresinde https://localhost:44395/çalışmaktadır.

  5. Web uygulamanızın Microsoft Entra Id'deki ayarlarından aşağıdaki bilgileri not edin:

    • Uygulama Kimliği
    • Uygulama gizli anahtarı

Not

Uygulama gizli diziniz olarak bir sertifika kullanmanız önerilir. Ancak, Azure portalında bir uygulama anahtarı da oluşturabilirsiniz. Aşağıdaki bölümdeki örnek kod bir uygulama anahtarı kullanır.

Yetkilendirme kodunu alma

Web uygulamanızın Microsoft Entra oturum açma çağrısından kabul etmesi için bir yetkilendirme kodu almanız gerekir:

  1. Microsoft Entra Id'de oturum açın.

    İş Ortağı Merkezi API'sini (yönetici aracısı veya satış aracısı hesabı gibi) yaptığınız kullanıcı hesabıyla oturum açtığınızdan emin olun.

  2. Application-Id değerini Microsoft Entra uygulama kimliğiniz (GUID) ile değiştirin.

  3. İstendiğinde, MFA'nın yapılandırıldığı kullanıcı hesabınızla oturum açın.

  4. İstendiğinde, oturum açma bilgilerinizi doğrulamak için daha fazla MFA bilgisi (telefon numarası veya e-posta adresi) girin.

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

Yetkilendirme kodu çağrı izleme

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>

Yenileme belirtecini alma

Ardından yenileme belirteci almak için yetkilendirme kodunuzu kullanmanız gerekir:

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

  2. Döndürülen yenileme belirtecini not edin.

  3. Yenileme belirtecini Azure Key Vault'ta depolayın. Daha fazla bilgi için Key Vault API belgelerine bakın.

Önemli

Yenileme belirteci Key Vault’ta gizli dizi olarak depolanmalıdır.

Örnek yenileme çağrısı

Yer tutucu isteği:

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

İstek gövdesi:

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

Yer tutucu yanıtı:

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

Yanıt gövdesi:

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

Erişim belirteci alma

İş Ortağı Merkezi API'lerine çağrı yapabilmek için önce bir erişim belirteci almanız gerekir. Erişim belirteçlerinin kullanım ömrü genellikle sınırlı olduğundan (örneğin, bir saatten az) erişim belirteci almak için yenileme belirteci kullanmanız gerekir.

Yer tutucu isteği:

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

İstek gövdesi:

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

Yer tutucu yanıtı:

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

Yanıt gövdesi:

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

İş Ortağı Merkezi API çağrıları yapma

İş Ortağı Merkezi API'lerini çağırmak için erişim belirtecinizi kullanmanız gerekir. Aşağıdaki örnek çağrıya bakın.

Örnek İş Ortağı Merkezi API çağrısı

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

İş Ortağı Merkezi PowerShell modülü, İş Ortağı Merkezi kaynaklarını yönetmek için kullanılabilir. İş ortağı topluluğu tarafından sürdürülen ve Microsoft tarafından resmi olarak desteklenmeyen açık kaynaklı bir projedir. Bir sorunla karşılaşırsanız topluluktan yardım alabilir veya GitHub'da bir sorun açabilirsiniz.

Erişim belirteci için yetkilendirme kodu değişimi için gerekli altyapıyı azaltmak için İş Ortağı Merkezi PowerShell modülünü kullanabilirsiniz. Bu yöntem, İş Ortağı Merkezi REST çağrıları yapmak için isteğe bağlıdır.

Bu işlem hakkında daha fazla bilgi için Bkz . Güvenli Uygulama Modeli PowerShell belgeleri.

  1. Microsoft Entra Id ve İş Ortağı Merkezi PowerShell modüllerini yükleyin.

    Install-Module AzureAD
    
    Install-Module PartnerCenter
    
  2. Onay işlemini gerçekleştirmek ve gerekli yenileme belirtecini yakalamak için New-PartnerAccessToken komutunu kullanın.

    $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
    

    Not

    Web/API türüne sahip bir Microsoft Entra uygulaması kullanıldığından, ServicePrincipal parametresi New-PartnerAccessToken komutuyla birlikte kullanılır. Bu tür bir uygulama, erişim belirteci isteğine bir istemci tanımlayıcısı ve gizli dizi eklenmesini gerektirir. Get-Credential komutu çağrıldığında bir kullanıcı adı ve parola girmeniz istenir. Kullanıcı adı olarak uygulama tanımlayıcısını girin. Parola olarak uygulama gizli dizisini girin. New-PartnerAccessToken komutu çağrıldığında, kimlik bilgilerini yeniden girmeniz istenir. Kullandığınız hizmet hesabının kimlik bilgilerini girin. Bu hizmet hesabı, uygun izinlere sahip bir iş ortağı hesabı olmalıdır.

  3. Yenileme belirteci değerini kopyalayın.

    $token.RefreshToken | clip
    

Yenileme belirteci değerini Azure Key Vault gibi güvenli bir depoda depolamanız gerekir. Güvenli uygulama modülünü PowerShell ile kullanma hakkında daha fazla bilgi için çok faktörlü kimlik doğrulaması makalesine bakın.