Service Bus kimlik doğrulaması ve yetkilendirmeye genel bakış

Kimlik doğrulaması, Azure Service Bus kaynaklara erişim isteyen bir güvenlik sorumlusunun (kullanıcı, grup, uygulama veya yönetilen kimlik) kimliğini doğrular. Yetkilendirme, sorumluların gerçekleştirebileceği eylemleri belirler.

Azure Service Bus iki kimlik doğrulama ve yetkilendirme mekanizmasını destekler:

  • Microsoft Entra ID—Rol tabanlı erişim denetimi (RBAC) kullanılarak önerilen yaklaşım
  • Paylaşılan erişim imzası (SAS)—Şifreleme anahtarlarıyla belirteç tabanlı kimlik doğrulaması

Bu makalede, uygulamanız için uygun güvenlik modelini seçmenize yardımcı olmak için her mekanizmanın nasıl çalıştığı açıklanmaktadır.

Microsoft Entra ID

Service Bus ile Microsoft Entra tümleştirmesi, Service Bus kaynaklara rol tabanlı erişim denetimi (RBAC) sağlar. Kullanıcı, grup, uygulama hizmet sorumlusu veya yönetilen kimlik olabilecek bir güvenlik sorumlusuna izin vermek için Azure RBAC kullanabilirsiniz. Microsoft Entra güvenlik sorumlusunun kimliğini doğrular ve bir OAuth 2.0 belirteci döndürür. bir Service Bus kaynağına (kuyruk, konu veya abonelik) erişme isteğini yetkilendirmek için bu belirteci kullanın.

Not

Service Bus REST API'si, Microsoft Entra Id ile OAuth kimlik doğrulamasını destekler.

Microsoft Entra ID'den OAuth 2.0 belirteci kullanarak kullanıcıları veya uygulamaları yetkilendirmek, paylaşılan erişim imzaları üzerinde üstün güvenlik ve kullanım kolaylığı sağlar. Microsoft Entra ID ile kodunuzda belirteçleri depolamanız ve olası güvenlik açıklarını riske atmanız gerekmez. Mümkün olduğunda Azure Service Bus uygulamalarınızla Microsoft Entra Id kullanın.

Service Bus ad alanı için yerel veya SAS anahtarı kimlik doğrulamasını devre dışı bırakabilir ve yalnızca Microsoft Entra kimlik doğrulamasına izin vekleyebilirsiniz. Adım adım yönergeler için bkz . Yerel kimlik doğrulamasını devre dışı bırakma.

Paylaşılan erişim imzası

Bir kullanıcıya belirli haklarla Service Bus kaynaklarına erişim vermek için SAS kimlik doğrulamasını kullanabilirsiniz. Service Bus'da SAS kimlik doğrulaması, Service Bus kaynağında ilişkili haklara sahip bir şifreleme anahtarının yapılandırılmasını içerir. İstemciler daha sonra erişilmekte olan kaynak URI'sini ve yapılandırılmış anahtarla imzalanan süre sonunu içeren bir SAS belirteci sunarak bu kaynağa erişim elde edebilir.

Paylaşılan erişim ilkelerini Service Bus ad alanında yapılandırabilirsiniz. Anahtar, bu ad alanı içindeki tüm mesajlaşma varlıkları için geçerlidir. Ayrıca, Service Bus kuyruklarda ve konu başlıklarında paylaşılan erişim ilkeleri yapılandırabilirsiniz. SAS kullanmak için bir ad alanı, kuyruk veya konu üzerinde paylaşılan erişim yetkilendirme kuralı yapılandırabilirsiniz. Bu kural aşağıdaki öğelerden oluşur:

  • KeyName: Kuralın adı.
  • PrimaryKey: SAS belirteçlerini imzalamak/doğrulamak için kullanılan şifreleme anahtarı.
  • SecondaryKey: SAS belirteçlerini imzalamak/doğrulamak için kullanılan şifreleme anahtarı.
  • Rights: Verilen Dinleme, Gönderme veya Yönetme haklarının koleksiyonu.

Ad alanı düzeyinde yapılandırılan yetkilendirme kuralları, ilgili anahtar aracılığıyla imzalanmış belirteçlere sahip istemciler için ad alanında bulunan tüm varlıklara erişim verebilir. Service Bus ad alanı, kuyruk veya konu başlığında en fazla 12 yetkilendirme kuralı yapılandırabilirsiniz. Varsayılan olarak, tüm hakları olan bir paylaşılan erişim yetkilendirme kuralı ilk sağlandığında her ad alanı için yapılandırılır.

Bir varlığa erişmek için istemci, belirli bir paylaşılan erişim yetkilendirme kuralından oluşturulan bir SAS belirteci ve bir kaynak dizesinin HMAC-SHA256 imzasını gerektirir. Kaynak dizesi, erişim talep edilen kaynak URI'sini ve yetkilendirme kuralıyla ilişkilendirilmiş şifreleme anahtarıyla bir süre sonunu belirtir.

Kimlik doğrulaması için Microsoft Entra Id kullanma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

Kimlik doğrulaması için SAS kullanma hakkında daha fazla bilgi için aşağıdaki makaleye bakın: