Pesan error berikut muncul saat Anda memanggil operasi API atau menggunakan SDK untuk mengakses Simple Message Queue (sebelumnya dikenal sebagai MNS): Kode status HTTP: 403, kode error: AccessDenied, dan pesan error: The OwnerId yang diidentifikasi oleh Access Key Id Anda tidak diizinkan untuk operasi ini. Masalah ini dapat terjadi karena salah satu dari penyebab berikut: 1. Anda mencoba mengakses antrian di wilayah lain. 2. OwnerID yang ditentukan tidak valid. 3. Kebijakan izin yang dilampirkan pada pengguna RAM tidak valid.
Masalah
Pesan error berikut muncul saat Anda menggunakan SDK SMQ atau memanggil operasi API SMQ:
[Kode Error]:403 AccessDenied [Pesan]:The OwnerId yang dikaitkan dengan Access Key Id Anda tidak diizinkan untuk operasi ini.Penyebab
Penyebab berikut mungkin terjadi:
Antrian SMQ yang ingin Anda akses berada di wilayah yang berbeda dari wilayah tempat SMQ Anda diaktifkan.
Jika Anda menggunakan endpoint antrian pribadi, produsen dan konsumen pesan harus ditempatkan pada instans Elastic Compute Service (ECS) di wilayah yang sama. Jika tidak, masalah ini akan terjadi.
Jika Anda menggunakan endpoint antrian publik, produsen dan konsumen pesan dapat ditempatkan pada server lokal atau pada instans ECS yang memiliki akses Internet dan berada di wilayah yang sama.
Nilai parameter OwnerId tidak valid. Parameter OwnerId menentukan ID akun Alibaba Cloud. Anda dapat masuk ke konsol SMQ, arahkan kursor ke avatar di sebelah kanan, dan peroleh ID akun dari jendela pop-up yang muncul.

Pengguna RAM tidak valid atau izin pengguna RAM tidak valid.
Saat Anda memanggil operasi API berbasis HTTP, URL request yang ditentukan tidak sesuai dengan sintaks header permintaan. Untuk informasi lebih lanjut, lihat Referensi.
SDK pihak ketiga digunakan.
Solusi
Untuk memecahkan masalah ini, lakukan langkah-langkah berikut:
Masuk ke konsol SMQ. Pilih wilayah tempat antrian SMQ yang ingin Anda gunakan berada dan klik Queues. Pada halaman Antrian, temukan antrian tersebut. Di kolom Actions, klik Detail. Di bagian Endpoint pada halaman Detail Antrian, lihat informasi tentang endpoint SMQ yang diperlukan.
CatatanDi endpointSMQ, substring yang dimulai dengan angka adalah nilai parameter OwnerId.


Periksa apakah endpoint SMQ dan nilai parameter OwnerId yang digunakan oleh produsen dan konsumen valid.
Periksa apakah produsen dan konsumen memenuhi kondisi berikut. Jika tidak, Anda harus memodifikasi konfigurasi produsen dan konsumen.
Jika Anda menggunakan endpoint antrian pribadi, maka produsen dan konsumen pesan harus ditempatkan pada instans Elastic Compute Service (ECS) di wilayah yang sama.
Jika Anda menggunakan endpoint antrian publik, produsen dan konsumen pesan dapat ditempatkan pada server lokal atau pada instans ECS yang memiliki akses Internet dan berada di wilayah yang sama.
Jika Anda menggunakan pengguna RAM untuk mengakses antrian SMQ, periksa apakah konfigurasi pengguna RAM pada akun Alibaba Cloud terkait sudah valid. Sebagai contoh, kebijakan berikut dilampirkan ke pengguna RAM akun Alibaba Cloud. Anda ingin menggunakan pengguna RAM untuk mengakses
/queues/busi-msn/messages. Dalam kasus ini, masalah terjadi karena Anda tidak memiliki izin terhadap sumber daya yang ingin diakses. Untuk informasi lebih lanjut tentang cara mengonfigurasi pengguna RAM, lihat Buat Pengguna RAM."Resource": [ "acs:mns:*:*:/queues", "acs:mns:*:*:/queues/busi-test", "acs:mns:*:*:/queues/busi-test/*"Jika masalah tetap ada setelah Anda melakukan langkah-langkah sebelumnya, kemungkinan penyebabnya adalah SDK pihak ketiga digunakan atau URL request yang ditentukan tidak sesuai dengan sintaks header request saat Anda memanggil operasi API berbasis HTTP. Untuk informasi lebih lanjut, lihat Referensi.
Referensi
SMQbernama MQS sebelum layanan ini dikomersialkan. Endpoint layanan sebelum dan sesudah komersialisasi berbeda. Contoh:
Sebelum SMQ dikomersialkan, endpoint dapat berupa
http://y9g.mqs-cn-beijing.aliyuncs.com/.Setelah SMQ dikomersialkan, endpoint dapat berupa
http://44404.mns.cn-beijing.aliyuncs.com/.
Endpoint di atas digunakan sebagai contoh. Untuk melihat endpoint yang aktual, buka konsol SMQ. Di bagian berikutnya, http://y9g.mqs-cn-beijing.aliyuncs.com/ disebut sebagai endpoint lama dan http://44404.mns.cn-beijing.aliyuncs.com/ disebut sebagai endpoint baru.
Setelah SMQ dikomersialkan, SMQ mendukung versi API terbaru dan tetap kompatibel dengan versi API sebelumnya. Header HTTP x-mns-version digunakan oleh SMQ untuk mengidentifikasi versi API.
Jika permintaan mencakup header x-mns-version: 2015-06-06, SMQ akan memproses permintaan tersebut berdasarkan sintaks versi API terbaru.
Jika permintaan mencakup header dalam format
x-mqs-version: xxxx-xx-xx, SMQ akan memproses permintaan tersebut berdasarkan sintaks versi API sebelumnya.
Saat menggunakan SMQ, Anda harus mematuhi aturan berikut:
Saat Anda memanggil operasi API berbasis HTTP, Anda harus menentukan URL request berdasarkan versi API. Jika Anda menggunakan endpoint baru dan header dalam format
x-mqs-version: xxxx-xx-xx, kesalahan akan terjadi.Jika Anda ingin menggunakan SDK pihak ketiga, SDK tersebut mungkin gagal membedakan antara endpoint lama dan endpoint baru. Jika Anda menggunakan endpoint baru, kesalahan dapat terjadi. Dibandingkan dengan SDK pihak ketiga, SDK Resmi lebih andal. SDK Resmi juga memberikan performa tinggi dalam memproses pesan. Sebagai contoh, Anda dapat menggunakan operasi BatchSendMessage dan BatchReceiveMessage untuk mengelola beberapa pesan sekaligus. Jika Anda tidak ingin memodifikasi kode yang sudah ada dan tetap ingin menggunakan SDK pihak ketiga yang tidak direkomendasikan, kami sarankan Anda menghubungi Dukungan Teknis Alibaba Cloud untuk mendapatkan endpoint lama.