Ya, CloudMonitor mendukung algoritma tanda tangan HMAC-SHA1. Ini adalah satu-satunya algoritma tanda tangan yang didukung oleh CloudMonitor. Untuk menggunakan algoritma ini, ikuti langkah-langkah berikut.
Prosedur
- Siapkan sepasang AccessKey Alibaba Cloud.Sepasang ID AccessKey dan Rahasia AccessKey diperlukan untuk menghasilkan tanda tangan permintaan HTTP.Catatan Anda dapat menggunakan pasangan AccessKey yang ada atau membuat yang baru. Pastikan pasangan AccessKey dalam keadaan aktif.
- Hasilkan string tanda tangan untuk permintaan HTTP.String tanda tangan permintaan HTTP dihasilkan berdasarkan bidang Metode, Header, dan Body dari permintaan HTTP.
SignString = VERB + "\n" + CONTENT-MD5 + "\n" + CONTENT-TYPE + "\n" + DATE + "\n" + CanonicalizedHeaders + "\n" + CanonicalizedResourceDalam rumus sebelumnya,\nmenunjukkan karakter newline yang lolos, dan tanda tambah (+) menunjukkan operator penggabungan string. Tabel berikut menjelaskan definisi dari bidang lainnya.Parameter Deskripsi Contoh VERB Metode HTTP yang digunakan untuk membuat permintaan. PUT, GET, atau POST CONTENT-MD5 Nilai MD5 dari bidang Body dalam permintaan HTTP. Catatan Nilai MD5 harus berupa string yang terdiri dari huruf besar dan digit.0B9BE351E56C90FED853B32524253E8B CONTENT-TYPE Jenis badan permintaan HTTP. application/json DATE Header timestamp standar dari permintaan HTTP. Catatan Header timestamp ini mengikuti format waktu RFC 1123 dan menggunakan standar waktu GMT.Mon, 3 Jan 2010 08:33:47 GMT CanonicalizedHeaders String yang dibuat dari header khusus yang diawali dengan x-cmsdanx-acsdalam permintaan HTTP.- x-cms-api-version:0.1.0
- x-cms-signature
CanonicalizedResource String yang dibuat dari sumber daya yang diminta oleh permintaan HTTP. /event/custom/upload String CanonicalizedHeaders dan CanonicalizedResource pada tabel sebelumnya dibuat berdasarkan aturan berikut:
- CanonicalizedHeaders
- Konversikan nama semua header yang diawali dengan
x-cmsdanx-acsmenjadi huruf kecil. - Urutkan header yang telah dikonversi secara leksikografis.
- Hapus semua spasi di setiap sisi pemisah antara setiap header dan nilai.
- Pisahkan semua header sebelumnya dengan pemisah (
\n) untuk membentuk string CanonicalizedHeaders akhir.
- Konversikan nama semua header yang diawali dengan
- CanonicalizedResource
- Tetapkan string CanonicalizedResource sebagai string kosong ("").
- Tempatkan URI yang ingin Anda akses, seperti
/event/custom/upload, di antara tanda kutip. - Jika permintaan berisi string query, tambahkan tanda tanya (
?) dan string query ke akhir string CanonicalizedResource.String sortir adalah string yang diurutkan secara leksikografis dari parameter permintaan yang termasuk dalam URI. Tanda sama dengan (
=) digunakan antara nama dan nilai parameter untuk membentuk string. Pasangan nama parameter-nilai kemudian diurutkan secara leksikografis dan dihubungkan dengan ampersand (&) untuk membentuk string. Rumus berikut digunakan untuk membangun string query:QUERY_STRING = "KEY1=VALUE1" + "&" + "KEY2=VALUE2"
- Hasilkan tanda tangan digital untuk permintaan HTTP.Rumus untuk menghasilkan tanda tangan digital:
Signature=base16(hmac-sha1(UTF8-Encoding-Of(SignString),AccessKeySecret))Contoh string tanda tangan dari permintaan HTTP:SignString="POST" + "\n" +"0B9BE351E56C90FED853B32524253E8B" + "\n" +"application/json" + "\n" +"Tue, 11 Dec 2018 21:05:51 +0800" + "\n" +"x-cms-api-version:1.0" + "\n" +"x-cms-ip:127.0.0.1" + "\n" +"x-cms-signature:hmac-sha1" + "\n" +"/metric/custom/upload" accesskey="testkey" accessSecret="testsecret" // Rahasia AccessKey yang digunakan untuk menandatangani permintaan HTTP.Tanda tangan yang dihasilkan berdasarkan string tanda tangan sebelumnya:1DC19ED63F755ACDE203614C8A1157EB1097E922