View a markdown version of this page

Berbagi objek dengan URL yang telah ditandatangani - Amazon Simple Storage Service

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

Berbagi objek dengan URL yang telah ditandatangani

Semua objek Amazon S3 secara default bersifat privat, hanya pemilik objek yang memiliki izin untuk mengaksesnya. Namun, pemilik objek dapat berbagi objek dengan orang lain dengan membuat URL yang telah ditandatangani sebelumnya. URL yang telah ditetapkan sebelumnya menggunakan kredensial keamanan untuk memberikan izin terbatas waktu untuk mengunduh objek. URL dapat dimasukkan di dalam browser, atau digunakan oleh program untuk mengunduh objek. KredenSIAL yang digunakan oleh URL yang ditandatangani sebelumnya adalah milik AWS pengguna yang membuat URL.

Untuk informasi umum tentang URL yang telah ditandatangani, lihat. Unduh dan unggah objek dengan URL yang ditandatangani sebelumnya

Anda dapat membuat URL yang telah ditandatangani sebelumnya untuk berbagi objek tanpa menulis kode apa pun dengan menggunakan konsol Amazon S3, AWS Explorer untuk Visual Studio (Windows), atau AWS Toolkit for Visual Studio Code. Anda juga dapat membuat URL yang telah ditandatangani sebelumnya secara terprogram dengan menggunakan AWS Command Line Interface (AWS CLI) atau SDK. AWS

Anda dapat menggunakan konsol Amazon S3 untuk membuat URL yang telah ditandatangani sebelumnya untuk berbagi objek hingga 5 TB dengan mengikuti langkah-langkah berikut. Saat menggunakan konsol, waktu kedaluwarsa maksimum untuk URL yang telah ditandatangani sebelumnya adalah 12 jam dari waktu pembuatan.

Untuk menghasilkan URL yang telah ditandatangani sebelumnya menggunakan konsol Amazon S3
  1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di panel navigasi kiri, pilih Buc ket tujuan umum.

  3. Dalam daftar bucket tujuan umum, pilih nama bucket tujuan umum yang berisi objek yang Anda inginkan URL yang ditandatangani sebelumnya.

  4. Dalam daftar Objek, pilih objek yang ingin Anda buatkan URL yang telah ditandatangani.

  5. Pada menu Tindakan objek, pilih Bagikan dengan URL yang telah ditandatangani.

  6. Tentukan berapa lama Anda menginginkan URL yang telah ditandatangani tersebut valid.

  7. Pilih Buat URL yang telah ditandatangani.

  8. Ketika konfirmasi muncul, URL secara otomatis disalin ke clipboard Anda. Anda akan melihat tombol untuk menyalin URL yang telah ditandatangani jika Anda perlu menyalinnya lagi.

Per AWS CLI intah contoh berikut menghasilkan URL yang telah ditandatangani sebelumnya untuk berbagi objek dari bucket Amazon S3. Saat Anda menggunakan AWS CLI, waktu kedaluwarsa maksimum untuk URL yang ditandatangani sebelumnya adalah 7 hari sejak saat pembuatan. Untuk menggunakan contoh ini, ganti user input placeholdersdengan informasi Anda sendiri.

aws s3 presign s3://amzn-s3-demo-bucket/mydoc.txt --expires-in 604800

--expires-inParameter menentukan waktu kedaluwarsa dalam detik.

catatan

Untuk semua Wilayah AWS yang diluncurkan setelah 20 Maret 2019 Anda perlu menentukan endpoint-url dan Wilayah AWS dengan permintaan. Untuk daftar semua Wilayah dan titik akhir Amazon S3, lihat Wilayah dan Titik Akhir dalam AWS Referensi Umum.

aws s3 presign s3://amzn-s3-demo-bucket/mydoc.txt --expires-in 604800 --region af-south-1 --endpoint-url https://s3.af-south-1.amazonaws.com

Untuk informasi selengkapnya, lihat presign dalam AWS CLI Referensi Perintah.

Anda dapat membuat URL yang telah ditandatangani sebelumnya secara terprogram dengan menggunakan SDK. AWS

Python

Skrip Python berikut menghasilkan URL yang GET ditandatangani sebelumnya untuk berbagi objek.

  1. Salin isi skrip dan simpan sebagai file “get-only-url.py”. Untuk menggunakan contoh berikut, ganti user input placeholders dengan informasi Anda sendiri (seperti nama file Anda).

    import argparse import boto3 from botocore.exceptions import ClientError def generate_presigned_url(s3_client, client_method, method_parameters, expires_in): """ Generate a presigned Amazon S3 URL that can be used to perform an action. :param s3_client: A Boto3 Amazon S3 client. :param client_method: The name of the client method that the URL performs. :param method_parameters: The parameters of the specified client method. :param expires_in: The number of seconds the presigned URL is valid for. :return: The presigned URL. """ try: url = s3_client.generate_presigned_url( ClientMethod=client_method, Params=method_parameters, ExpiresIn=expires_in ) except ClientError: print(f"Couldn't get a presigned URL for client method '{client_method}'.") raise return url def main(): parser = argparse.ArgumentParser() parser.add_argument("bucket", help="The name of the bucket.") parser.add_argument( "key", help="The key (path and filename) in the S3 bucket.", ) args = parser.parse_args() # By default, this will use credentials from ~/.aws/credentials s3_client = boto3.client("s3") # The presigned URL is specified to expire in 1000 seconds url = generate_presigned_url( s3_client, "get_object", {"Bucket": args.bucket, "Key": args.key}, 1000 ) print(f"Generated GET presigned URL: {url}") if __name__ == "__main__": main()
  2. Untuk menghasilkan URL GET yang telah ditandatangani sebelumnya untuk berbagi file, jalankan skrip berikut dengan nama bucket dan jalur objek yang diinginkan.

    Perintah berikut menggunakan nilai contoh. Ganti user input placeholders dengan informasi Anda sendiri.

    python get-only-url.py amzn-s3-demo-bucket <object-path>

    Skrip akan menampilkan URL yang telah GET ditandatangani sebelumnya:

    Generated GET presigned URL: https://amzn-s3-demo-bucket.s3.amazonaws.com/object.txt?AWS AccessKeyId=AKIAIOSFODNN7EXAMPLE&Signature=vjbyNxybdZaMmLa%2ByT372YEAiv4%3D&Expires=1741978496
  3. Anda dapat mengunduh file menggunakan URL yang telah ditandatangani sebelumnya dengan curl:

    curl -X GET "generated-presigned-url" -o "path/to/save/file"

Untuk contoh lebih lanjut tentang menggunakan AWS SDK untuk menghasilkan URL yang telah ditandatangani sebelumnya untuk berbagi objek, lihat Membuat URL yang ditandatangani sebelumnya untuk Amazon S3 dengan menggunakan SDK. AWS

catatan

Untuk semua Wilayah AWS yang diluncurkan setelah 20 Maret 2019 Anda perlu menentukan endpoint-url dan Wilayah AWS dengan permintaan. Untuk daftar semua Wilayah dan titik akhir Amazon S3, lihat Wilayah dan Titik Akhir dalam AWS Referensi Umum.

catatan

Saat menggunakan AWS SDK, atribut Tagging harus berupa header dan bukan parameter query. Semua atribut lainnya dapat diteruskan sebagai parameter untuk URL presigned.

catatan

Saat ini, AWS Toolkit for Visual Studio tidak mendukung Visual Studio untuk Mac.

  1. Instal AWS Toolkit for Visual Studio menggunakan petunjuk berikut, Menginstal dan mengatur Toolkit untuk Visual Studio di Panduan AWS Toolkit for Visual Studio Pengguna.

  2. Hubungkan ke AWS menggunakan langkah-langkah berikut, Menghubungkan ke AWS dalam Panduan AWS Toolkit for Visual Studio Pengguna.

  3. Di panel sisi kiri berlabel AWS Explorer, buka bucket yang berisi objek Anda.

  4. Buka menu konteks untuk objek yang ingin Anda buat URL yang ditandatangani sebelumnya dan pilih Buat Pre-Signed URL... .

  5. Di jendela pop-up, atur tanggal dan waktu kedaluwarsa untuk URL yang telah ditandatangani sebelumnya.

  6. K unci Ob jek, harus diisi sebelumnya berdasarkan objek yang Anda pilih.

  7. Pilih GET untuk menentukan bahwa URL yang telah ditandatangani sebelumnya ini akan digunakan untuk mengunduh objek.

  8. Pilih tombol Hasilkan.

  9. Untuk menyalin URL ke clipboard, pilih Salin.

  10. Untuk menggunakan URL yang telah ditandatangani sebelumnya, tempelkan URL ke browser apa pun.

Jika Anda menggunakan Visual Studio Code, Anda dapat membuat URL yang telah ditandatangani sebelumnya untuk membagikan objek tanpa menulis kode apa pun dengan menggunakan AWS Toolkit for Visual Studio Code. Untuk informasi umum, lihat AWS Toolkit for Visual Studio Code dalam Panduan Pengguna AWS Toolkit for Visual Studio Code .

Untuk petunjuk tentang cara menginstal AWS Toolkit for Visual Studio Code, lihat Menginstal AWS Toolkit for Visual Studio Code di Panduan AWS Toolkit for Visual Studio Code Pengguna.

  1. Hubungkan ke AWS menggunakan langkah-langkah berikut, Menghubungkan ke AWS Toolkit for Visual Studio Code dalam Panduan AWS Toolkit for Visual Studio Code Pengguna.

  2. Pilih AWS logo di panel kiri di Visual Studio Code.

  3. Di bawah EXPLORER, pilih S3.

  4. Pilih bucket dan filenya, lalu buka menu konteks (klik kanan).

  5. Pilih Hasilkan URL yang telah ditandatangani sebelumnya, lalu atur waktu kedaluwarsa (dalam hitungan menit).

  6. Tekan Enter, dan URL yang telah ditandatangani sebelumnya akan disalin ke clipboard Anda.