Güvenli uygulama modeli çerçevesi
Microsoft, Microsoft Azure ç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. CSP iş ortakları ve Denetim Masası Satıcıları, İş Ortağı Merkezi API tümleştirme çağrılarının güvenliğini yükseltmek için yeni modele güvenebilir. Bu, Microsoft, CSP iş ortakları ve Denetim Masası Satıcıları dahil olmak üzere tüm tarafların altyapılarını ve müşteri verilerini güvenlik risklerinden korumalarına yardımcı olur.
Ö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.
Kapsam
Bu makale aşağıdaki iş ortakları için geçerlidir:
- Denetim Masası Satıcıları (CPV' ler), CSP iş ortakları tarafından İş Ortağı Merkezi API'leriyle tümleştirilmeye yönelik uygulamalar geliştiren bağımsız yazılım satıcılarıdır. CPV, iş ortağı panosuna veya API'lerine doğrudan erişimi olan bir CSP iş ortağı değildir. CsP'lerin ürünlerini birleşik bir market üzerinden satmasını sağlayan uygulamalar (genellikle web uygulamaları) geliştiren şirketlerdir.
- 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ı.
Not
CPV olarak nitelemek için önce İş Ortağı Merkezi'ne BIR GBM olarak eklemeniz gerekir. Aynı zamanda BIR CPV olan mevcut bir CSP iş ortağıysanız, bu önkoşul sizin için de geçerlidir.
Güvenli uygulama geliştirme
CSP'ler adına Microsoft ürünleri için sipariş verme sürecinde, CPV'lerin market uygulamaları sipariş vermek ve müşterilere kaynak sağlamak için Microsoft API'leriyle etkileşim kurar.
Bu API'lerden bazıları şunlardır:
- Sipariş vermek ve abonelik yaşam döngülerini yönetmek gibi ticari işlemleri uygulayan İş Ortağı Merkezi API'leri.
- CSP kiracıları ve CSP müşteri kiracıları için kimlik yönetimi uygulayan Microsoft Graph API'leri.
- Azure dağıtım işlevselliğini uygulayan Azure Resource Manager (ARM) API'leri.
CSP iş ortakları, Microsoft API'lerini çağırırken müşterileri adına işlem yapma yetkisine sahip olur. Temsilci ayrıcalıkları, CSP iş ortaklarının müşterileri için satın alma, dağıtım ve destek senaryolarını tamamlamasına olanak sağlar.
Market uygulamaları, CSP iş ortaklarının müşterilere yönelik çözümlerini listelemesine yardımcı olmak üzere tasarlanmıştır. Bunu başarmak için 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.
CSP iş ortağı ayrıcalıkları yüksek olduğundan ve iş ortağının tüm müşterilerine erişim sağladığından, bu uygulamaların güvenlik açıklarından yararlanma vektörlerine dayanacak şekilde nasıl tasarlanması gerektiğini anlamak önemlidir. Bu hassas uygulamalara yönelik güvenlik saldırıları, müşteri verilerinin gizliliğinin tehlikeye atılmasına neden olabilir. Bu nedenle, izin vermeler ve iş ortağı ayrıcalık kimliğine bürünme en az ayrıcalık ilkesine uygun şekilde tasarlanmalıdır. Aşağıdaki ilkeler ve en iyi uygulamalar, market uygulamalarının sürdürülebilir olmasını ve risklere dayanabilmesini sağlar.
Kimlik bilgilerinin kimliğe bürünülmesi için güvenlik ilkeleri
Market uygulamaları CSP iş ortaklarının kimlik bilgilerini depolamamalıdır.
CSP iş ortağı kullanıcı parolaları paylaşılmamalıdır.
CSP iş ortağı kiracı web uygulaması anahtarları Denetim Masası Satıcılarıyla paylaşılmamalıdır.
Bir market uygulaması, CSP iş ortağı kimliğinin kimliğine bürünen çağrılar yaparken yalnızca iş ortağı kimlik bilgilerini kullanmak yerine iş ortağı bilgileriyle birlikte uygulama kimliğini sunmalıdır.
Market uygulamasına erişim, en az ayrıcalık ilkesine dayalı olmalı ve izinlerde açıkça belirtilmelidir.
Bir market uygulaması için yetkilendirme birden çok kimlik bilgisi olarak özetlenmelidir.
Erişim kazanmak için uygulama kimlik bilgileri ve iş ortağı kimlik bilgileri birlikte sağlanmalıdır.
Önemli
Tek bir uzlaşma noktası olmaması önemlidir.
Erişim belirli bir hedef kitle veya API ile kısıtlanmalıdır.
Access, kimliğe bürünme amacını tanımlamalıdır.
Market uygulaması için erişim izinleri zamana bağlı olmalıdır. CSP iş ortaklarının market uygulamasını yenileyebilmesi veya erişimi iptal edebilmesi gerekir.
Market uygulaması kimlik bilgilerinin tehlikeye atılmasıyla başa çıkabilmek için hızlı denetim veya düzeltme işlemleri uygulanmalıdır.
Tüm kullanıcı hesapları iki öğeli kimlik doğrulaması (2FA) kullanmalıdır.
Uygulama modeli, daha iyi bir güvenlik modeline koşullu erişim gibi ek güvenlik sağlamaları için kolay olmalıdır.
Not
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ının ve CSP doğrudan iş ortaklarının kendi market uygulamalarının güvenliğini sağlamak için yukarıdaki ilkeleri izlemesi gerekir.
Uygulama kimliği ve kavramları
Çok kiracılı uygulamalar
Çok kiracılı bir uygulama genellikle bir hizmet olarak yazılım (SaaS) uygulamasıdır. Uygulama türünü Azure panosunda çok kiracılı olarak yapılandırarak uygulamanızı herhangi bir Microsoft Entra kiracısından oturum açmaları kabul etmek üzere yapılandırabilirsiniz. Herhangi bir Microsoft Entra kiracısında yer alan kullanıcılar, kendi hesabını uygulamanızla kullanmaya onay verdikten sonra uygulamanızda oturum açabilecektir.
Çok kiracılı uygulama oluşturma hakkında daha fazla bilgi edinmek için bkz . Çok kiracılı uygulama desenini kullanarak herhangi bir Microsoft Entra kullanıcısında oturum açma.
Onay çerçevesi
Bir kullanıcının Microsoft Entra Id'de bir uygulamada oturum açması için, uygulamanın kullanıcının kiracısında temsil edilmesi gerekir. Bu, kuruluşun kiracısından kullanıcılar uygulamada oturum açarken benzersiz ilkeler uygulama gibi işlemler yapmasına olanak tanır. Tek kiracılı bir uygulama için bu kayıt basittir: Uygulamayı Azure panosuna kaydettiğinizde gerçekleşen kayıttır.
Çok kiracılı bir uygulama için, uygulamanın ilk kaydı geliştirici tarafından kullanılan Microsoft Entra kiracısında bulunur. Farklı bir kiracıdaki bir kullanıcı uygulamada ilk kez oturum açtığında, Microsoft Entra Id uygulama tarafından istenen izinleri onaylamasını ister. Onaylarsa, kullanıcının kiracısında hizmet sorumlusu adlı uygulamanın bir gösterimi oluşturulur ve oturum açma işlemi devam edebilir. Kullanıcının uygulamaya onayını kaydeden dizinde bir temsilci de oluşturulur.
Not
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ının ve CSP doğrudan iş ortaklarının aynı onay çerçevesini kullanarak market uygulamalarına onay vermesi gerekir.
Onay deneyimi, uygulama tarafından istenen izinlerden etkilenir. Microsoft Entra ID, yalnızca uygulama ve temsilci olmak üzere iki tür izni destekler.
- Uygulamanın kimliğine doğrudan yalnızca uygulama izni verilir. Örneğin, uygulamada kimin oturum açtığından bağımsız olarak, bir uygulamaya kiracıdaki kullanıcıların listesini okuma izni vekleyebilirsiniz.
- Temsilci izni , uygulamaya kullanıcının yapabileceklerinin bir alt kümesi için oturum açmış bir kullanıcı olarak davranma olanağı verir. Örneğin, bir uygulamaya oturum açmış kullanıcının takvimini okuması için temsilci izni verilmektedir.
Bazı izinler normal bir kullanıcı tarafından onaylanırken, diğerleri kiracı yöneticisinin onayına ihtiyaç duyar. Microsoft Entra onay çerçevesi hakkında daha fazla bilgi için bkz . Microsoft Entra uygulama onayı deneyimlerini anlama.
- Azure Active Directory v2.0 uç noktasında kapsamlar, izinler ve onay
- Kullanıcı ve yönetici onaylarını anlama
Çok kiracılı uygulama açık yetkilendirme (OAuth) belirteç akışı
Çok kiracılı bir uygulama açık yetkilendirme (OAuth) akışında uygulama, CPV veya CSP iş ortağının kiracısında çok kiracılı bir uygulama olarak temsil edilir.
Microsoft API'lerine (İş Ortağı Merkezi API'leri, Graph API'leri vb.) erişmek için CSP iş ortaklarının uygulamada oturum açması ve uygulamanın api'leri kendileri adına çağırmasına izin vermesi gerekir.
Not
Uygulama kimliği ve kullanıcı kimlik doğrulaması kullanan ve İş Ortağı Merkezi API'leriyle doğrudan tümleşen CSP dolaylı sağlayıcılarının ve CSP doğrudan iş ortaklarının aynı onay çerçevesini kullanmak için market uygulamalarına onay vermesi gerekir.
Uygulama, onay ve OAuth izinleri aracılığıyla Graph ve İş Ortağı Merkezi API'leri gibi iş ortağının kaynaklarına erişim kazanır.
Çok kiracılı uygulama oluşturma
Çok kiracılı bir uygulama aşağıdaki gereksinimlere uymalıdır:
- Uygulama kimliği ve gizli anahtar içeren bir web uygulaması olmalıdır.
- Örtük kimlik doğrulama modunun kapalı olması gerekir.
Buna ek olarak, şu en iyi yöntemlere uygun olmasını öneririz:
- Gizli anahtar için bir sertifika kullanın.
- IP aralığı kısıtlamaları uygulamak için koşullu erişimi etkinleştirin. Bunun için Microsoft Entra kiracısının etkinleştirilmesi için daha fazla işlevsellik gerekebilir.
- Uygulama için erişim belirteci yaşam süresi ilkelerini uygulayın.
Belirteç alırken uygulama kimliği ve gizli anahtar sunulmalıdır. Gizli anahtar bir sertifika olabilir.
Uygulama, Azure Resource Manager API'leri de dahil olmak üzere birden çok API'yi çağıracak şekilde yapılandırılabilir. İş Ortağı Merkezi API'leri için gereken en düşük izin kümesi aşağıdadır:
- Microsoft Entra Id temsilci izinleri: Oturum açmış kullanıcı olarak dizine erişin
- İş Ortağı Merkezi API'leri temsilci izinleri: Access
Uygulama iş ortağı onaylarını yakalar
Çok kiracılı bir uygulama iş ortaklarından onay almalı ve İş Ortağı Merkezi API'lerine daha fazla çağrı yapmak için onay ve izni kullanmalıdır. Onay, bir OAuth kimlik doğrulama kodu akışı aracılığıyla alınır.
Onay almak için, CPV'lerin veya CSP iş ortaklarının Microsoft Entra Id'den kimlik doğrulama kodu verilmesini kabul eden bir ekleme web sitesi oluşturması gerekir.
Daha fazla bilgi için bkz. OAuth 2.0 kod verme akışını kullanarak Azure Active ve Directory web uygulamalarına erişimi yetkilendirme.
İş Ortağı Merkezi API'lerine çağrı yapmak için yeniden kullanılabilir bir belirteçle birlikte CSP iş ortağı onayını yakalamak için çok kiracılı bir uygulamanın adımları aşağıdadır.
İş ortağı onayı almak için aşağıdaki adımları kullanın.
- İş ortağının çok kiracılı uygulama için onay kabul etmek üzere tıklayabileceği bir onay bağlantısı barındırabilen bir iş ortağı ekleme web uygulaması oluşturun.
- CSP iş ortağı onay bağlantısına tıklar. Örneğin
https://login.microsoftonline.com/common/oauth2/authorize?&client_id=<marketplaceappid>&response_ty
- Microsoft Entra oturum açma sayfası, kullanıcı adına uygulamaya verilecek izinleri açıklar. CSP iş ortağı oturum açmak ve onayı onaylamak için Yönetici Aracısı veya Satış Aracısı kimlik bilgilerini kullanmaya karar verebilir. Uygulamaya, oturum açmak için kullanılan kullanıcı rolüne göre izinler verilir.
- Onay verildikten sonra Microsoft Entra Id, CPV'nin çok kiracılı uygulamasının hizmet sorumlusunu CSP iş ortağının kiracısına oluşturur. Uygulamaya kullanıcı adına işlem yapmak için OAuth izinleri verilir. Bu izinler, çok kiracılı uygulamanın iş ortağı adına İş Ortağı Merkezi API'lerini çağırmasına olanak sağlar. Bu noktada, Microsoft Entra oturum açma sayfası iş ortağı ekleme web uygulamasına yönlendirilir. Web uygulaması Microsoft Entra Id'den bir yetkilendirme kodu alır. İş ortağı ekleme web uygulaması, yenileme belirteci almak için Microsoft Entra Id Belirteçleri API'sini çağırmak için uygulama kimliği ve gizli anahtarla birlikte yetkilendirme kodunu kullanmalıdır.
- Yenileme belirtecini güvenli bir şekilde depolayın. Yenileme belirteci, iş ortağı adına İş Ortağı Merkezi API'lerine erişim elde etmek için kullanılan iş ortağı kimlik bilgilerinin bir parçasıdır. Yenileme belirteci alındıktan sonra şifreleyin ve Azure anahtar kasası gibi bir gizli anahtar deposunda depolayın.
Belirteç isteği çağrı akışı
CPV'ler veya CSP iş ortağının uygulaması, İş Ortağı Merkezi API'lerine çağrı yapmadan önce erişim belirteci almalıdır. Bu API'ler kaynak URL'sinde https://api.partnercenter.microsoft.com
temsil edilir.
CPV uygulaması, ürün veya federasyon oturum açma işlemine göre İş Ortağı Merkezi API'lerini çağırmak için hangi iş ortağı hesabının kimliğine bürünmesi gerektiğini belirlemelidir. Uygulama, gizli anahtar deposundan bu iş ortağı kiracısı için şifrelenmiş yenileme belirtecini alır. Yenileme belirtecinin şifresi kullanılmadan önce çözülmelidir.
İzin veren tek bir kiracının bulunduğu CSP iş ortakları için iş ortağı hesabı CSP iş ortağının kiracısına başvurur.
Yenileme belirteci çok hedef kitleli bir belirteçtir. Bu, verilen onay temelinde birden çok hedef kitle için belirteç almak için yenileme belirtecinin kullanılabileceğini gösterir. Örneğin, İş Ortağı Merkezi API'leri ve Microsoft Graph API'leri için iş ortağı onayı verilirse, yenileme belirteci her iki API için de erişim belirteci istemek için kullanılabilir. Erişim belirtecinin "adına" izni vardır ve bir market uygulamasının bu API'leri çağırırken onay veren iş ortağının kimliğine bürünmesini sağlar.
Erişim belirteci tek seferde tek bir hedef kitle için edinilebilir. Bir uygulamanın birden çok API'ye erişmesi gerekiyorsa, hedeflenen hedef kitle için birden çok erişim belirteci istemesi gerekir. Erişim belirteci istemek için uygulamanın Microsoft Entra ID Belirteçleri API'sini çağırması gerekir. Alternatif olarak, Microsoft Entra SDK'sının AuthenticationContext.AcquireTokenAsync dosyasını da kullanabilir ve aşağıdaki bilgileri iletebilir:
- Uygulamanın çağrılacağı uç nokta URL'si olan Kaynak URL'si. Örneğin, Microsoft İş Ortağı Merkezi API'sinin kaynak URL'si şeklindedir
https://api.partnercenter.microsoft.com
. - Web uygulamasının uygulama kimliği ve gizli anahtardan oluşan uygulama kimlik bilgileri.
- Yenileme belirteci
Sonuçta elde edilen erişim belirteci, uygulamanın kaynakta belirtilen API'lere çağrı yapmasını sağlar. Uygulama, onay isteğinin bir parçası olarak izin verilmeyen API'ler için erişim belirteci isteyemez. UserPrincipalName (UPN) öznitelik değeri, kullanıcı hesapları için Microsoft Entra kullanıcı adıdır.
Diğer dikkate alınacak noktalar
Koşullu erişim
Bulut kaynaklarınızı yönetme konusunda, bulut güvenliğinin önemli bir yönü kimlik ve erişimdir. Mobil ve bulut öncelikli bir dünyada kullanıcılar, kuruluşunuzun kaynaklarına her yerden çeşitli cihazları ve uygulamaları kullanarak erişebilir. Kaynağa erişebilecek kişilere odaklanmak artık yeterli değildir. Güvenlik ve üretkenlik arasındaki dengede ustalaşabilmek için kaynağa nasıl erişilir konusunu da göz önünde bulundurmanız gerekir. Microsoft Entra Koşullu Erişim'i kullanarak bu gereksinimi karşılayabilirsiniz. Koşullu erişim sayesinde, bulut uygulamalarınıza erişim sağlamak için koşullara bağlı otomatik erişim denetimi kararları uygulayabilirsiniz.
Daha fazla bilgi için bkz . Microsoft Entra Id'de koşullu erişim nedir?
IP aralığı tabanlı kısıtlamalar
Belirteçlerin yalnızca belirli BIR IP adresi aralığıyla verilmesini kısıtlayabilirsiniz. Bu özellik saldırının yüzey alanını yalnızca belirli bir ağ ile kısıtlamaya yardımcı olur.
Çok faktörlü kimlik doğrulaması
Çok faktörlü kimlik doğrulamasının zorunlu bırakılması, kimlik bilgisi doğrulamasını iki veya daha fazla forma zorunlu tutarak kimlik bilgilerinin tehlikeye atılması durumlarının kısıtlanmasına yardımcı olur. Bu özellik, Microsoft Entra Id'nin belirteçleri vermeden önce cep telefonu veya e-posta gibi güvenli ikincil kanallar aracılığıyla arayan kimliğini doğrulamasını sağlar.
Daha fazla bilgi için bkz . Nasıl çalışır: Azure Multi.