Aracılığıyla paylaş


Event Hubs kaynaklarına erişmek için Microsoft Entra Id ile bir uygulamanın kimliğini doğrulama

Microsoft Azure, Microsoft Entra Id tabanlı kaynaklar ve uygulamalar için tümleşik erişim denetimi yönetimi sağlar. Microsoft Entra ID'yi Azure Event Hubs ile kullanmanın temel avantajlarından biri, kimlik bilgilerinizi artık kodda depolamanıza gerek olmadığıdır. Bunun yerine, Microsoft kimlik platformu bir OAuth 2.0 erişim belirteci isteyebilirsiniz. Belirteç istemek için kaynak adı olur https://eventhubs.azure.net/ve tüm bulutlar/kiracılar için aynıdır (Kafka istemcileri için belirteç istemek için kaynak olur https://<namespace>.servicebus.windows.net). Microsoft Entra, uygulamayı çalıştıran güvenlik sorumlusunun (kullanıcı, grup, hizmet sorumlusu veya yönetilen kimlik) kimliğini doğrular. Kimlik doğrulaması başarılı olursa, Microsoft Entra Id uygulamaya bir erişim belirteci döndürür ve uygulama, Azure Event Hubs kaynaklarına yönelik isteği yetkilendirmek için erişim belirtecini kullanabilir.

Microsoft Entra güvenlik sorumlusuna bir rol atandığında, Azure bu güvenlik sorumlusu için bu kaynaklara erişim verir. Erişimin kapsamı abonelik düzeyi, kaynak grubu, Event Hubs ad alanı veya altındaki herhangi bir kaynak olabilir. Microsoft Entra güvenliği bir kullanıcıya, gruba, uygulama hizmet sorumlusuna veya Azure kaynakları için yönetilen kimliğe rol atayabilir.

Not

Rol tanımı, izinlerden oluşan bir koleksiyondur. Azure rol tabanlı erişim denetimi (Azure RBAC), rol ataması aracılığıyla bu izinlerin nasıl zorunlu kılınmasını denetler. Rol ataması üç öğeden oluşur: güvenlik sorumlusu, rol tanımı ve kapsam. Daha fazla bilgi için bkz . Farklı rolleri anlama.

Azure Event Hubs için yerleşik roller

Azure, Microsoft Entra ID ve OAuth kullanarak Event Hubs verilerine erişim yetkisi vermek için aşağıdaki Azure yerleşik rollerini sağlar:

Şema Kayıt Defteri yerleşik rolleri için bkz . Şema Kayıt Defteri rolleri.

Önemli

Önizleme sürümümüz, Event Hubs veri erişim ayrıcalıklarının Sahip veya Katkıda Bulunan rolüne eklenmesini desteklemektedir. Ancak, Sahip ve Katkıda Bulunan rolü için veri erişim ayrıcalıkları artık kabul edilmez. Sahip veya Katkıda Bulunan rolünü kullanıyorsanız Azure Event Hubs Veri Sahibi rolünü kullanmaya geçin.

Uygulamadan kimlik doğrulaması yapma

Microsoft Entra ID'yi Event Hubs ile kullanmanın temel avantajlarından biri, kimlik bilgilerinizin artık kodunuzda depolanması gerek olmamasıdır. Bunun yerine, Microsoft kimlik platformu bir OAuth 2.0 erişim belirteci isteyebilirsiniz. Microsoft Entra, uygulamayı çalıştıran güvenlik sorumlusunun (kullanıcı, grup veya hizmet sorumlusu) kimliğini doğrular. Kimlik doğrulaması başarılı olursa, Microsoft Entra ID uygulamaya erişim belirtecini döndürür ve uygulama erişim belirtecini kullanarak Azure Event Hubs'a yönelik istekleri yetkileyebilir.

Aşağıdaki bölümlerde, Microsoft kimlik platformu 2.0 ile kimlik doğrulaması için yerel uygulamanızı veya web uygulamanızı nasıl yapılandırabileceğiniz gösterilmektedir. Microsoft kimlik platformu 2.0 hakkında daha fazla bilgi için bkz. Microsoft kimlik platformu (v2.0) genel bakış.

OAuth 2.0 kod verme akışına genel bakış için bkz . OAuth 2.0 kod verme akışını kullanarak Microsoft Entra web uygulamalarına erişimi yetkilendirme.

Uygulamanızı bir Microsoft Entra kiracısıyla kaydetme

Event Hubs kaynaklarını yetkilendirmek için Microsoft Entra Id kullanmanın ilk adımı, istemci uygulamanızı Azure portalından bir Microsoft Entra kiracısına kaydetmektir. Hızlı Başlangıç: Event Hubs kaynaklarına erişmeye çalışan uygulamanızı temsil eden Microsoft Entra Id'ye bir uygulama kaydetmek için uygulamayı Microsoft kimlik platformu kaydetme adımındaki adımları izleyin.

İstemci uygulamanızı kaydettiğinizde, uygulama hakkında bilgi sağlayın. Microsoft Entra Id daha sonra uygulamanızı Microsoft Entra çalışma zamanıyla ilişkilendirmek için kullanabileceğiniz bir istemci kimliği (uygulama kimliği olarak da adlandırılır) sağlar. İstemci kimliği hakkında daha fazla bilgi edinmek için bkz . Microsoft Entra Id'de uygulama ve hizmet sorumlusu nesneleri.

Not

Uygulamanızı yerel uygulama olarak kaydederseniz, Yeniden Yönlendirme URI'si için geçerli herhangi bir URI belirtebilirsiniz. Yerel uygulamalar için bu değerin gerçek bir URL olması gerekmez. Web uygulamaları için, belirteçlerin sağlandığı URL'yi belirttiğinden yeniden yönlendirme URI'si geçerli bir URI olmalıdır.

Uygulamanızı kaydettikten sonra Ayarlar altında Uygulama (istemci) kimliğini görürsünüz:

Uygulama kimliğinin vurgulandığı uygulama kayıt sayfasını gösteren ekran görüntüsü.

İstemci gizli dizisi oluşturma

Uygulamaya belirteç isterken kimliğini kanıtlayabilmesi için bir istemci gizli dizisi gerekir. Microsoft Entra Id'de uygulamanız için bir istemci gizli dizisi oluşturmak için İstemci gizli dizisi ekleme adımlarını izleyin.

Azure portalı kullanarak Azure rolleri atama

Event Hubs rollerinden birini uygulamanın hizmet sorumlusuna istenen kapsamda (Event Hubs ad alanı, kaynak grubu, abonelik) atayın. Ayrıntılı adımlar için bkz. Azure portalı kullanarak Azure rolleri atama.

Rolü ve kapsamını tanımladıktan sonra, bu github konumundaki örneklerle bu davranışı test edebilirsiniz. Azure rol tabanlı erişim denetimi (RBAC) ve Azure portalı kullanarak Azure kaynaklarına erişimi yönetme hakkında daha fazla bilgi edinmek için bu makaleye bakın.

Belirteç alımı için istemci kitaplıkları

Uygulamanızı kaydettikten ve Azure Event Hubs'da veri gönderme/alma izinleri verdikten sonra, uygulamanıza güvenlik sorumlusu kimliğini doğrulamak ve OAuth 2.0 belirteci almak için kod ekleyebilirsiniz. Kimliği doğrulamak ve belirteci almak için Microsoft kimlik platformu kimlik doğrulama kitaplıklarından birini veya OpenID veya Connect 1.0'ı destekleyen başka bir açık kaynak kitaplığı kullanabilirsiniz. Uygulamanız daha sonra erişim belirtecini kullanarak Azure Event Hubs'a karşı bir istek yetkilendirmesi yapabilir.

Belirteç alma işleminin desteklendiği senaryolar için .NET GitHub deposu için Microsoft Kimlik Doğrulama Kitaplığı 'nın (MSAL) Senaryolar bölümüne bakın.

Örnekler

Aşağıdaki ilgili makalelere bakın: