Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menghitung Tanda Tangan HMAC-SHA untuk Amazon SWF
Setiap permintaan ke Amazon SWF harus dikonfirmasi. Parameter SDK AWS secara otomatis menandatangani permintaan Anda dan mengelola autentikasi berbasis token Anda. Namun, jika Anda ingin menulis permintaan POST
HTTP Anda sendiri, Anda perlu membuat nilai x-amzn-authorization
untuk konten POST Header
HTTP sebagai bagian dari autentikasi permintaan Anda.
Untuk informasi selengkapnya tentang format header, lihat Konten Header HTTP. Untuk implementasi AWS SDK for Java dari penandatanganan Versi 3 AWS, lihat kelas AWSSigner.java
Membuat Tanda tangan Permintaan
Sebelum Anda membuat tanda tangan permintaan HMAC-SHA , Anda harus mendapatkan kredensial AWS (Access Key ID dan Kunci Rahasia).
penting
Anda dapat menggunakan SHA1 atau SHA256 untuk menandatangani permintaan Anda. Namun, pastikan bahwa Anda menggunakan metode yang sama selama proses penandatanganan. Metode yang Anda pilih harus sesuai dengan nilai nama Algorithm
di header HTTP.
Untuk membuat tanda tangan permintaan
-
Buat bentuk kanosis header permintaan HTTP. Bentuk kanosis header HTTP meliputi:
-
host
-
Setiap elemen header dimulai dengan
x-amz-
Untuk informasi selengkapnya tentang header yang disertakan, lihat Konten Header HTTP.
-
Untuk setiap pasangan nama nilai header, ubah nama header (tetapi bukan nilai header) menjadi huruf kecil.
-
Membangun peta nama header dengan nilai header dipisahkan koma.
x-amz-example: value1 x-amz-example: value2 => x-amz-example:value1,value2
Untuk informasi selengkapnya, lihat Bagian 4.2 dari RFC 2616
. -
Untuk setiap pasangan nama nilai header, ubah pasangan nama nilai menjadi string dalam format
headerName:headerValue
. Trim spasi apa pun dari awal dan akhirheaderName
danheaderValue
, tanpa spasi di setiap sisi titik dua.x-amz-example1:value1,value2 x-amz-example2:value3
-
Masukkan baris baru (
U+000A
) setelah setiap string dikonversi, termasuk string terakhir. -
Urutkan koleksi string yang dikonversi secara abjad, dengan nama header.
-
-
Membuat nilai string-to-sign yang mencakup item berikut:
-
LINE
1
: Metode HTTP (POST
), diikuti oleh baris baru. -
LINE
2
: URI permintaan (/
), diikuti oleh baris baru. -
LINE
3
: String kosong diikuti oleh baris baru.catatan
Biasanya, string kueri muncul di sini, tapi Amazon SWF tidak menggunakan string kueri.
-
Baris
4–n
: String yang mewakili header permintaan kanonikalisasi yang Anda dikomputasi pada Langkah 1, diikuti oleh baris baru. Baris baru ini menciptakan baris kosong antara header dan isi permintaan HTTP. Untuk informasi selengkapnya, lihat RFC 2616. -
Isi permintaan, tidak diikuti oleh baris baru.
-
-
Komputasi inti SHA256 atau SHA1 dari nilai string-to-sign. Gunakan metode SHA yang sama di seluruh proses.
-
Komputasi dan HMAC-SHA dikodekan Base64 menggunakan inti SHA256 atau SHA1 (tergantung pada metode yang Anda gunakan) nilai yang dihasilkan dari langkah sebelumnya dan secret access key sementara dari Layanan Token Keamanan AWS menggunakan tindakan API
GetSessionToken
.catatan
Amazon SWF mengharapkan tanda yang sama (
=
) pada akhir nilai HMAC-SHA dikodekan Base64. Jika rutinitas penkodean Base64 Anda tidak menyertakan tanda sama yang ditambahkan, tambahkan satu ke akhir nilai.Untuk informasi selengkapnya tentang pembuatan kredensial keamanan sementara dengan Amazon SWF dan layanan AWS, lihat Layanan AWS yang Bekerja dengan IAM di Panduan Pengguna IAM.
-
Tempatkan nilai yang dihasilkan sebagai nilai untuk nama
Signature
di headerx-amzn-authorization
dari permintaan HTTP ke Amazon SWF. -
Amazon SWF memverifikasi permintaan dan melakukan operasi tertentu.