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.
Artikel ini membahas tanda tangan akses bersama (SAS), cara kerjanya, dan cara menggunakannya dengan cara agnostik platform dengan Azure Service Bus.
SAS melindungi akses ke Bus Layanan berdasarkan aturan otorisasi yang dikonfigurasi pada namespace layanan atau di entitas olahpesan (antrean atau topik). Aturan otorisasi memiliki nama, dikaitkan dengan hak tertentu, dan membawa sepasang kunci kriptografi. Anda menggunakan nama dan kunci aturan melalui Bus Layanan SDK atau dalam kode Anda sendiri untuk menghasilkan token SAS. Klien kemudian dapat meneruskan token ke Bus Layanan untuk membuktikan otorisasi untuk operasi yang diminta.
Metode otorisasi pilihan
Azure Service Bus mendukung otorisasi akses ke namespace Bus Layanan dan entitasnya dengan menggunakan ID Microsoft Entra. Mengotorisasi pengguna atau aplikasi dengan menggunakan token OAuth 2.0 yang dikembalikan oleh ID Microsoft Entra memberikan keamanan yang unggul dan kemudahan penggunaan melalui tanda tangan akses bersama. Kunci SAS tidak memiliki kontrol akses halus, sulit dikelola dan diputar, dan tidak memberikan kemampuan audit untuk mengaitkan penggunaannya dengan pengguna atau perwakilan layanan tertentu.
Untuk alasan ini, sebaiknya gunakan ID Microsoft Entra dengan aplikasi Azure Service Bus Anda jika memungkinkan. Untuk informasi lebih lanjut, baca artikel berikut:
- Mengautentikasi dan mengotorisasi aplikasi dengan ID Microsoft Entra untuk mengakses entitas Azure Service Bus
- Autentikasi identitas terkelola dengan Microsoft Entra ID untuk mengakses sumber daya Azure Service Bus
Anda dapat menonaktifkan autentikasi kunci lokal atau SAS untuk namespace Bus Layanan dan hanya mengizinkan autentikasi Microsoft Entra. Untuk instruksi langkah demi langkah, lihat Menonaktifkan autentikasi lokal.
Gambaran umum SAS
Tanda tangan akses bersama adalah mekanisme otorisasi berbasis klaim yang menggunakan token sederhana. Ketika Anda menggunakan SAS, kunci tidak pernah diteruskan pada kawat. Kunci digunakan untuk menandatangani informasi secara kriptografis yang nantinya dapat diverifikasi oleh layanan.
Anda dapat menggunakan SAS dengan cara yang sama dengan skema nama pengguna dan kata sandi, di mana klien langsung memiliki nama aturan otorisasi dan kunci yang cocok. Anda juga dapat menggunakan SAS dengan cara yang sama dengan model keamanan federasi, di mana klien menerima token akses terbatas waktu dan ditandatangani dari layanan token keamanan tanpa pernah mendapatkan kunci penandatanganan.
Autentikasi SAS di Azure Bus Layanan dikonfigurasi dengan kebijakan otorisasi akses bersama bernama yang memiliki hak akses terkait, bersama dengan sepasang kunci kriptografi primer dan sekunder. Kuncinya adalah nilai 256-bit dalam representasi Base64. Anda dapat mengonfigurasi aturan di tingkat namespace, pada antrean dan topik Bus Layanan.
Catatan
Kunci ini adalah string teks biasa yang menggunakan representasi Base64. Mereka tidak boleh didekodekan sebelum digunakan.
Token SAS berisi:
- Nama kebijakan otorisasi yang dipilih.
- URI sumber daya yang akan diakses.
- Instan kedaluwarsa.
- Tanda tangan kriptografi HMAC-SHA256 dihitung di atas bidang-bidang ini melalui kunci kriptografi primer atau sekunder dari aturan otorisasi yang dipilih.
Kebijakan otorisasi akses bersama
Setiap namespace Bus Layanan dan setiap entitas Azure Bus Layanan memiliki kebijakan otorisasi akses bersama yang terdiri dari aturan. Kebijakan di tingkat namespace berlaku untuk semua entitas di namespace, terlepas dari konfigurasi kebijakan individual mereka.
Untuk setiap aturan kebijakan otorisasi, Anda memutuskan tiga jenis informasi:
Nama. Nama unik dalam ruang lingkup.
Scope. URI sumber daya yang dimaksud. Untuk namespace Bus Layanan, cakupannya adalah namespace yang sepenuhnya memenuhi syarat, seperti
https://<yournamespace>.servicebus.windows.net/.Hak. Hak yang diberikan oleh aturan kebijakan. Mereka bisa menjadi kombinasi dari:
- Kirim. Memberikan hak untuk mengirim pesan ke entitas.
- Dengarkan. Memberikan hak untuk menerima pesan (antrean dan langganan) dan semua penanganan pesan terkait.
- Kelola. Memberikan hak untuk mengelola topologi namespace, termasuk membuat dan menghapus entitas. Hak Kelola mencakup hak Kirim dan Dengar.
Kebijakan namespace atau entitas dapat menyimpan hingga 12 aturan otorisasi akses bersama untuk memberikan ruang untuk tiga set aturan. Setiap set aturan mencakup hak dasar, bersama dengan kombinasi Kirim dan Dengarkan. Batas ini adalah per entitas, sehingga namespace layanan dan setiap entitas dapat memiliki hingga 12 aturan otorisasi akses bersama.
Batas aturan adalah pengingat bahwa penyimpanan kebijakan SAS tidak dimaksudkan untuk menjadi penyimpanan akun pengguna atau layanan. Jika aplikasi Anda perlu memberikan akses ke Bus Layanan berdasarkan identitas pengguna atau layanan, aplikasi harus menerapkan layanan token keamanan yang mengeluarkan token SAS setelah autentikasi dan pemeriksaan akses.
Aturan otorisasi diberi kunci primer dan kunci sekunder. Kunci ini adalah kunci yang kuat secara kriptografis, jadi pastikan untuk melindunginya. Mereka selalu tersedia di portal Microsoft Azure.
Anda dapat menggunakan salah satu kunci yang dihasilkan, dan Anda dapat meregenerasinya kapan saja. Jika Anda meregenerasi atau mengubah kunci dalam kebijakan, semua token yang dikeluarkan sebelumnya berdasarkan kunci tersebut menjadi tidak valid secara instan. Namun, koneksi berkelanjutan yang didasarkan pada token tersebut terus berfungsi sampai token kedaluwarsa.
Saat Anda membuat namespace Bus Layanan, aturan kebijakan bernama RootManageSharedAccessKey secara otomatis dibuat untuk namespace tersebut. Kebijakan ini memiliki izin Kelola untuk seluruh namespace. Kami menyarankan agar Anda memperlakukan aturan ini seperti akun akar administratif dan tidak menggunakannya di aplikasi Anda. Anda dapat membuat lebih banyak aturan kebijakan pada tab Kebijakan akses bersama untuk namespace layanan di portal, melalui Azure PowerShell atau Azure CLI.
Kami menyarankan agar Anda secara berkala meregenerasi kunci yang digunakan dalam objek SharedAccessAuthorizationRule . Slot kunci primer dan sekunder ada sehingga Anda dapat memutar kunci secara bertahap. Jika aplikasi Anda umumnya menggunakan kunci primer, Anda dapat menyalin kunci primer ke slot kunci sekunder dan hanya kemudian meregenerasi kunci primer. Nilai kunci primer baru kemudian dapat dikonfigurasi ke dalam aplikasi klien, yang telah melanjutkan akses melalui kunci primer lama di slot sekunder. Setelah semua klien diperbarui, Anda dapat meregenerasi kunci sekunder untuk akhirnya menghentikan kunci primer lama.
Jika Anda tahu atau menduga bahwa kunci disusupi dan Anda harus mencabut kunci, Anda dapat meregenerasi nilai PrimaryKey dan SecondaryKey dari SharedAccessAuthorizationRule untuk menggantinya dengan kunci baru. Prosedur ini membatalkan semua token yang ditandatangani dengan kunci lama.
Praktik terbaik untuk menggunakan tanda tangan akses bersama
Saat Anda menggunakan shared access signatures di aplikasi, Anda perlu mengetahui dua risiko potensial:
- Jika SAS bocor, siapa pun yang mendapatkannya dapat menggunakannya. Risiko ini berpotensi membahayakan sumber daya Bus Layanan Anda.
- Jika SAS yang disediakan untuk aplikasi klien kedaluwarsa dan aplikasi tidak dapat mengambil SAS baru dari layanan Anda, kedaluwarsa mungkin menghambat fungsionalitas aplikasi.
Rekomendasi berikut untuk menggunakan shared access signatures dapat membantu mengurangi risiko ini:
Minta klien memperbarui SAS secara otomatis jika perlu. Klien harus memperbarui SAS dengan baik sebelum kedaluwarsa, untuk memungkinkan waktu percobaan ulang jika layanan yang menyediakan SAS tidak tersedia.
Jika SAS Anda dimaksudkan untuk digunakan dalam beberapa operasi berumur pendek yang segera selesai dalam periode kedaluwarsa, perpanjangan mungkin tidak diperlukan karena SAS tidak diharapkan diperpanjang. Namun, jika Anda memiliki klien yang secara rutin membuat permintaan melalui SAS, kemungkinan kedaluwarsa menjadi pertimbangan.
Pertimbangan utamanya adalah menyeimbangkan kebutuhan SAS agar berumur pendek dengan kebutuhan untuk memastikan bahwa klien meminta perpanjangan cukup awal. Keseimbangan ini membantu menghindari gangguan akibat SAS kedaluwarsa sebelum perpanjangan berhasil.
Berhati-hatilah dengan waktu mulai SAS. Jika Anda mengatur waktu mulai untuk SAS ke sekarang, Anda mungkin melihat kegagalan secara terputus-putus selama beberapa menit pertama. Alasannya adalah ketidakselarasan jam: perbedaan waktu saat ini sesuai dengan mesin yang berbeda.
Secara umum, setel waktu mulai setidaknya 15 menit sebelumnya. Atau jangan atur sama sekali, yang akan membuatnya langsung valid dalam semua kasus. Praktik terbaik umum yang sama juga berlaku untuk waktu kedaluwarsa. Ingatlah bahwa Anda mungkin mengamati hingga 15 menit perbedaan waktu ke kedua arah dalam permintaan apa pun.
Spesifikkan dengan sumber daya yang akan diakses. Praktik terbaik keamanan adalah memberi pengguna hak istimewa minimum yang diperlukan. Jika pengguna hanya memerlukan akses baca ke satu entitas, beri mereka akses baca ke entitas tunggal tersebut dan bukan akses baca/tulis/hapus ke semua entitas. Praktik ini juga membantu mengurangi kerusakan jika SAS disusupi karena SAS memiliki lebih sedikit kekuatan di tangan penyerang.
Jangan selalu menggunakan SAS. Terkadang risiko yang terkait dengan operasi tertentu terhadap Bus Layanan melebihi manfaat SAS. Untuk operasi tersebut, buat layanan lapisan tengah yang menulis ke Bus Layanan setelah aturan bisnis divalidasi, diotentikasi, dan diaudit.
Selalu gunakan HTTPS untuk membuat atau mendistribusikan SAS. Jika SAS diteruskan melalui HTTP dan dicegat, penyerang yang melakukan serangan man-in-the-middle dapat membaca SAS dan kemudian menggunakannya seperti yang bisa dimiliki pengguna yang dimaksud. Situasi ini berpotensi membahayakan data sensitif atau memungkinkan pengguna jahat merusak data.
Konfigurasi untuk autentikasi SAS
Anda dapat mengonfigurasi kebijakan SAS pada namespace Bus Layanan, antrean, atau topik. Bus Layanan saat ini tidak mendukung konfigurasi kebijakan SAS pada langganan, tetapi Anda dapat menggunakan aturan yang dikonfigurasi pada namespace layanan atau topik untuk mengamankan akses ke langganan.
Dalam contoh berikut, aturan otorisasi manageRuleNS, sendRuleNS, dan listenRuleNS berlaku untuk antrean Q1 dan topik T1. Aturan listenRuleQ dan sendRuleQ hanya berlaku untuk antrean Q1. Aturan sendRuleT hanya berlaku untuk topik T1.
Pembuatan token SAS
Setiap klien yang memiliki akses ke nama aturan otorisasi dan salah satu kunci penandatanganannya dapat menghasilkan token SAS. Klien menghasilkan token dengan membuat string dalam format berikut:
SharedAccessSignature sig=<signature-string>&se=<expiry>&skn=<keyName>&sr=<URL-encoded-resourceURI>
se: Waktu kedaluwarsa token. Bilangan bulat mencerminkan detik sejak epoch00:00:00 UTCpada 1 Januari 1970 (UNIX epoch) saat token kedaluwarsa.skn: Nama aturan otorisasi.sr: URI dari sumber daya yang diakses dan dikodekan URL.sig: Tanda tangan HMAC-SHA256 yang dikodekan URL. Komputasi hash terlihat mirip dengan pseudocode berikut dan mengembalikan Base64 dari output biner mentah.urlencode(base64(hmacsha256(urlencode('https://<yournamespace>.servicebus.windows.net/') + "\n" + '<expiry instant>', '<signing key>')))
Token berisi nilai yang tidak di-hash sehingga penerima dapat mengolah ulang hash dengan parameter yang sama dan memverifikasi bahwa penerbit memiliki kunci penandatanganan yang valid.
URI sumber daya adalah URI lengkap dari sumber daya Bus Layanan yang aksesnya diklaim. Misalnya: http://<namespace>.servicebus.windows.net/<entityPath> atau sb://<namespace>.servicebus.windows.net/<entityPath>; yaitu, http://contoso.servicebus.windows.net/contosoTopics/T1/Subscriptions/S3. URI harus dikodekan persen.
Aturan otorisasi akses bersama untuk penandatanganan harus dikonfigurasi pada entitas yang ditentukan oleh URI ini, atau oleh salah satu induk hierarkisnya. Dalam contoh sebelumnya, entitas adalah http://contoso.servicebus.windows.net/contosoTopics/T1 atau http://contoso.servicebus.windows.net.
Token SAS berlaku untuk semua sumber daya yang diawali dengan nilai <resourceURI> di signature-string.
Untuk contoh pembuatan token SAS dengan menggunakan berbagai bahasa pemrograman, lihat Menghasilkan token SAS.
Regenerasi kunci
Sebaiknya Anda meregenerasi kunci secara berkala dalam kebijakan otorisasi akses bersama. Slot kunci primer dan sekunder ada sehingga Anda dapat memutar kunci secara bertahap. Jika aplikasi Anda umumnya menggunakan kunci primer, Anda dapat menyalin kunci primer ke slot kunci sekunder dan hanya kemudian meregenerasi kunci primer. Nilai kunci primer baru kemudian dapat dikonfigurasi ke dalam aplikasi klien, yang telah melanjutkan akses melalui kunci primer lama di slot sekunder. Setelah semua klien diperbarui, Anda dapat meregenerasi kunci sekunder untuk akhirnya menghentikan kunci primer lama.
Jika Anda tahu atau menduga bahwa kunci disusupi dan Anda harus mencabut kunci, Anda dapat meregenerasi kunci primer dan kunci sekunder dari kebijakan otorisasi akses bersama untuk menggantinya dengan kunci baru. Prosedur ini membatalkan semua token yang ditandatangani dengan kunci lama.
Untuk meregenerasi kunci primer dan sekunder di portal Microsoft Azure, gunakan salah satu metode berikut.
portal Azure
Di portal Microsoft Azure, buka namespace Bus Layanan.
Di menu sebelah kiri, pilih Kebijakan akses bersama.
Pilih kebijakan dari daftar. Langkah-langkah ini menggunakan RootManageSharedAccessKey sebagai contoh.
Untuk meregenerasi kunci utama, pada panel Kebijakan SAS: RootManageSharedAccessKey , pilih Regenerasi Kunci Primer pada bilah perintah.
Untuk meregenerasi kunci sekunder, pada panel Kebijakan SAS: RootManageSharedAccessKey , pilih elipsis (...) pada bilah perintah, lalu pilih Regenerasi Kunci Sekunder.
Azure PowerShell
Jika Anda menggunakan Azure PowerShell, gunakan New-AzServiceBusKey cmdlet untuk meregenerasi kunci primer dan sekunder untuk namespace Bus Layanan. Anda juga dapat menggunakan -KeyValue parameter untuk menentukan nilai untuk kunci primer dan sekunder yang diregenerasi.
Azure CLI
Jika Anda menggunakan Azure CLI, gunakan az servicebus namespace authorization-rule keys renew perintah untuk meregenerasi kunci primer dan sekunder untuk namespace Bus Layanan. Anda juga dapat menggunakan --key-value parameter untuk menentukan nilai untuk kunci primer dan sekunder yang diregenerasi.
Autentikasi SAS dengan Bus Layanan
Skenario berikut mencakup konfigurasi aturan otorisasi, pembuatan token SAS, dan otorisasi klien.
Untuk sampel aplikasi Bus Layanan yang mengilustrasikan konfigurasi dan menggunakan otorisasi SAS, lihat operasi CRUD.
Mengakses aturan SAS pada entitas
Gunakan operasi dapatkan atau perbarui pada antrean atau topik di pustaka manajemen untuk Bus Layanan untuk mengakses dan memperbarui aturan otorisasi akses bersama yang sesuai. Anda juga dapat menambahkan aturan ketika membuat antrian atau topik dengan menggunakan pustaka ini.
Menggunakan otorisasi SAS
Aplikasi yang menggunakan salah satu SDK Bus Layanan dalam salah satu bahasa yang didukung secara resmi dapat menggunakan otorisasi SAS melalui string koneksi yang diteruskan ke konstruktor klien. Bahasa yang didukung termasuk .NET, Java, JavaScript, dan Python.
String koneksi dapat menyertakan nama aturan (SharedAccessKeyName) dan kunci aturan (SharedAccessKey) atau token yang dikeluarkan sebelumnya (SharedAccessSignature). Ketika item tersebut ada dalam string koneksi yang diteruskan ke konstruktor atau metode pabrik apa pun yang menerima string koneksi, penyedia token SAS secara otomatis dibuat dan diisi.
Untuk menggunakan otorisasi SAS dengan langganan Azure Bus Layanan, Anda dapat menggunakan kunci SAS yang dikonfigurasi pada namespace Bus Layanan atau pada topik.
Menggunakan tanda tangan akses bersama di tingkat HTTP
Sekarang setelah Anda tahu cara membuat tanda tangan akses bersama untuk entitas apa pun di Azure Bus Layanan, Anda siap untuk melakukan permintaan HTTP POST :
POST https://<yournamespace>.servicebus.windows.net/<yourentity>/messages
Content-Type: application/json
Authorization: SharedAccessSignature sr=https%3A%2F%2F<yournamespace>.servicebus.windows.net%2F<yourentity>&sig=<yoursignature from code above>&se=1438205742&skn=KeyName
ContentType: application/atom+xml;type=entry;charset=utf-8
Ingat, metode ini berfungsi untuk semuanya. Anda dapat membuat SAS untuk antrean, topik, atau langganan.
Jika Anda memberikan token SAS kepada pengirim atau klien, mereka tidak memiliki akses langsung ke kunci tersebut dan tidak dapat membalikkan hash untuk memperolehnya. Anda memiliki kontrol atas apa yang dapat diakses pengirim atau klien, dan untuk berapa lama. Hal penting yang perlu diingat adalah bahwa jika Anda mengubah kunci utama dalam kebijakan, setiap tanda tangan akses bersama yang dibuat darinya tidak valid.
Menggunakan tanda tangan akses bersama di tingkat AMQP
Bagian sebelumnya menunjukkan cara menggunakan token SAS dengan permintaan HTTP POST untuk mengirim data ke Azure Bus Layanan. Anda dapat mengakses Bus Layanan dengan menggunakan Advanced Message Queuing Protocol (AMQP). AMQP adalah protokol yang lebih disukai untuk digunakan karena alasan performa, dalam banyak skenario. Penggunaan token SAS dengan AMQP dijelaskan dalam dokumen AMQP Claim-Based Security Versi 1.0.
Sebelum penerbit mulai mengirim data ke Bus Layanan, penerbit harus mengirim token SAS di dalam pesan AMQP ke simpul AMQP yang terdefinisi dengan baik bernama $cbs. Ini adalah antrean khusus yang digunakan layanan untuk memperoleh dan memvalidasi semua token SAS.
Penerbit harus menentukan ReplyTo bidang dalam pesan AMQP. Ini adalah simpul di mana layanan membalas penerbit dengan hasil validasi token (pola permintaan/balasan sederhana antara penerbit dan layanan). Simpul balasan ini dibuat secara dinamis, seperti yang dijelaskan spesifikasi AMQP 1.0. Setelah penerbit memeriksa bahwa token SAS valid, penerbit dapat mulai mengirim data ke layanan.
Langkah-langkah berikut menunjukkan cara mengirim token SAS dengan protokol AMQP dengan menggunakan pustaka AMQP.NET Lite . Pustaka ini berguna jika Anda tidak dapat menggunakan Bus Layanan SDK resmi (misalnya, di WinRT, .NET Compact Framework, .NET Micro Framework, dan Mono) saat mengembangkan di C#. Pustaka juga berguna dalam memahami cara kerja keamanan berbasis klaim di tingkat AMQP. Anda melihat cara kerjanya di tingkat HTTP, dengan permintaan HTTP POST dan token SAS yang dikirim di Authorization dalam header.
Jika Anda tidak memerlukan pengetahuan mendalam tentang AMQP, Anda dapat menggunakan Bus Layanan SDK resmi dalam salah satu bahasa yang didukung, seperti .NET, Java, JavaScript, Python, dan Go. SDK akan melakukannya untuk Anda.
C#
/// <summary>
/// Send claim-based security (CBS) token
/// </summary>
/// <param name="shareAccessSignature">Shared access signature (token) to send</param>
private bool PutCbsToken(Connection connection, string sasToken)
{
bool result = true;
Session session = new Session(connection);
string cbsClientAddress = "cbs-client-reply-to";
var cbsSender = new SenderLink(session, "cbs-sender", "$cbs");
var cbsReceiver = new ReceiverLink(session, cbsClientAddress, "$cbs");
// construct the put-token message
var request = new Message(sasToken);
request.Properties = new Properties();
request.Properties.MessageId = Guid.NewGuid().ToString();
request.Properties.ReplyTo = cbsClientAddress;
request.ApplicationProperties = new ApplicationProperties();
request.ApplicationProperties["operation"] = "put-token";
request.ApplicationProperties["type"] = "servicebus.windows.net:sastoken";
request.ApplicationProperties["name"] = Fx.Format("amqp://{0}/{1}", sbNamespace, entity);
cbsSender.Send(request);
// receive the response
var response = cbsReceiver.Receive();
if (response == null || response.Properties == null || response.ApplicationProperties == null)
{
result = false;
}
else
{
int statusCode = (int)response.ApplicationProperties["status-code"];
if (statusCode != (int)HttpStatusCode.Accepted && statusCode != (int)HttpStatusCode.OK)
{
result = false;
}
}
// the sender/receiver might be kept open for refreshing tokens
cbsSender.Close();
cbsReceiver.Close();
session.Close();
return result;
}
Metode PutCbsToken() ini menerima koneksi (instans kelas koneksi AMQP, yang disediakan oleh pustaka AMQP .NET Lite). Instans ini mewakili koneksi TCP ke layanan dan sasToken parameter yang merupakan token SAS untuk dikirim.
Catatan
Penting untuk membuat koneksi dengan mekanisme Lapisan Autentikasi dan Keamanan Sederhana (SASL) yang diatur ke ANONYMOUS. Jangan atur mekanisme ke default PLAIN dengan nama pengguna dan kata sandi yang digunakan saat Anda tidak perlu mengirim token SAS.
Selanjutnya, penerbit membuat dua tautan AMQP untuk mengirim token SAS dan menerima balasan (hasil validasi token) dari layanan.
Pesan AMQP berisi sekumpulan properti dan informasi lebih lanjut daripada pesan sederhana:
- Token SAS adalah isi pesan (menggunakan konstruktornya).
- Properti
ReplyTodiatur ke nama simpul untuk menerima hasil validasi pada tautan penerima. Anda dapat mengubah namanya jika diinginkan, dan layanan membuatnya secara dinamis. - Layanan ini menggunakan tiga properti aplikasi/kustom terakhir untuk menunjukkan jenis operasi apa yang harus dijalankannya. Seperti yang dijelaskan oleh spesifikasi draf AMQP Claim-Based Security, mereka harus:
- Nama operasi (
put-token) - Jenis token (dalam hal ini,
servicebus.windows.net:sastoken) - Nama audiens tempat token diterapkan (seluruh entitas)
- Nama operasi (
Setelah penerbit mengirim token SAS pada tautan pengirim, penerbit harus membaca balasan pada tautan penerima. Balasannya adalah pesan AMQP sederhana dengan properti aplikasi bernama status-code. Properti ini dapat berisi nilai yang sama dengan kode status HTTP.
Hak yang diperlukan untuk operasi Bus Layanan
Tabel berikut menunjukkan hak akses yang diperlukan untuk berbagai operasi pada sumber daya Azure Bus Layanan.
| Operasi | Klaim diperlukan | Cakupan klaim |
|---|---|---|
| Namespace | ||
| Mengonfigurasi aturan otorisasi pada namespace | Manage | Alamat namespace apa pun |
| Registri layanan | ||
| Mendaftar kebijakan pribadi | Manage | Alamat namespace apa pun |
| Mulai mendengarkan pada namespace | Dengar | Alamat namespace apa pun |
| Mengirim pesan ke pendengar di namespace | Send | Alamat namespace apa pun |
| Queue | ||
| Membuat antrean | Manage | Alamat namespace apa pun |
| Menghapus antrean | Manage | Alamat antrean yang valid |
| Menyusun daftar antrian | Manage | /$Resources/Queues |
| Mendapatkan deskripsi antrean | Manage | Alamat antrean yang valid |
| Mengonfigurasi aturan otorisasi untuk antrean | Manage | Alamat antrean yang valid |
| Cek apakah antrean eksis atau tidak | Manage | Alamat antrean yang valid |
| Kirim ke antrean | Send | Alamat antrean yang valid |
| Menerima pesan dari antrean | Dengar | Alamat antrean yang valid |
| Mengabaikan atau menyelesaikan pesan setelah menerima pesan dalam mode peek-lock | Dengar | Alamat antrean yang valid |
| Menunda pesan untuk diambil kemudian | Dengar | Alamat antrean yang valid |
| Pesan tak tersampaikan | Dengar | Alamat antrean yang valid |
| Mendapatkan status yang terkait dengan sesi antrean pesan | Dengar | Alamat antrean yang valid |
| Mengatur status yang terkait dengan sesi antrean pesan | Dengar | Alamat antrean yang valid |
| Menjadwalkan pesan untuk pengiriman nanti | Dengar | Alamat antrean yang valid |
| Topic | ||
| Buat topik | Manage | Alamat namespace apa pun |
| Menghapus topik | Manage | Alamat topik apa pun yang valid |
| Mendaftar topik | Manage | /$Resources/Topics |
| Mendapatkan deskripsi topik | Manage | Alamat topik apa pun yang valid |
| Mengonfigurasi aturan otorisasi untuk topik | Manage | Alamat topik apa pun yang valid |
| Kirim ke tema | Send | Alamat topik apa pun yang valid |
| Subscription | ||
| Buat langganan | Manage | Alamat namespace apa pun |
| Menghapus langganan | Manage | ../myTopic/Subscriptions/mySubscription |
| Menghitung langganan | Manage | ../myTopic/Subscriptions |
| Mendapatkan deskripsi langganan | Manage | ../myTopic/Subscriptions/mySubscription |
| Mengabaikan atau menyelesaikan pesan setelah menerima pesan dalam mode peek-lock | Dengar | ../myTopic/Subscriptions/mySubscription |
| Menunda pesan untuk diambil kemudian | Dengar | ../myTopic/Subscriptions/mySubscription |
| Pesan tak tersampaikan | Dengar | ../myTopic/Subscriptions/mySubscription |
| Mendapatkan status yang terkait dengan sesi topik | Dengar | ../myTopic/Subscriptions/mySubscription |
| Mengatur status yang terkait dengan sesi topik | Dengar | ../myTopic/Subscriptions/mySubscription |
| Rules | ||
| Buat aturan | Dengar | ../myTopic/Subscriptions/mySubscription |
| Menghapus aturan | Dengar | ../myTopic/Subscriptions/mySubscription |
| Menghitung aturan | Kelola atau Dengarkan | ../myTopic/Subscriptions/mySubscription/Rules |
Konten terkait
Untuk mempelajari lebih lanjut tentang pesan di Bus Layanan, lihat topik berikut ini: