Service Bus kimlik doğrulaması ve yetkilendirme

Azure Service Bus kaynakları kimliğini doğrulamak ve bunlara erişim yetkisi vermek için iki yol vardır:

  • Microsoft Entra Kimlik
  • Paylaşılan Erişim İmzaları (SAS).

Bu makalede, bu iki tür güvenlik mekanizmasının kullanımıyla ilgili ayrıntılar verilmektedir.

Microsoft Entra Kimlik

Service Bus ile Microsoft Entra tümleştirmesi, Service Bus kaynaklarına 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'yi kullanabilirsiniz. Microsoft Entra, güvenlik sorumlusunun kimliğini doğrular ve bir OAuth 2.0 belirteci döndürür. Bu belirteç, bir isteğin Service Bus kaynağına (kuyruk, konu vb.) erişmesini yetkilendirmek için kullanılabilir.

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

Not

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

Önemli

Microsoft Entra ID tarafından döndürülen OAuth 2.0 belirtecini kullanarak kullanıcıları veya uygulamaları yetkilendirmek, paylaşılan erişim imzaları (SAS) üzerinden üstün güvenlik ve kullanım kolaylığı sağlar. Microsoft Entra Id ile kodunuzda belirteçleri depolamanıza ve olası güvenlik açıklarını riske atmaya gerek yoktur. Mümkün olduğunda Azure Service Bus uygulamalarınızla Microsoft Entra Id kullanmanızı öneririz.

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ı

SAS kimlik doğrulaması , belirli haklara sahip bir kullanıcıya Service Bus kaynaklarına erişim vermenizi sağlar. Service Bus'ta SAS kimlik doğrulaması, bir Service Bus kaynağında ilişkili haklara sahip bir şifreleme anahtarı yapılandırması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.

Service Bus ad alanında SAS anahtarlarını yapılandırabilirsiniz. Anahtar, bu ad alanı içindeki tüm mesajlaşma varlıkları için geçerlidir. Service Bus kuyruklarında ve konu başlıklarında anahtarları da 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ı tanımlar.
  • 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ı.
  • Haklar: Verilen Dinleme, Gönderme veya Yönetme haklarının koleksiyonunu temsil eder.

Ad alanı düzeyinde yapılandırılan yetkilendirme kuralları, karşılık gelen anahtar kullanılarak imzalanmış belirteçlere sahip istemciler için ad alanında bulunan tüm varlıklara erişim verebilir. Service Bus ad alanı, kuyruğu 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ı kullanılarak oluşturulan bir SAS belirteci gerektirir. SAS belirteci, erişim talep edilen kaynak URI'sini ve yetkilendirme kuralıyla ilişkilendirilmiş şifreleme anahtarıyla bir süre sonunu içeren bir kaynak dizesinin HMAC-SHA256 kullanılarak oluşturulur.

Service Bus için SAS kimlik doğrulaması desteği, Azure .NET SDK 2.0 ve sonraki sürümlerine dahildir. SAS, paylaşılan erişim yetkilendirme kuralı desteği içerir. Parametre olarak bir bağlantı dizesi kabul eden tüm API'ler SAS bağlantı dizesi desteği içerir.

Sonraki adımlar

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

SAS ile kimlik doğrulaması hakkında daha fazla bilgi için aşağıdaki makalelere bakın: