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. AWS SDKs Secara otomatis menandatangani permintaan Anda dan mengelola otentikasi 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 AWS SDK for Java implementasi penandatanganan AWS Versi 3, lihat AWSSignerkelas.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 salah satu 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.
-
-
Buat string-to-sign nilai yang mencakup item berikut:
-
Baris
1
: Metode HTTP (POST
), diikuti oleh baris baru. -
Baris
2
: Permintaan URI (/
), diikuti oleh baris baru. -
Baris
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.
-
-
Hitung SHA256 atau SHA1 intisari nilainya. string-to-sign Gunakan metode SHA yang sama di seluruh proses.
-
Compute dan Base64-encode HMAC-SHA menggunakan intisari SHA256 atau SHA1 intisari (tergantung pada metode yang Anda gunakan) dari nilai yang dihasilkan dari langkah sebelumnya dan kunci akses rahasia sementara dari Security Token Service menggunakan tindakan API. AWS
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 penggunaan kredenal keamanan sementara dengan Amazon SWF dan layanan AWS lainnya, AWS lihat Layanan 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.