Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ruang nama untuk bucket tujuan umum
Secara default, bucket tujuan umum ada di namespace global. Ini berarti bahwa setiap nama bucket harus unik di semua AWS akun di semua Wil AWS ayah dalam partisi. Partisi adalah pengelompokan Wilayah. AWS saat ini memiliki empat partisi: aws (Wilayah Standar), aws-cn (Wilayah China), aws-us-gov (AWS GovCloud (AS)), dan aws-eusc (European Sovereign Cloud). Saat Anda membuat bucket tujuan umum, Anda dapat memilih untuk membuat bucket di namespace global bersama. Anda juga dapat memilih untuk membuat bucket di namespace regional akun Anda. Namespace regional akun Anda adalah subdivisi dari namespace global yang hanya dapat membuat bucket di akun Anda.
Topik
Ember tujuan umum global
Secara default, Anda membuat bucket tujuan umum global di namespace global bersama. Setelah membuat bucket tujuan umum di namespace global bersama, nama bucket itu tidak tersedia bagi orang lain untuk dibuat di dalam partisi. Saat Anda menghapus bucket tujuan umum global, nama bucket akan tersedia lagi di namespace global bagi siapa pun untuk membuat ulang.
Saat membuat bucket tujuan umum global, Anda dapat meminta nama apa pun yang mematuhi aturan penamaan bucket. Aturan-aturan ini termasuk menentukan nama antara 3 (minimum) dan 63 (maksimum) karakter panjang. Nama hanya dapat terdiri dari huruf kecil, angka, titik (.), dan tanda hubung (-). Nama bucket harus dimulai dan diakhiri dengan huruf atau angka dan tidak dapat berisi dua titik yang berdekatan. Untuk informasi selengkapnya tentang aturan penamaan bucket, lihatAturan penamaan bucket tujuan umum.
Saat menentukan nama bucket tujuan umum global, Anda harus memilih nama unik yang belum digunakan untuk partisi. Jika Anda mencoba membuat bucket yang sudah ada dan dimiliki oleh orang lain, Anda akan menerima BucketAlreadyExists kesalahan HTTP 409. Jika Anda mencoba membuat bucket yang sudah ada dan dimiliki oleh Anda, Anda akan menerima BucketAlreadyOwnedByYou kesalahan HTTP 409.
Anda dapat membuat bucket tujuan umum global untuk memiliki fleksibilitas paling besar dalam memilih nama bucket yang Anda minta. Karena ini adalah namespace global bersama, akun lain dapat membuat nama bucket yang serupa. Akun lain juga dapat membuat ulang nama bucket yang sebelumnya Anda hapus. Anda tidak boleh bergantung pada konvensi penamaan bucket kustom untuk tujuan ketersediaan, atau verifikasi keamanan. Jangan menulis kode dengan asumsi nama bucket pilihan Anda tersedia kecuali Anda telah membuat bucket. Salah satu metode untuk membuat nama bucket yang tidak dapat diprediksi adalah dengan menambahkan Global Unique Identifier (GUID) ke nama bucket Anda. Sebagai contoh, amzn-s3-demo-bucket-a1b2c3d4-5678-90ab-cdef-example11111. Untuk informasi selengkapnya, lihat Membuat bucket yang menggunakan GUID dalam nama bucket.
Bucket tujuan umum namespace regional akun
Meskipun Amazon S3 bucket tujuan umum ada di namespace global bersama, Anda dapat membuat bucket secara opsional di namespace regional akun Anda. Namespace regional akun adalah subdivisi cadangan dari namespace bucket global. Hanya akun Anda yang dapat membuat bucket tujuan umum di namespace ini. Bucket tujuan umum baru yang dibuat di namespace regional akun Anda unik untuk akun Anda. Bucket ini tidak pernah dapat dibuat ulang oleh akun lain. Bucket ini mendukung semua fitur dan AWS layanan S3 yang sudah didukung bucket tujuan umum di namespace global bersama. Aplikasi Anda tidak memerlukan perubahan untuk berinteraksi dengan bucket di namespace regional akun Anda.
catatan
Anda dapat membuat bucket di namespace regional akun Anda di semua Wil AWS ayah kecuali Timur Tengah (Bahrain) dan Timur Tengah (UEA).
Membuat bucket di namespace regional akun Anda adalah praktik terbaik keamanan. Nama-nama bucket ini hanya dapat digunakan oleh akun Anda. Anda dapat membuat bucket di namespace regional akun Anda untuk dengan mudah membuat template nama bucket tujuan umum di beberapa Wil AWS ayah. Anda dapat memiliki jaminan bahwa tidak ada akun lain yang dapat membuat nama bucket di namespace Anda. Jika akun lain mencoba membuat bucket dengan akhiran regional akun Anda, CreateBucket permintaan akan ditolak.
Konvensi penamaan namespace regional akun
Bucket tujuan umum di namespace regional akun Anda harus mengikuti konvensi penamaan tertentu. Bucket ini terdiri dari awalan nama bucket yang Anda buat dan akhiran yang berisi ID AWS Akun 12 digit Anda, kode Wil AWS ayah, dan diakhiri dengan. -an
bucket-name-prefix-accountId-region-an
Misalnya, bucket tujuan umum berikut ada di namespace regional akun untuk AWS Akun 111122223333 di Wilayah us-west-2:
amzn-s3-demo-bucket-111122223333-us-west-2-an
Untuk membuat bucket di namespace regional akun Anda, Anda membuat CreateBucket permintaan. Tentukan header x-amz-bucket-namespace permintaan dengan nilai yang disetel keaccount-regional. Juga tentukan nama bucket berformat namespace regional akun:<customer-chosen-name>-<AWS-Account-ID>-<AWS-Region>-an.
catatan
Saat Anda membuat bucket tujuan umum di namespace regional akun Anda menggunakan konsol, akhiran ditambahkan secara otomatis ke awalan nama bucket yang Anda berikan. Akhiran ini mencakup ID AWS Akun Anda dan AWS Wilayah yang Anda pilih untuk membuat bucket. Saat Anda membuat bucket tujuan umum di namespace regional akun Anda menggunakan CreateBucket API, Anda harus memberikan akhiran lengkap. Ini termasuk ID AWS Akun Anda dan Wil AWS ayah dalam permintaan Anda. Untuk daftar kode Wil AWS ayah, lihatAWS Format Kode Wilayah.
Mengintegrasikan namespace regional akun ke CloudFormation templat
Anda dapat memperbarui alat infrastruktur sebagai kode, seperti CloudFormation, untuk menyederhanakan pembuatan bucket di namespace regional akun Anda. CloudFormation menawarkan parameter AWS::AccountId semu dan. AWS::Region Parameter ini memudahkan pembuatan CloudFormation template yang membuat bucket namespace regional akun. Untuk informasi selengkapnya, lihat M endapatkan AWS nilai menggunakan parameter semu.
Contoh 1 menggunakan BucketName dengan Sub:
BucketName: !Sub "amzn-s3-demo-bucket-${AWS::AccountId}-${AWS::Region}-an" BucketNamespace: "account-regional"
Contoh 2 menggunakan BucketNamePrefix:
BucketNamePrefix: 'amzn-s3-demo-bucket' BucketNamespace: "account-regional"
Atau, Anda juga dapat menggunakan BucketNamePrefix properti untuk memperbarui CloudFormation template Anda. Ini BucketNamePrefix memungkinkan Anda hanya memberikan bagian yang ditentukan pelanggan dari nama bucket. Kemudian secara otomatis menambahkan akhiran namespace regional akun berdasarkan AWS Akun dan Wilayah yang diminta yang ditentukan AWS .
Dengan menggunakan opsi ini, Anda dapat membuat CloudFormation template khusus untuk dengan mudah membuat bucket tujuan umum di namespace regional akun Anda. Untuk informasi selengkapnya, lihat AWS: :S3: :Bucket di Panduan CloudFormation Pengguna.
Pembatasan dan pertimbangan
Saat membuat bucket di namespace global bersama, pertimbangan berikut berlaku:
-
Nama bucket di namespace global bersama tidak dapat digunakan oleh AWS akun lain di partisi yang sama sampai bucket dihapus. Setelah Anda menghapus bucket di namespace global bersama, ketahuilah bahwa AWS akun lain di partisi yang sama dapat menggunakan nama bucket yang sama untuk bucket baru dan karena itu berpotensi menerima permintaan yang ditujukan untuk bucket yang dihapus.
-
Saat membuat aplikasi yang akan membuat bucket di namespace global bersama, pastikan untuk mempertimbangkan bahwa nama bucket yang Anda inginkan mungkin sudah diambil oleh akun lain dan akun lain mungkin memiliki nama bucket yang mirip dengan milik Anda.
-
Karena Amazon S3 mengidentifikasi bucket berdasarkan namanya, aplikasi yang menggunakan nama bucket yang salah dalam permintaan dapat secara tidak sengaja melakukan operasi terhadap bucket yang berbeda dari yang diharapkan. Untuk membantu menghindari interaksi bucket yang tidak disengaja dalam situasi seperti ini, Anda dapat menggunakan ketentuan pemilik bucket. Untuk informasi selengkapnya, lihat Memverifikasi kepemilikan bucket dengan syarat pemilik bucket.
Saat membuat bucket di namespace regional akun Anda, batasan dan pertimbangan berikut berlaku:
-
Setiap upaya untuk membuat ulang bucket namespace regional akun yang sudah Anda miliki di Wil AWS ayah mana pun akan mengembalikan kesalahan HTTP 409 BucketAlreadyOwnedByYou .
-
Anda harus menggunakan titik akhir regional S3 untuk membuat bucket di namespace regional akun Anda. Untuk kompatibilitas mundur, Anda dapat menggunakan titik akhir global lama untuk membuat bucket di namespace regional akun Anda di Wilayah AS Timur (Virginia Utara).
-
Sufiks regional akun Anda diperhitungkan dalam jumlah maksimum 63 karakter yang diizinkan dalam nama bucket tujuan umum. Jadi, jika akhiran regional akun Anda adalah
-012345678910-us-east-1-an, maka Anda memiliki 37 karakter yang tersedia untuk awalan nama bucket Anda.
AWS Format Kode Wilayah
Untuk membuat bucket di namespace regional akun Anda, Anda harus menyertakan AWS Wilayah dalam akhiran tempat Anda ingin membuat bucket tujuan umum. Anda harus menentukan kode Wil AWS ayah lengkap (misalnya,us-west-2) dalam akhiran. Lihat AWS Wilayah untuk seluruh daftar kode AWS Wilayah. Nama bucket berikut menunjukkan dua contoh format kode Wil AWS ayah yang harus Anda gunakan saat membuat bucket di namespace regional akun Anda:
-
amzn-s3-demo-bucket-012345678910-ap-southeast-1-an -
amzn-s3-demo-bucket-987654321012-eu-north-1-an
Memerlukan pembuatan bucket di namespace regional akun Anda
Anda dapat memaksakan bahwa IAM prinsipal Anda hanya membuat bucket di namespace regional akun Anda. Gunakan kunci s3:x-amz-bucket-namespace kondisi. Contoh berikut menunjukkan bagaimana Anda dapat menerapkan pembuatan bucket regional akun dalam IAM kebijakan, Kebijakan Kontrol Sumber Daya, atau Kebijakan Kontrol Layanan.
IAM kebijakan
IAM Kebijakan berikut menolak CreateBucket izin s3: ke prinsipal jika permintaan tidak menyer IAM takan header x-amz-bucket-namespace yang disetel ke account-regional.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }
Kebijakan Pengendalian Sumber Daya
Kebijakan Kontrol Sumber Daya berikut menolak CreateBucket izin s3: kepada semua orang jika permintaan tidak menyertakan header x-amz-bucket-namespace yang disetel ke account-regional.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyCreateBucketsInAccountRegionalNamespace", "Effect": "Deny", "Principal": "*", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }
Kebijakan Pengendalian Layanan
Kebijakan Kontrol Layanan berikut menolak CreateBucket izin s3: kepada semua orang jika permintaan tidak menyertakan header x-amz-bucket-namespace yang disetel ke account-regional.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireAccountRegionalBucketCreation", "Effect": "Deny", "Action": "s3:CreateBucket", "Resource": "*", "Condition": { "StringNotEquals": { "s3:x-amz-bucket-namespace": "account-regional" } } } ] }
Membuat bucket di namespace regional akun Anda
Contoh berikut menunjukkan cara membuat bucket tujuan umum di namespace regional akun Anda.
Menggunakan AWS CLI
AWS CLI Contoh berikut membuat bucket tujuan umum di namespace regional akun untuk AWS Akun 012345678910 di Wilayah AS Barat (California Utara) (us-west-1). Untuk menggunakan perintah contoh ini, ganti user input placeholders dengan informasi Anda sendiri.
aws s3api create-bucket \ --bucketamzn-s3-demo-bucket-012345678910-us-west-1-an\ --bucket-namespace account-regional --regionus-west-1\ --create-bucket-configuration LocationConstraint=us-west-1