Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat mengautentikasi ke sumber daya Azure Service Bus dengan dua cara:
- Microsoft Entra ID
- Tanda Tangan Akses Berbagi (SAS)
MICROSOFT Entra ID menyediakan keamanan yang unggul dan kemudahan penggunaan melalui tanda tangan akses bersama (SAS). Dengan menggunakan ID Microsoft Entra, Anda tidak perlu menyimpan token dalam kode Anda, yang mengurangi potensi kerentanan keamanan. Gunakan ID Microsoft Entra dengan aplikasi Azure Service Bus Anda jika memungkinkan.
Artikel ini menjelaskan cara menonaktifkan autentikasi kunci SAS (atau autentikasi lokal) dan hanya menggunakan ID Microsoft Entra untuk autentikasi.
Mengapa menonaktifkan autentikasi lokal?
Menonaktifkan autentikasi lokal (kunci SAS) memperkuat keamanan namespace Bus Layanan Anda dalam beberapa cara:
- Menghilangkan kredensial statis. Kunci SAS adalah rahasia bersama yang bertahan lama. Jika kunci bocor, siapa pun yang memilikinya dapat mengakses namespace hingga Anda memutar kunci secara manual. MICROSOFT Entra ID menggunakan token berumur pendek yang di-refresh secara otomatis.
- Memungkinkan kontrol akses yang sangat terperinci. Kebijakan SAS memberikan hak luas (Kirim, Dengarkan, Kelola) di tingkat namespace atau entitas. Kontrol akses berbasis peran (RBAC) Microsoft Entra memungkinkan Anda menetapkan peran tertentu (
Azure Service Bus Data Sender, ,Azure Service Bus Data Receiver)Azure Service Bus Data Owneruntuk pengguna individu, grup, perwakilan layanan, atau identitas terkelola. - Menyediakan jejak audit. Peristiwa autentikasi Microsoft Entra muncul di log masuk Microsoft Entra. Penggunaan kunci SAS tidak menghasilkan catatan audit yang setara pada tingkat identitas.
- Mendukung akses bersyarat. Dengan menggunakan ID Microsoft Entra, Anda dapat menerapkan kebijakan seperti autentikasi multifaktor, persyaratan perangkat tepercaya, dan pembatasan lokasi - yang tidak ada yang tersedia dengan menggunakan kunci SAS.
Petunjuk / Saran
Sebelum Anda menonaktifkan autentikasi lokal, perbarui semua aplikasi untuk diautentikasi dengan menggunakan ID Microsoft Entra. Lihat bagian langkah-langkah migrasi nanti di artikel ini.
Menggunakan portal untuk menonaktifkan otorisasi lokal
Di bagian ini, Anda mempelajari cara menggunakan portal Microsoft Azure untuk menonaktifkan autentikasi lokal.
Buka namespace Service Bus Anda di portal Microsoft Azure.
Di bagian Esensial dari halaman Gambaran Umum , pilih Diaktifkan untuk Autentikasi Lokal.
Pada halaman Autentikasi Lokal, pilih Nonaktif, dan pilih Oke.
Menggunakan templat untuk menonaktifkan autentikasi lokal
Anda dapat menonaktifkan autentikasi lokal untuk namespace Service Bus dengan mengatur disableLocalAuth properti ke true seperti yang diperlihatkan dalam templat berikut.
@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
}
}
Menggunakan Azure CLI atau PowerShell untuk menonaktifkan autentikasi lokal
Anda juga dapat menonaktifkan autentikasi lokal dengan menggunakan alat baris perintah untuk namespace yang sudah ada.
az servicebus namespace update \
--resource-group <resource-group-name> \
--name <namespace-name> \
--disable-local-auth true
Untuk mengaktifkan kembali autentikasi lokal:
az servicebus namespace update \
--resource-group <resource-group-name> \
--name <namespace-name> \
--disable-local-auth false
Anda dapat memverifikasi status saat ini dengan memeriksa disableLocalAuth properti:
az servicebus namespace show \
--resource-group <resource-group-name> \
--name <namespace-name> \
--query disableLocalAuth
Terapkan dengan Azure Policy
Untuk penerapan di seluruh penyewa atau langganan, gunakan kebijakan bawaan Azure Policy "Namespace Service Bus harus menonaktifkan metode autentikasi lokal" (ID kebijakan: ).
Kebijakan ini mengevaluasi namespace Bus Layanan dan menandai apa pun yang telah disableLocalAuth diatur ke false atau batal disetel. Anda dapat menetapkannya di tingkat grup manajemen, langganan, atau grup sumber daya.
Efek kebijakan
Saat Anda menetapkan kebijakan, pilih efek yang sesuai dengan kebutuhan penegakan Anda:
| Efek | Perilaku |
|---|---|
| Audit (standar) | Namespace yang ada dengan autentikasi lokal diaktifkan muncul sebagai tidak patuh di dasbor kepatuhan. Namespace baru masih diperbolehkan. |
| Menyangkal | Mencegah pembuatan atau pembaruan namespace layanan apa pun yang mengaktifkan autentikasi lokal. Gunakan efek ini untuk memberlakukan kepatuhan untuk sumber daya baru. |
Menetapkan kebijakan
- Di portal Microsoft Azure, bukaDefinisi>.
- Cari namespace Service Bus yang seharusnya memiliki metode autentikasi lokal dinonaktifkan.
- Pilih definisi kebijakan, lalu pilih Tetapkan.
- Pilih cakupan (grup manajemen, langganan, atau grup sumber daya).
- Pada tab Parameter , pilih efek yang diinginkan (Audit atau Tolak).
- Pilih Tinjau + buat, lalu Buat.
Setelah penugasan, namespace yang tidak mematuhi muncul diKepatuhan>. Anda dapat membuat tugas remediasi untuk namespace yang perlu diperbarui.
Migrasi dari SAS ke ID Microsoft Entra
Sebelum Anda menonaktifkan autentikasi lokal, perbarui semua aplikasi yang tersambung ke namespace Service Bus Anda untuk menggunakan ID Microsoft Entra alih-alih string koneksi atau token SAS. Ikuti langkah-langkah berikut:
Langkah 1: Menetapkan peran RBAC
Tetapkan peran data Azure Service Bus yang sesuai ke setiap identitas (pengguna, perwakilan layanan, atau identitas terkelola) yang memerlukan akses:
| Peranan | Persetujuan |
|---|---|
Azure Service Bus Data Sender |
Mengirimkan pesan ke antrian dan topik pesan |
Azure Service Bus Data Receiver |
Menerima pesan dari antrean dan langganan |
Azure Service Bus Data Owner |
Akses penuh (kirim, terima, kelola entitas) |
Anda dapat menetapkan peran melalui portal Microsoft Azure, Azure CLI, atau Azure PowerShell. Untuk instruksi mendetail, lihat Menetapkan peran Azure menggunakan portal Microsoft Azure.
Langkah 2: Memperbarui kode aplikasi
Ganti autentikasi berbasis string koneksi dengan DefaultAzureCredential (atau kredensial Microsoft Entra lainnya) dari pustaka Azure Identity. Contoh berikut menunjukkan perubahan untuk setiap bahasa:
// 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());
Untuk detail selengkapnya tentang setiap SDK, lihat:
- .NET: Sampel — Mengautentikasi klien
- Java: Sample — Kirim dengan Azure Identity
- Python: Sampel — Klien Azure Service Bus
- JavaScript: Sampel Bus Layanan
Langkah 3: Uji dengan kedua metode autentikasi diaktifkan
Sebarkan aplikasi yang diperbarui saat autentikasi lokal masih diaktifkan. Verifikasi bahwa:
- Anda berhasil mengirim dan menerima pesan.
- Log aplikasi menunjukkan akuisisi token Microsoft Entra (bukan SAS).
- Tidak ada kesalahan yang terkait dengan autentikasi yang muncul.
Langkah 4: Nonaktifkan autentikasi lokal
Setelah Anda mengonfirmasi bahwa semua aplikasi berfungsi dengan MICROSOFT Entra ID, nonaktifkan autentikasi lokal dengan menggunakan salah satu metode yang dijelaskan sebelumnya dalam artikel ini (portal, CLI, PowerShell, atau templat).
Langkah 5: Bersihkan kebijakan SAS (opsional)
Setelah Anda menonaktifkan autentikasi lokal, kebijakan SAS yang ada pada namespace tetap ada tetapi tidak dapat digunakan untuk menghasilkan token fungsional. Anda dapat membiarkannya di tempat atau menghapusnya untuk konfigurasi yang lebih bersih. Menghapus kebijakan yang tidak digunakan mengurangi permukaan serangan jika seseorang secara tidak sengaja mengaktifkan kembali autentikasi lokal.
Konten terkait
Untuk mempelajari tentang ID Microsoft Entra dan autentikasi SAS, lihat artikel berikut ini:
- Autentikasi dengan SAS
- Autentikasi dengan ID Microsoft Entra