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:
- Azure Event Hubs Veri Sahibi: Event Hubs kaynaklarına tam erişim vermek için bu rolü kullanın.
- Azure Event Hubs Veri Göndereni: Bu role atanan bir güvenlik sorumlusu, olayları belirli bir olay hub'ına veya bir ad alanındaki tüm olay hub'larına gönderebilir.
- Azure Event Hubs Veri Alıcısı: Bu role atanan güvenlik sorumlusu, belirli bir olay hub'ından veya bir ad alanındaki tüm olay hub'larından olayları alabilir.
Ş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:
İ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
- Eski .NET Microsoft.Azure.EventHubs paketini kullanan RBAC örnekleri. En son Azure.Messaging.EventHubs paketini kullanarak bu örneğin yeni bir sürümünü oluşturmaya çalışıyoruz. Önceden dönüştürülmüş Yönetilen Kimlik'e bakın.
- Eski Java com.microsoft.azure.eventhubs paketini kullanan RBAC örneği. Bu örneği yeni paketi ()
com.azure.messaging.eventhubs
kullanmak üzere geçirmek için geçiş kılavuzunu kullanabilirsiniz. Genel olarak yeni paketi kullanma hakkında daha fazla bilgi edinmek için buradaki örneklere bakın.
İlgili içerik
- Azure RBAC hakkında daha fazla bilgi edinmek için bkz . Azure rol tabanlı erişim denetimi (Azure RBAC) nedir?
- Azure PowerShell, Azure CLI veya REST API ile Azure rol atamalarını atamayı ve yönetmeyi öğrenmek için şu makalelere bakın:
Aşağıdaki ilgili makalelere bakın:
- Event Hubs Kaynaklarına erişmek için Microsoft Entra Id ile yönetilen kimliğin kimliğini doğrulama
- Paylaşılan Erişim İmzalarını kullanarak Azure Event Hubs'a yönelik isteklerin kimliğini doğrulama
- Microsoft Entra ID kullanarak Event Hubs kaynaklarına erişimi yetkilendirme
- Paylaşılan Erişim İmzalarını kullanarak Event Hubs kaynaklarına erişimi yetkilendirme