Menggunakan presigned URLs untuk S3 di Outposts - Amazon S3 di Outposts

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

Menggunakan presigned URLs untuk S3 di Outposts

Untuk memberikan akses terbatas waktu ke objek yang disimpan secara lokal di Outpost tanpa memperbarui kebijakan bucket, Anda dapat menggunakan presigned. URL Dengan presignedURLs, Anda sebagai pemilik bucket dapat berbagi objek dengan individu di virtual private cloud (VPC) atau memberi mereka kemampuan untuk mengunggah atau menghapus objek.

Saat Anda membuat presigned URL dengan menggunakan AWS SDKs or the AWS Command Line Interface (AWS CLI), Anda mengaitkannya URL dengan tindakan tertentu. Anda juga memberikan akses terbatas waktu ke presigned URL dengan memilih waktu kedaluwarsa kustom yang bisa serendah 1 detik dan setinggi 7 hari. Saat Anda membagikan presignedURL, individu di dalam VPC dapat melakukan tindakan yang disematkan di dalam URL seolah-olah mereka adalah pengguna penandatanganan asli. Ketika URL mencapai waktu kedaluwarsa, URL kedaluwarsa dan tidak lagi berfungsi.

Membatasi kemampuan yang telah ditentukan sebelumnya URL

Kemampuan presigned URL dibatasi oleh izin pengguna yang membuatnya. Intinya, presigned URLs adalah token pembawa yang memberikan akses kepada mereka yang memilikinya. Oleh karena itu, kami menyarankan agar Anda melindunginya sebagaimana mestinya.

AWS Tanda Tangan Versi 4 (SiGv4)

Untuk menerapkan perilaku tertentu saat URL permintaan presigned diautentikasi menggunakan AWS Signature Versi 4 (SigV4), Anda dapat menggunakan kunci kondisi dalam kebijakan bucket dan kebijakan jalur akses. Misalnya, Anda dapat membuat kebijakan bucket yang menggunakan s3-outposts:signatureAge kondisi untuk menolak URL permintaan Amazon S3 pada Outposts yang telah ditetapkan sebelumnya pada objek di example-outpost-bucket bucket jika tanda tangan berusia lebih dari 10 menit. Untuk menggunakan contoh ini, ganti placeholder masukan pengguna dengan informasi Anda sendiri.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Deny a presigned URL request if the signature is more than 10 minutes old", "Effect": "Deny", "Principal": {"AWS":"444455556666"}, "Action": "s3-outposts:*", "Resource": "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/example-outpost-bucket/object/*", "Condition": { "NumericGreaterThan": {"s3-outposts:signatureAge": 600000}, "StringEquals": {"s3-outposts:authType": "REST-QUERY-STRING"} } } ] }

Untuk daftar kunci kondisi dan kebijakan contoh tambahan yang dapat Anda gunakan untuk menerapkan perilaku tertentu saat URL permintaan yang ditetapkan sebelumnya diautentikasi menggunakan Versi Tanda Tangan 4, lihat. AWS Kunci kebijakan khusus otentikasi Versi Tanda Tangan 4 (SigV4)

Pembatasan jalur jaringan

Jika Anda ingin membatasi penggunaan presigned URLs dan semua S3 pada Outposts akses ke jalur jaringan tertentu, Anda dapat menulis kebijakan yang memerlukan jalur jaringan tertentu. Untuk menetapkan pembatasan pada IAM prinsipal yang membuat panggilan, Anda dapat menggunakan kebijakan berbasis identitas AWS Identity and Access Management (IAM) (misalnya, kebijakan pengguna, grup, atau peran). Untuk menetapkan batasan pada sumber daya S3 pada Outposts, Anda dapat menggunakan kebijakan berbasis sumber daya (misalnya, kebijakan bucket dan titik akses).

Pembatasan jalur jaringan pada IAM prinsipal mengharuskan pengguna kredensil tersebut untuk membuat permintaan dari jaringan yang ditentukan. Pembatasan pada bucket atau titik akses mengharuskan semua permintaan ke sumber daya tersebut berasal dari jaringan tertentu. Pembatasan ini juga berlaku di luar URL skenario yang telah ditentukan sebelumnya.

Kondisi IAM global yang Anda gunakan tergantung pada jenis endpoint. Jika Anda menggunakan titik akhir publik untuk S3 di Outposts, gunakan aws:SourceIp. Jika Anda menggunakan VPC endpoint untuk S3 di Outposts, gunakan atau. aws:SourceVpc aws:SourceVpce

Pernyataan IAM kebijakan berikut mengharuskan prinsipal untuk mengakses AWS hanya dari rentang jaringan yang ditentukan. Dengan pernyataan kebijakan ini, semua akses harus berasal dari rentang itu. Ini termasuk kasus seseorang yang menggunakan presigned URL untuk S3 di Outposts. Untuk menggunakan contoh ini, ganti placeholder masukan pengguna dengan informasi Anda sendiri.

{ "Sid": "NetworkRestrictionForIAMPrincipal", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NotIpAddressIfExists": {"aws:SourceIp": "IP-address-range"}, "BoolIfExists": {"aws:ViaAWSService": "false"} } }

Untuk contoh kebijakan bucket yang menggunakan kunci kondisi aws:SourceIP AWS global untuk membatasi akses ke bucket S3 di Outposts ke rentang jaringan tertentu, lihat. Menyiapkan IAM dengan S3 di Outposts

Siapa yang bisa membuat presigned URL

Siapa pun yang memiliki kredensil keamanan yang valid dapat membuat presigned. URL Tetapi bagi pengguna di dalam VPC untuk berhasil mengakses objek, presigned URL harus dibuat oleh seseorang yang memiliki izin untuk melakukan operasi yang URL didasarkan pada presigned.

Anda dapat menggunakan kredensil berikut untuk membuat presigned: URL

  • IAMprofil contoh - Berlaku hingga 6 jam.

  • AWS Security Token Service— Berlaku hingga 36 jam saat ditandatangani dengan kredensil permanen, seperti kredensil pengguna Akun AWS root atau pengguna. IAM

  • IAMpengguna - Berlaku hingga 7 hari saat Anda menggunakan Versi AWS Tanda Tangan 4.

    Untuk membuat presigned URL yang valid hingga 7 hari, pertama-tama delegasikan kredensi IAM pengguna (kunci akses dan kunci rahasia) ke SDK yang Anda gunakan. Kemudian, buat presigned URL dengan menggunakan AWS Signature Version 4.

catatan
  • Jika Anda membuat presigned URL dengan menggunakan token sementara, token akan URL kedaluwarsa saat token kedaluwarsa, bahkan jika Anda membuatnya URL dengan waktu kedaluwarsa nanti.

  • Karena akses URLs hibah yang telah ditetapkan sebelumnya ke ember S3 on Outposts Anda kepada siapa pun yang memilikinyaURL, kami sarankan Anda melindunginya dengan tepat. Untuk informasi selengkapnya tentang melindungi presignedURLs, lihatMembatasi kemampuan yang telah ditentukan sebelumnya URL.

Kapan S3 di Outposts memeriksa tanggal kedaluwarsa dan waktu presigned? URL

Pada saat HTTP permintaan, S3 di Outposts memeriksa tanggal kedaluwarsa dan waktu ditandatangani. URL Misalnya, jika klien mulai mengunduh file besar segera sebelum waktu kedaluwarsa, pengunduhan berlanjut meskipun waktu kedaluwarsa berlalu selama pengunduhan. Akan tetapi, jika koneksi menurun dan klien mencoba memulai ulang unduhan setelah waktu kedaluwarsa berlalu, pengunduhan gagal.

Untuk informasi selengkapnya tentang menggunakan objek yang telah ditetapkan sebelumnya URL untuk berbagi atau mengunggah, lihat topik berikut.