Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Service Bus kaynaklarında kimlik doğrulaması yapmak için iki yöntem kullanabilirsiniz:
- Microsoft Entra Kimlik
- Paylaşılan Erişim İmzaları (SAS)
Microsoft Entra ID, paylaşılan erişim imzaları (SAS) üzerinden üstün güvenlik ve kullanım kolaylığı sağlar. Microsoft Entra Id kullanarak kodunuzda belirteçleri depolamanız gerekmez ve bu da olası güvenlik açıklarını azaltır. Mümkün olduğunda Azure Service Bus uygulamalarınızla Microsoft Entra Id kullanın.
Bu makalede SAS anahtarı kimlik doğrulamasını (veya yerel kimlik doğrulamasını) devre dışı bırakma ve kimlik doğrulaması için yalnızca Microsoft Entra Id kullanma açıklanmaktadır.
Yerel kimlik doğrulama neden devre dışı bırakılasın?
Yerel (SAS anahtarı) kimlik doğrulamasını devre dışı bırakmak, Service Bus ad alanınızın güvenliğini çeşitli yollarla güçlendirir:
- Statik kimlik bilgilerini ortadan kaldırır. SAS anahtarları, uzun ömürlü paylaşılan gizli bilgilerdir. Anahtar sızıntısı olursa, siz anahtarı el ile döndürene kadar bu anahtara sahip olan herkes ad alanınıza erişebilir. Microsoft Entra Id, otomatik olarak yenilenen kısa süreli belirteçler kullanır.
- Ayrıntılı erişim denetimini etkinleştirir. SAS ilkeleri, ad alanı veya varlık düzeyinde geniş haklar (Gönder, Dinle, Yönet) verir. Microsoft Entra rol tabanlı erişim denetimi (RBAC), tek tek kullanıcılara, gruplara,
Azure Service Bus Data Senderhizmet sorumlularına veya yönetilen kimliklere belirli rolleri (Azure Service Bus Data Receiver, ,Azure Service Bus Data Owner) atamanızı sağlar. - Bir denetim izi sağlar. Microsoft Entra kimlik doğrulama olayları Microsoft Entra oturum açma günlüklerinde görünür. SAS anahtarı kullanımı, benzer kimlik düzeyi denetim kayıtları oluşturmaz.
- Koşullu erişimi destekler. Microsoft Entra Id kullanarak, çok faktörlü kimlik doğrulaması, güvenilir cihaz gereksinimleri ve konum kısıtlamaları gibi ilkeleri zorunlu kılabilirsiniz. Bunların hiçbiri SAS anahtarları kullanılarak kullanılamaz.
Tip
Yerel kimlik doğrulamasını devre dışı bırakmadan önce, Microsoft Entra Id kullanarak tüm uygulamaları kimlik doğrulaması için güncelleştirin. Bu makalenin devamındaki geçiş adımları bölümüne bakın.
Yerel kimlik doğrulamasını devre dışı bırakmak için portalı kullanma
Bu bölümde, yerel kimlik doğrulamasını devre dışı bırakmak için Azure portalını kullanmayı öğreneceksiniz.
Azure portalında Service Bus ad alanınıza gidin.
Genel Bakış sayfasının Temel Parçalar bölümünde Yerel Kimlik Doğrulaması için Etkinleştirildi'yi seçin.
Yerel Kimlik Doğrulaması sayfasında Devre Dışı'yı ve ardından Tamam'ı seçin.
Yerel kimlik doğrulamasını devre dışı bırakmak için şablon kullanma
Aşağıdaki şablonlarda gösterildiği gibi disableLocalAuth özelliğini true olarak ayarlayarak Service Bus ad alanı için yerel kimlik doğrulamayı devre dışı bırakabilirsiniz.
- Biceps
- ARM şablonu
@description('Name of the Service Bus namespace')
param namespaceName string
@description('Location for all resources.')
param location string = resourceGroup().location
resource serviceBusNamespace 'Microsoft.ServiceBus/namespaces@2024-01-01' = {
name: namespaceName
location: location
sku: {
name: 'Standard'
tier: 'Standard'
}
properties: {
disableLocalAuth: true
}
}
Yerel kimlik doğrulamasını devre dışı bırakmak için Azure CLI veya PowerShell kullanma
Ayrıca, mevcut bir ad alanı için komut satırı araçlarını kullanarak yerel kimlik doğrulamasını devre dışı bırakabilirsiniz.
az servicebus namespace update \
--resource-group <resource-group-name> \
--name <namespace-name> \
--disable-local-auth true
Yerel kimlik doğrulamasını yeniden etkinleştirmek için:
az servicebus namespace update \
--resource-group <resource-group-name> \
--name <namespace-name> \
--disable-local-auth false
Özelliğini denetleyerek disableLocalAuth geçerli durumu doğrulayabilirsiniz:
az servicebus namespace show \
--resource-group <resource-group-name> \
--name <namespace-name> \
--query disableLocalAuth
Azure İlkesi ile uygulama
Kiracı genelinde veya abonelik genelinde uygulama için yerleşik Azure İlkesi Service Bus ad alanlarının yerel kimlik doğrulama yöntemlerinin devre dışı bırakılması sağlanmalıdır (ilke kimliği: cfb11c26-f069-4c14-8e36-56c394dae5af).
Bu ilke, Service Bus ad alanlarını değerlendirir ve disableLocalAuth ayarlanmış veya ayarlanmamış olan tüm ad alanlarını false olarak işaretler. Bunu yönetim grubu, abonelik veya kaynak grubu düzeyinde atayabilirsiniz.
İlke etkileri
İlkeyi atadığınızda, zorlama gereksinimlerinizle eşleşen bir efekt seçin:
| Etki | Davranış |
|---|---|
| Denetim (varsayılan) | Yerel kimlik doğrulaması etkinleştirilmiş mevcut ad alanları uyumluluk panosunda uyumsuz olarak görünür. Yeni ad alanlarına hala izin verilir. |
| Reddet | Yerel kimlik doğrulaması etkinleştirilmiş herhangi bir ad alanının oluşturulmasını veya güncelleştirilmesini engeller. Yeni kaynaklar için uyumluluğu zorunlu kılmak için bu etkiyi kullanın. |
İlkeyi uygula
- Azure portalındaPolitika>Tanımlarına gidin.
- Service Bus ad alanlarının aramalarında yerel kimlik doğrulama yöntemleri devre dışı bırakılmalıdır.
- İlke tanımını seçin, ardından Ata'yı seçin.
- Kapsamı (yönetim grubu, abonelik veya kaynak grubu) seçin.
- Parametreler sekmesinde, istediğiniz efekti seçin (Denetim veya Reddetme).
- Gözden geçir + oluştur'u ve ardından Oluştur'u seçin.
Atamadan sonra, uyumlu olmayan ad alanları Politika>Uyumluluk bölümünde görünür. Güncelleştirilmesi gereken ad alanları için bir düzeltme görevi oluşturabilirsiniz.
SAS'den Microsoft Entra Id'ye geçiş
Yerel kimlik doğrulamasını devre dışı bırakmadan önce Service Bus ad alanınıza bağlanan tüm uygulamaları bağlantı dizeleri veya SAS belirteçleri yerine Microsoft Entra Id kullanacak şekilde güncelleştirin. Aşağıdaki adımları izleyin:
1. Adım: RBAC rolleri atama
Erişim gerektiren her kimliğe (kullanıcı, hizmet sorumlusu veya yönetilen kimlik) uygun Azure Service Bus veri rolünü atayın:
| Rol | İzin |
|---|---|
Azure Service Bus Data Sender |
Kuyruklara ve konulara ileti gönderme |
Azure Service Bus Data Receiver |
Kuyruklardan ve aboneliklerden ileti alma |
Azure Service Bus Data Owner |
Tam erişim (varlıkları gönderme, alma, yönetme) |
Rolleri Azure portalı, Azure CLI veya Azure PowerShell aracılığıyla atayabilirsiniz. Ayrıntılı yönergeler için bkz. Azure portalını kullanarak Azure rolleri atama.
2. Adım: Uygulama kodunu güncelleştirme
Bağlantı dizesi tabanlı kimlik doğrulamasını Azure Identity kütüphanesinden DefaultAzureCredential (veya başka bir Microsoft Entra kimlik bilgisi) ile değiştirin. Aşağıdaki örneklerde her dil için değişiklik gösterilmektedir:
// Before (connection string):
await using ServiceBusClient client = new("<connection-string>");
// After (Microsoft Entra ID):
await using ServiceBusClient client = new(
"<your-namespace>.servicebus.windows.net",
new DefaultAzureCredential());
Her SDK hakkında daha fazla ayrıntı için bkz:
- .NET: Örnek — İstemcinin kimliğini doğrulama
- Java: Örnek — Azure Identity ile gönderme
- Python: Örnek — Service Bus Client
- JavaScript: Service Bus örnekleri
3. Adım: Her iki kimlik doğrulama yönteminin de etkin olduğu test
Yerel kimlik doğrulaması hala etkinken güncelleştirilmiş uygulamanızı dağıtın. Aşağıdakileri doğrulayın:
- İletileri başarıyla gönderip alırsınız.
- Uygulama günlükleri Microsoft Entra jeton alımını (SAS değil) gösterir.
- Kimlik doğrulamasıyla ilgili hiçbir hata görünmüyor.
4. Adım: Yerel kimlik doğrulamayı devre dışı bırakma
Tüm uygulamaların Microsoft Entra Id ile çalıştığını onayladıktan sonra, bu makalenin önceki bölümlerinde açıklanan yöntemlerden herhangi birini (portal, CLI, PowerShell veya şablon) kullanarak yerel kimlik doğrulamasını devre dışı bırakın.
5. Adım: SAS ilkelerini temizleme (isteğe bağlı)
Yerel kimlik doğrulamasını devre dışı bırakdıktan sonra, ad alanında var olan SAS ilkeleri kalır ancak işlevsel belirteçler oluşturmak için kullanılamaz. Bunları yerinde bırakabilir veya daha temiz bir yapılandırma için kaldırabilirsiniz. Kullanılmayan ilkelerin kaldırılması, birisi yanlışlıkla yerel kimlik doğrulamasını yeniden etkinleştirirse saldırı yüzeyini azaltır.
İlgili içerik
Microsoft Entra Id ve SAS kimlik doğrulaması hakkında bilgi edinmek için aşağıdaki makalelere bakın:
- SAS ile kimlik doğrulaması
- Microsoft Entra Kimliği ile kimlik doğrulaması