Service Bus kimlik doğrulaması ve yetkilendirme
Azure Service Bus kaynaklarına erişimin kimliğini doğrulamanın ve yetkilendirmenin iki yolu vardır: Azure Active Directory (Azure AD) ve Paylaşılan Erişim İmzaları (SAS). Bu makalede, bu iki tür güvenlik mekanizmasının kullanımıyla ilgili ayrıntılar ve bilgiler yer almaktadır.
Azure Active Directory
Service Bus kaynakları için Azure AD tümleştirmesi, bir istemcinin kaynaklara erişimi üzerinde daha fazla denetim için Azure rol tabanlı erişim denetimi (RBAC) sağlar. Kullanıcı, grup veya uygulama hizmet sorumlusu gibi güvenlik sorumlusuna izinler vermek için Azure RBAC'yi kullanabilirsiniz. Güvenlik sorumlusu, OAuth 2.0 belirteci iade etmek için Azure AD tarafından doğrulanır. Belirteç, belirli bir kaynağa (kuyruk, konu vb.) Service Bus isteği yetkilendirmek için kullanılabilir.
Azure AD ile kimlik doğrulama hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Not
Service Bus REST API Azure AD ile OAuth kimlik doğrulamasını destekler.
Önemli
Azure AD tarafından döndürülen OAuth 2.0 belirteci kullanarak kullanıcıları veya uygulamaları yetkilendirmek, paylaşılan erişim imzaları (SAS) üzerinden üstün güvenlik ve kullanım kolaylığı sağlar. Azure AD ile belirteçleri kodunuzda depolamanıza gerek yoktur ve olası güvenlik açıklarını riske atabilirsiniz. Mümkün olduğunda Azure Ad'i Azure Service Bus kullanmanızı öneririz.
Paylaşılan erişim imzası
SAS kimlik doğrulaması, bir kullanıcıya belirli haklarla Service Bus erişim izni verir. Service Bus SAS kimlik doğrulaması, bir şifreleme kaynağının ilişkili haklarıyla şifreleme anahtarının Service Bus içerir. İstemciler daha sonra erişilen kaynak URI'lerinden ve yapılandırılan anahtarla imzalanan süre sonundan oluşan bir SAS belirteci sunarak bu kaynağa erişim elde eder.
Sas için anahtarları bir ad alanı üzerinde Service Bus yapılandırebilirsiniz. Anahtar, bu ad alanı içindeki tüm mesajlaşma varlıkları için geçerlidir. Ayrıca anahtarları kuyruklarda ve Service Bus da yapılandırabilirsiniz. SAS, üzerinde de Azure Relay.
SAS kullanmak için ad alanı, kuyruk veya konu başlığında 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ı.
- Rights: Verilen Dinleme, Gönderme veya Yönetme haklarının koleksiyonunu temsil eder.
Ad alanı düzeyinde yapılandırılan yetkilendirme kuralları, ilgili anahtar kullanılarak imzalanan belirteçleri olan istemciler için bir ad alanındaki tüm varlıklara erişim izni verir. Bir ad alanı, kuyruk veya konu başlığında en fazla 12 Service Bus yetkilendirme kuralı yapılandırabilirsiniz. Varsayılan olarak, ilk kez sağıldığında her ad alanı için tüm haklara sahip bir paylaşılan erişim yetkilendirme kuralı yapılandırılır.
Bir varlığa erişmek için istemci, belirli bir paylaşılan erişim yetkilendirme kuralı kullanılarak oluşturulmuş bir SAS belirteci gerektirir. SAS belirteci, erişimin talep olduğu kaynak URI'sini içeren bir kaynak dizesinin HMAC-SHA256'sı kullanılarak oluşturulur ve yetkilendirme kuralıyla ilişkili bir şifreleme anahtarı ile sona erer.
Service Bus SAS kimlik doğrulaması desteği, Azure .NET SDK 2.0 ve sonraki sürümlerine dahil edilir. SAS, paylaşılan erişim yetkilendirme kuralı için destek içerir. Parametre olarak bir bağlantı dizesini kabul eden tüm API'ler SAS bağlantı dizeleri için destek içerir.
Sonraki adımlar
Azure AD ile kimlik doğrulama hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
SAS ile kimlik doğrulama hakkında daha fazla bilgi için aşağıdaki makalelere bakın: