Ruang nama untuk ember tujuan umum - Amazon Simple Storage Service

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

Ruang nama untuk ember 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 AWS Wilayah dalam partisi. Partisi adalah pengelompokan Wilayah. AWS Saat ini memiliki empat partisi: aws (Wilayah Standar), aws-cn (Wilayah Tiongkok), (AS)), dan aws-us-govAWS GovCloud aws-eusc (European Sovereign Cloud). Saat 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 akun Anda yang dapat membuat bucket.

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 tersebut tidak tersedia untuk dibuat orang lain di dalam partisi. Saat Anda menghapus bucket tujuan umum global, nama bucket akan tersedia kembali di namespace global untuk dibuat ulang siapa saja.

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 periode 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 agar memiliki fleksibilitas maksimal 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 Globally 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.

Ember tujuan umum ruang nama regional akun

Meskipun bucket tujuan Amazon S3 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. Ember ini tidak akan pernah bisa dibuat ulang oleh akun lain. Bucket ini mendukung semua fitur dan AWS layanan S3 yang sudah didukung oleh 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 ruang nama regional akun Anda di semua AWS Wilayah kecuali Timur Tengah (Bahrain) dan Timur Tengah (UEA).

Membuat bucket di namespace regional akun Anda adalah praktik keamanan terbaik. 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 Wilayah. AWS Anda dapat memastikan 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 ruang nama regional akun Anda harus mengikuti konvensi penamaan tertentu. Bucket ini terdiri dari awalan nama bucket yang Anda buat dan akhiran yang berisi 12 digit ID AWS Akun, kode AWS Wilayah, 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 yang diformat namespace regional akun:. <customer-chosen-name>-<AWS-Account-ID>-<AWS-Region>-an

catatan

Saat Anda membuat bucket tujuan umum di namespace regional akun menggunakan konsol, akhiran akan 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 membuat bucket tujuan umum di namespace regional akun menggunakan CreateBucket API, Anda harus memberikan akhiran lengkapnya. Ini termasuk ID AWS Akun Anda dan AWS Wilayah dalam permintaan Anda. Untuk daftar kode AWS Wilayah, lihatAWS Format Kode Wilayah.

Mengintegrasikan namespace regional akun ke template Anda CloudFormation

Anda dapat memperbarui infrastructure-as-code alat Anda, seperti CloudFormation, untuk menyederhanakan pembuatan bucket di namespace regional akun Anda. CloudFormation menawarkan parameter semu AWS::AccountId danAWS::Region. Parameter ini memudahkan pembuatan CloudFormation template yang membuat bucket namespace regional akun. Untuk informasi selengkapnya, lihat Mendapatkan 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 cukup memberikan bagian nama bucket yang ditentukan pelanggan. Kemudian secara otomatis menambahkan akhiran namespace regional akun berdasarkan AWS Akun permintaan dan Wilayah yang ditentukan. AWS

Dengan menggunakan opsi ini, Anda dapat membuat CloudFormation template khusus untuk membuat bucket tujuan umum dengan mudah di namespace regional akun Anda. Untuk informasi selengkapnya, lihat AWS: :S3: :Bucket di Panduan Pengguna. CloudFormation

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 hingga 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 karenanya 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, pembatasan dan pertimbangan berikut berlaku:

  • Setiap upaya untuk membuat ulang bucket namespace regional akun yang sudah Anda miliki di AWS Wilayah mana pun akan menghasilkan 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 N.).

  • Akhiran regional akun Anda dihitung terhadap 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 harus menyertakan AWS Region di akhiran tempat Anda ingin membuat bucket tujuan umum. Anda harus menentukan kode AWS Wilayah lengkap (misalnya,us-west-2) di akhiran. Lihat AWS Wilayah untuk seluruh daftar kode AWS Wilayah. Nama bucket berikut menunjukkan dua contoh format kode AWS Region 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 kepala sekolah Anda hanya membuat bucket di namespace regional akun Anda. Gunakan tombol 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: kepada IAM prinsipal jika permintaan tidak menyertakan x-amz-bucket-namespace header 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 menyangkal CreateBucket izin s3: untuk semua orang jika permintaan tidak menyertakan x-amz-bucket-namespace header 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 menyangkal CreateBucket izin s3: untuk semua orang jika permintaan tidak menyertakan x-amz-bucket-namespace header 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 \ --bucket amzn-s3-demo-bucket-012345678910-us-west-1-an \ --bucket-namespace account-regional --region us-west-1 \ --create-bucket-configuration LocationConstraint=us-west-1