View a markdown version of this page

Menentukan Versi Tanda Tangan dalam otentikasi permintaan - Amazon Simple Storage Service

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

Menentukan Versi Tanda Tangan dalam otentikasi permintaan

Amazon S3 hanya mendukung AWS Signature Version 4 di sebagian besar Wilayah AWS. Di beberapa yang lebih lama Wilayah AWS, Amazon S3 mendukung Signature Version 4 dan Signature Version 2. Akan tetapi, Signature Version 2 sedang dinonaktifkan (dihentikan). Untuk informasi lebih lanjut tentang akhir dukungan untuk Signature Version 2, lihat AWS Signature Versi 2 dimatikan (tidak digunakan lagi) untuk Amazon S3.

Untuk daftar dari semua Wilayah Amazon S3 dan versi tanda tangan yang didukung, lihat Wilayah dan Titik Akhir dalam Referensi Umum AWS .

Untuk semua Wilayah AWS, AWS SDK menggunakan Signature Version 4 secara default untuk mengotentikasi permintaan. Saat menggunakan AWS SDK yang dirilis sebelum Mei 2016, Anda mungkin diminta untuk meminta Tanda Tangan Versi 4, seperti yang ditunjukkan pada tabel berikut.

SDK Meminta Signature Version 4 untuk Autentikasi Permintaan
AWS CLI

Untuk profil default, jalankan perintah berikut:

$ aws configure set default.s3.signature_version s3v4

Untuk profil kustom, jalankan perintah berikut:

$ aws configure set profile.your_profile_name.s3.signature_version s3v4
SDK Java

Tambahkan hal berikut di kode Anda:

System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");

Atau, pada baris perintah, tentukan hal berikut:

-Dcom.amazonaws.services.s3.enableV4
SDK PHP

Tetapkan parameter signature ke v4 saat mengonstruksi klien layanan Amazon S3 untuk PHP SDK v2:

<?php $client = S3Client::factory([ 'region' => 'YOUR-REGION', 'version' => 'latest', 'signature' => 'v4' ]);

Saat menggunakan PHP SDK v3, atur parameter signature_version ke v4 selama konstruksi klien layanan Amazon S3:

<?php $s3 = new Aws\S3\S3Client([ 'version' => '2006-03-01', 'region' => 'YOUR-REGION', 'signature_version' => 'v4' ]);
Python-Boto SDK

Tentukan hal berikut dalam berkas konfigurasi default boto:

[s3] use-sigv4 = True
Ruby SDK

Ruby SDK-Versi 1: Atur parameter :s3_signature_version ke :v4 saat mengonstruksi klien:

s3 = AWS::S3::Client.new(:s3_signature_version => :v4)

Ruby SDK-Versi 3: Atur parameter signature_version ke v4 saat mengonstruksi klien:

s3 = Aws::S3::Client.new(signature_version: 'v4')
SDK .NET

Tambahkan yang berikut ini ke kode sebelum membuat klien Amazon S3:

AWSConfigsS3.UseSignatureVersion4 = true;

Atau, tambahkan yang berikut ini ke file konfigurasi:

<appSettings> <add key="AWS.S3.UseSignatureVersion4" value="true" /> </appSettings>

 

AWS Signature Versi 2 dimatikan (tidak digunakan lagi) untuk Amazon S3

Signature Version 2 dinonaktifkan (dihentikan) di Amazon S3. Amazon S3 kemudian hanya akan menerima permintaan API yang ditandatangani menggunakan Signature Version 4.

Bagian ini memberikan jawaban atas pertanyaan umum mengenai akhir dukungan untuk Signature Version 2.

Apa itu Versi Tanda 2/4 Tangan, dan Apa Artinya Menandatangani Permintaan?

Proses penandatanganan Signature Version 2 atau Signature Version 4 digunakan untuk mengautentikasi permintaan Amazon S3 API Anda. Permintaan penandatanganan memungkinkan Amazon S3 mengidentifikasi siapa yang mengirim permintaan dan melindungi permintaan Anda dari pelaku kejahatan.

Untuk informasi selengkapnya tentang AWS permintaan penandatang anan, lihat Menandatangani Permintaan AWS API di Referensi Umum AWS.

Pembaruan Apa yang Anda Buat?

Saat ini kami mendukung permintaan API Amazon S3 yang ditandatangani menggunakan proses Signature Version 2 dan Signature Version 4. Setelah itu, Amazon S3 kemudian hanya akan menerima permintaan yang ditandatangani menggunakan Signature Version 4.

Untuk informasi selengkapnya tentang AWS permintaan penandatanganan, lihat Perubahan Tanda Tangan Versi 4 di Referensi Umum AWS.

Mengapa Anda Membuat Pembaruan?

Signature Version 4 memberikan keamanan yang lebih baik dengan menggunakan kunci penandatanganan dan bukan kunci akses rahasia Anda. Signature Version 4 saat ini didukung di semua Wilayah AWS, sedangkan Signature Version 2 hanya didukung di Wilayah yang diluncurkan sebelum Januari 2014. Pembaruan ini memungkinkan kami memberikan pengalaman yang lebih konsisten di seluruh Wilayah.

Bagaimana Saya Memastikan bahwa Saya Menggunakan Signature Version 4, dan Pembaruan Apa yang Saya Perlukan?

Versi tanda tangan yang digunakan untuk menandatangani permintaan Anda biasanya ditetapkan oleh alat atau SDK di sisi klien. Secara default, versi terbaru AWS SDK kami menggunakan Signature Version 4. Untuk perangkat lunak pihak ketiga, hubungi tim dukungan yang sesuai untuk perangkat lunak Anda guna mengonfirmasi versi apa yang Anda butuhkan. Jika Anda mengirim panggilan REST langsung ke Amazon S3, Anda harus memodifikasi aplikasi Anda untuk menggunakan proses penandatanganan Signature Version 4.

Untuk informasi tentang versi SDK mana yang AWS akan digunakan saat pindah ke Signature Version 4, lihatBeralih dari Signature Version 2 ke Signature Version 4.

Untuk informasi tentang menggunakan Signature Version 4 dengan API REST Amazon S3, lihat Permintaan Autentikasi (Signature Version 4 AWS ) di Referensi API Amazon Simple Storage Service.

Apa yang Terjadi jika Saya Tidak Melakukan Pembaruan?

Permintaan yang ditandatangani dengan Signature Version 2 yang dibuat setelahnya akan gagal diautentikasi dengan Amazon S3. Pemohon akan melihat kesalahan yang menyatakan bahwa permintaan harus ditandatangani dengan Signature Version 4.

Haruskah Saya Melakukan Perubahan Meskipun Saya Menggunakan URL yang Ditandatangani Sebelumnya yang Harus Saya Tandatangani Selama Lebih dari 7 Hari?

Jika Anda menggunakan URL yang ditandatangani sebelumnya yang mengharuskan Anda menandatangani lebih dari 7 hari, saat ini tidak ada tindakan yang diperlukan. Anda dapat terus menggunakan Tanda Tangan Versi AWS 2 untuk menandatangani dan mengotentikasi URL yang telah ditandatangani sebelumnya. Untuk detail selengkapnya tentang cara bermigrasi ke Tanda Tangan Versi 4 untuk skenario URL yang telah ditandatangani sebelumnya, lihat dokumentasi Amazon S3.

Info Selengkapnya

Beralih dari Signature Version 2 ke Signature Version 4

Jika saat ini Anda menggunakan Signature Version 2 untuk autentikasi permintaan API Amazon S3, Anda harus beralih ke menggunakan Signature Version 4. Dukungan berakhir untuk Signature Version 2, sebagaimana dijelaskan di AWS Signature Versi 2 dimatikan (tidak digunakan lagi) untuk Amazon S3.

Untuk informasi tentang menggunakan Signature Version 4 dengan API REST Amazon S3, lihat Permintaan Autentikasi (Signature Version 4 AWS ) di Referensi API Amazon Simple Storage Service.

Tabel berikut mencantumkan SDK dengan versi minimum yang diperlukan untuk menggunakan Signature Version 4 (SigV4). Jika Anda menggunakan URL yang telah ditandatangani sebelumnya dengan AWS SDK Java, JavaScript (Node.js), atau Python (Boto/CLI), Anda harus mengatur yang benar Wilayah AWS dan mengatur Signature Version 4 dalam konfigurasi klien. Untuk informasi tentang pengaturan SigV4 di konfigurasi klien, lihat Menentukan Versi Tanda Tangan dalam otentikasi permintaan.

Jika Anda menggunakan ini SDK/Product Tingkatkan ke versi SDK ini Perubahan kode yang diperlukan bagi klien untuk menggunakan Sigv4? Tautan ke dokumentasi SDK

AWS SDK untuk Java v1

Peningkatan ke Java 1.11.201+ atau v2. Ya Menentukan Versi Tanda Tangan dalam otentikasi permintaan

AWS SDK untuk Java v2

Tidak diperlukan peningkatan SDK. Tidak AWS SDK untuk Java

AWS SDK untuk .NET v1

Tingkatkan ke 3.1.10 atau lebih baru. Ya AWS SDK untuk .NET

AWS SDK untuk .NET v2

Tingkatkan ke 3.1.10 atau lebih baru. Tidak AWS SDK untuk .NET v2

AWS SDK untuk .NET v3

Tingkatkan ke 3.3.0.0 atau lebih baru. Ya AWS SDK untuk .NET v3

AWS SDK untuk JavaScript v1

Tingkatkan ke 2.68.0 atau lebih baru. Ya AWS SDK untuk JavaScript

AWS SDK untuk JavaScript v2

Tingkatkan ke 2.68.0 atau lebih baru. Ya AWS SDK untuk JavaScript

AWS SDK untuk JavaScript v3

Saat ini tidak ada tindakan yang diperlukan. Tingkatkan ke versi utama V3 di Q3 2019. Tidak AWS SDK untuk JavaScript

AWS SDK untuk PHP v1

Rekomendasikan untuk meningkatkan ke versi terbaru PHP atau, setidaknya ke v2.7.4 dengan parameter tanda tangan yang diatur ke v4 dalam konfigurasi klien S3. Ya AWS SDK untuk PHP

AWS SDK untuk PHP v2

Rekomendasikan untuk meningkatkan ke versi terbaru PHP atau, setidaknya ke v2.7.4 dengan parameter tanda tangan yang diatur ke v4 dalam konfigurasi klien S3. Tidak AWS SDK untuk PHP

AWS SDK untuk PHP v3

Tidak diperlukan peningkatan SDK. Tidak AWS SDK untuk PHP

Boto2

Tingkatkan ke Boto2 v2.49.0. Ya Peningkatan Boto 2

Boto3

Tingkatkan ke 1.5.71 (Botocore), 1.4.6 (Boto3). Ya Boto 3 - AWS SDK untuk Python

AWS CLI

Memutakhirkan ke 1.11.108. Ya AWS Command Line Interface

AWS CLI v2 (pratinjau)

Tidak diperlukan peningkatan SDK. Tidak AWS Command Line Interface versi 2

AWS SDK untuk Ruby v1

Tingkatkan ke Ruby V3. Ya Ruby V3 untuk AWS

AWS SDK untuk Ruby v2

Tingkatkan ke Ruby V3. Ya Ruby V3 untuk AWS

AWS SDK untuk Ruby v3

Tidak diperlukan peningkatan SDK. Tidak Ruby V3 untuk AWS

Go

Tidak diperlukan peningkatan SDK. Tidak AWS SDK untuk Go

C++

Tidak diperlukan peningkatan SDK. Tidak AWS SDK untuk C++
AWS Tools for Windows PowerShell atau AWS Tools for PowerShell Core

Jika Anda menggunakan versi modul lebih awal dari 3.3.0.0, Anda harus meningkatkan ke 3.3.0.0.

Untuk mendapatkan informasi versi, gunakan cmdlet Get-Module:

Get-Module –Name AWSPowershell Get-Module –Name AWSPowershell.NetCore

Untuk memperbarui versi 3.3.0.0, gunakan cmdlet Update-Module:

Update-Module –Name AWSPowershell Update-Module –Name AWSPowershell.NetCore

Anda dapat menggunakan URL yang telah ditandatangani sebelumnya yang valid selama lebih dari 7 hari yang akan Anda gunakan untuk mengirimkan lalu lintas Signature Version 2.