Elemen tanda tangan AWS API permintaan - AWS Identity and Access Management

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Elemen tanda tangan AWS API permintaan

penting

Kecuali Anda menggunakan AWS SDKs atauCLI, Anda harus menulis kode untuk menghitung tanda tangan yang memberikan informasi otentikasi dalam permintaan Anda. Perhitungan AWS tanda tangan di Signature Version 4 dapat menjadi usaha yang rumit, dan kami menyarankan Anda menggunakan AWS SDKs atau CLI bila memungkinkan.

Setiap HTTPS permintaanHTTP/yang menggunakan penandatanganan Signature Version 4 harus berisi elemen-elemen ini.

Spesifikasi titik akhir

Menentukan DNS nama titik akhir yang Anda kirim permintaan. Nama ini biasanya berisi kode layanan dan Wilayah. Misalnya, titik akhir untuk Amazon DynamoDB di Wilayah us-east-1 adalah. dynamodb.us-east-1.amazonaws.com

Untuk permintaan HTTP /1.1, Anda harus menyertakan Host header. Untuk permintaan HTTP /2, Anda dapat menyertakan :authority header atau Host header. Gunakan hanya :authority header untuk kepatuhan dengan spesifikasi HTTP /2. Tidak semua layanan mendukung HTTP /2 permintaan.

Untuk titik akhir yang didukung oleh setiap layanan, lihat Titik akhir layanan dan kuota di. Referensi Umum AWS

Tindakan

Menentukan API tindakan untuk layanan. Misalnya, tindakan CreateTable DynamoDB atau tindakan Amazon. EC2 DescribeInstances

Untuk tindakan yang didukung oleh setiap layanan, lihat Referensi Otorisasi Layanan.

Parameter tindakan

Menentukan parameter untuk tindakan yang ditentukan dalam permintaan. Setiap AWS API tindakan memiliki seperangkat parameter yang diperlukan dan opsional. APIVersi ini biasanya merupakan parameter yang diperlukan.

Untuk parameter yang didukung oleh API tindakan, lihat API Referensi untuk layanan.

Tanggal

Menentukan tanggal dan waktu permintaan. Menyertakan tanggal dan waktu dalam permintaan membantu mencegah pihak ketiga mencegat permintaan Anda dan mengirimkannya kembali nanti. Tanggal yang Anda tentukan dalam lingkup kredensi harus sesuai dengan tanggal permintaan Anda.

Cap waktu harus dalam UTC dan menggunakan format ISO 8601 berikut: T Z. YYYYMMDDHHMMSS Misalnya, 20220830T123600Z. Jangan sertakan milidetik dalam stempel waktu.

Anda dapat menggunakan date atau x-amz-date header, atau menyertakan x-amz-date sebagai parameter kueri. Jika kita tidak dapat menemukan x-amz-date header, maka kita mencari date header.

Informasi otentikasi

Setiap permintaan yang Anda kirim harus menyertakan informasi berikut. AWS menggunakan informasi ini untuk memastikan validitas dan keaslian permintaan.

  • Algoritma — Gunakan AWS 4-HMAC-SHA256 untuk menentukan Signature Version 4 dengan algoritma HMAC-SHA256 hash.

  • Credential — String yang terdiri dari ID kunci akses Anda, tanggal dalam YYYYMMDDformat, kode Region, kode layanan, dan string aws4_request terminasi, dipisahkan oleh garis miring (/). Kode Region, kode layanan, dan string terminasi harus menggunakan karakter huruf kecil.

    AKIAIOSFODNN7EXAMPLE/YYYYMMDD/region/service/aws4_request
  • Header yang ditandatangani - HTTP Header untuk disertakan dalam tanda tangan, dipisahkan oleh titik koma (;). Misalnya, host;x-amz-date.

  • Signature — String yang dikodekan heksadesimal yang mewakili tanda tangan yang dihitung. Anda harus menghitung tanda tangan menggunakan algoritme yang Anda tentukan di parameter Algorithm.

Untuk informasi selengkapnya, lihat Metode otentikasi