Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akses S3 memberikan akses lintas akun
Dengan S3 Access Grants, Anda dapat memberikan akses data Amazon S3 ke hal-hal berikut:
AWS Identity and Access Management (IAM) identitas dalam akun Anda
IAMidentitas di akun lain AWS
Pengguna direktori atau grup dalam AWS IAM Identity Center instans Anda
Pertama, konfigurasikan akses lintas akun untuk akun lain. Ini termasuk memberikan akses ke instans S3 Access Grants Anda dengan menggunakan kebijakan sumber daya. Kemudian, berikan akses ke data S3 Anda (bucket, awalan, atau objek) dengan menggunakan hibah.
Setelah Anda mengonfigurasi akses lintas akun, akun lain dapat meminta kredenal akses sementara ke data Amazon S3 Anda dari S3 Access Grants. Gambar berikut menunjukkan alur pengguna untuk akses S3 lintas akun melalui S3 Access Grants:
Pengguna atau aplikasi di akun kedua (B) meminta kredensil dari instans S3 Access Grants di akun Anda (A), tempat data Amazon S3 disimpan. Untuk informasi selengkapnya, lihat Minta akses ke data Amazon S3 melalui S3 Access Grants.
Instans S3 Access Grants di akun Anda (A) mengembalikan kredensi sementara jika ada hibah yang memberikan akses akun kedua ke data Amazon S3 Anda. Untuk informasi lebih lanjut tentang hibah akses, lihatBekerja dengan hibah di S3 Access Grants.
Pengguna atau aplikasi di akun kedua (B) menggunakan kredensil yang dijual oleh S3 Access Grants untuk mengakses data S3 di akun Anda (A).
Mengkonfigurasi Akses S3 Memberikan akses lintas akun
Untuk memberikan akses S3 lintas akun melalui S3 Access Grants, ikuti langkah-langkah berikut:
Langkah 1: Konfigurasikan instance S3 Access Grants di akun Anda, misalnya, ID akun
111122223333
, tempat data S3 disimpan.Langkah 2: Konfigurasikan kebijakan sumber daya untuk instans S3 Access Grants di akun Anda
111122223333
untuk memberikan akses ke akun kedua, misalnya, ID akun.444455556666
Langkah 3: Konfigurasikan IAM izin untuk IAM Principal di akun kedua
444455556666
untuk meminta kredensil dari instans S3 Access Grants di akun Anda.111122223333
Langkah 4: Buat hibah di akun Anda
111122223333
yang memberi IAM Principal di akun kedua444455556666
akses ke beberapa data S3 di akun111122223333
Anda.
Langkah 1: Konfigurasikan instance S3 Access Grants di akun Anda
Pertama, Anda harus memiliki instans S3 Access Grants di akun Anda 111122223333
untuk mengelola akses ke data Amazon S3 Anda. Anda harus membuat instance S3 Access Grants di setiap Wilayah AWS tempat data S3 yang ingin Anda bagikan disimpan. Jika Anda berbagi data di lebih dari satu Wilayah AWS, ulangi setiap langkah konfigurasi ini untuk masing-masing Wilayah AWS. Jika Anda sudah memiliki instance S3 Access Grants di Wilayah AWS tempat penyimpanan data S3 Anda, lanjutkan ke langkah berikutnya. Jika Anda belum mengonfigurasi instance S3 Access Grants, lihat Bekerja dengan instans S3 Access Grants untuk menyelesaikan langkah ini.
Langkah 2: Konfigurasikan kebijakan sumber daya untuk instans S3 Access Grants Anda untuk memberikan akses lintas akun
Setelah Anda membuat instans S3 Access Grants di akun Anda 111122223333
untuk akses lintas akun, konfigurasikan kebijakan berbasis sumber daya untuk instans S3 Access Grants di akun Anda untuk memberikan akses lintas akun. 111122223333
Instans S3 Access Grants sendiri mendukung kebijakan berbasis sumber daya. Dengan kebijakan berbasis sumber daya yang benar, Anda dapat memberikan akses untuk AWS Identity and Access Management (IAM) pengguna atau peran dari orang lain Akun AWS ke instans S3 Access Grants Anda. Akses lintas akun hanya memberikan izin (tindakan) ini:
-
s3:GetAccessGrantsInstanceForPrefix
— pengguna, peran, atau aplikasi dapat mengambil instance S3 Access Grants yang berisi awalan tertentu. -
s3:ListAccessGrants
-
s3:ListAccessLocations
-
s3:ListCallerAccessGrants
-
s3:GetDataAccess
— pengguna, peran, atau aplikasi dapat meminta kredensil sementara berdasarkan akses yang diberikan kepada Anda melalui Hibah Akses S3. Gunakan kredensial ini untuk mengakses data S3 yang telah diberikan akses kepada Anda.
Anda dapat memilih izin mana yang akan disertakan dalam kebijakan sumber daya. Kebijakan sumber daya pada instance S3 Access Grants ini adalah kebijakan berbasis sumber daya normal dan mendukung semua yang didukung oleh bahasa kebijakan. IAM Dalam kebijakan yang sama, Anda dapat memberikan akses ke IAM identitas tertentu di akun Anda111122223333
, misalnya, dengan menggunakan aws:PrincipalArn
kondisi, tetapi Anda tidak harus melakukannya dengan S3 Access Grants. Sebagai gantinya, dalam instance S3 Access Grants Anda, Anda dapat membuat hibah untuk IAM identitas individu dari akun Anda, serta untuk akun lainnya. Dengan mengelola setiap hibah akses melalui S3 Access Grants, Anda dapat menskalakan izin Anda.
Jika Anda sudah menggunakan AWS Resource Access Manager(AWS RAM), Anda dapat menggunakannya untuk membagikan s3:AccessGrants
sumber daya Anda dengan akun lain atau di dalam organisasi Anda. Lihat Bekerja dengan AWS sumber daya bersama untuk informasi selengkapnya. Jika tidak digunakan AWS RAM, Anda juga dapat menambahkan kebijakan sumber daya menggunakan API operasi S3 Access Grants atau AWS Command Line Interface ()AWS CLI.
Kami menyarankan Anda menggunakan AWS Resource Access Manager (AWS RAM) Konsol untuk membagikan s3:AccessGrants
sumber daya Anda dengan akun lain atau di dalam organisasi Anda. Untuk membagikan akun lintas akun S3 Access Grants, lakukan hal berikut:
Untuk mengonfigurasi kebijakan sumber daya instans S3 Access Grants:
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
Pilih Wilayah AWS dari Wilayah AWS pemilih.
Dari panel navigasi kiri, pilih Access Grants.
Pada halaman instance Access Grants, di bagian Instans di akun ini, pilih Bagikan instance. Ini akan mengarahkan Anda ke AWS RAM Konsol.
Pilih Buat berbagi sumber daya.
Ikuti AWS RAM langkah-langkah untuk membuat pembagian sumber daya. Untuk informasi selengkapnya, lihat Membuat pembagian sumber daya di AWS RAM.
Untuk menginstal AWS CLI, lihat Menginstal AWS CLI di Panduan AWS Command Line Interface Pengguna.
Anda dapat menambahkan kebijakan sumber daya dengan menggunakan put-access-grants-instance-resource-policy
CLI perintah.
Jika Anda ingin memberikan akses lintas akun untuk instans S3 Access Grants ada di akun Anda 111122223333
ke akun kedua444455556666
, kebijakan sumber daya untuk instance S3 Access Grants di akun Anda 111122223333
harus memberikan 444455556666
izin akun kedua untuk melakukan tindakan berikut:
s3:ListAccessGrants
s3:ListAccessGrantsLocations
s3:GetDataAccess
s3:GetAccessGrantsInstanceForPrefix
Dalam kebijakan sumber daya instans S3 Access Grants, tentukan instance S3 Access Grants sebagaiResource
, dan akun kedua sebagai. ARN 444455556666
Principal
Untuk menggunakan contoh berikut, ganti user input
placeholders
dengan informasi Anda sendiri.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "
444455556666
" }, "Action": [ "s3:ListAccessGrants", "s3:ListAccessGrantsLocations", "s3:GetDataAccess", "s3:GetAccessGrantsInstanceForPrefix" ], "Resource": "arn:aws:s3:us-east-2
:111122223333
:access-grants/default" } ] }
Untuk menambahkan atau memperbarui kebijakan sumber daya instans S3 Access Grants, gunakan perintah berikut. Bila Anda menggunakan perintah contoh berikut, ganti
dengan informasi Anda sendiri.user input
placeholders
contoh Menambahkan atau memperbarui kebijakan sumber daya instans S3 Access Grants
aws s3control put-access-grants-instance-resource-policy \ --account-id
111122223333
\ --policy file://resourcePolicy.json \ --regionus-east-2
{ "Policy": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [{\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"444455556666
\"\n },\n \"Action\": [\n \"s3:ListAccessGrants\",\n \"s3:ListAccessGrantsLocations\",\n \"s3:GetDataAccess\",\n \"s3:GetAccessGrantsInstanceForPrefix\",\n \"s3:ListCallerAccessGrants"\n ],\n \"Resource\": \"arn:aws:s3:us-east-2
:111122223333
:access-grants/default\"\n }\n ]\n }\n", "CreatedAt": "2023-06-16T00:07:47.473000+00:00" }
contoh Mendapatkan kebijakan sumber daya S3 Access Grants
Anda juga dapat menggunakan CLI untuk mendapatkan atau menghapus kebijakan sumber daya untuk instance S3 Access Grants.
Untuk mendapatkan kebijakan sumber daya S3 Access Grants, gunakan perintah contoh berikut. Untuk menggunakan contoh perintah ini, ganti
dengan informasi Anda sendiri.user input
placeholders
aws s3control get-access-grants-instance-resource-policy \ --account-id
111122223333
\ --regionus-east-2
{ "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333
:root\"},\"Action\":[\"s3:ListAccessGrants\",\"s3:ListAccessGrantsLocations\",\"s3:GetDataAccess\",\"s3:GetAccessGrantsInstanceForPrefix\",\"s3:ListCallerAccessGrants\"],\"Resource\":\"arn:aws: s3:us-east-2
:111122223333
:access-grants/default\"}]}", "CreatedAt": "2023-06-16T00:07:47.473000+00:00" }
contoh Menghapus kebijakan sumber daya S3 Access Grants
Untuk menghapus kebijakan sumber daya S3 Access Grants, gunakan perintah contoh berikut. Untuk menggunakan contoh perintah ini, ganti
dengan informasi Anda sendiri.user input
placeholders
aws s3control delete-access-grants-instance-resource-policy \ --account-id
111122223333
\ --regionus-east-2
// No response body
Anda dapat menambahkan kebijakan sumber daya dengan menggunakan PutAccessGrantsInstanceResourcePolicy API.
Jika Anda ingin memberikan akses lintas akun untuk instans S3 Access Grants ada di akun Anda 111122223333
ke akun kedua444455556666
, kebijakan sumber daya untuk instance S3 Access Grants di akun Anda 111122223333
harus memberikan 444455556666
izin akun kedua untuk melakukan tindakan berikut:
s3:ListAccessGrants
s3:ListAccessGrantsLocations
s3:GetDataAccess
s3:GetAccessGrantsInstanceForPrefix
Dalam kebijakan sumber daya instans S3 Access Grants, tentukan instance S3 Access Grants sebagaiResource
, dan akun kedua sebagai. ARN 444455556666
Principal
Untuk menggunakan contoh berikut, ganti user input
placeholders
dengan informasi Anda sendiri.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "
444455556666
" }, "Action": [ "s3:ListAccessGrants", "s3:ListAccessGrantsLocations", "s3:GetDataAccess", "s3:GetAccessGrantsInstanceForPrefix" ], "Resource": "arn:aws:s3:us-east-2
:111122223333
:access-grants/default" } ] }
Anda kemudian dapat menggunakan PutAccessGrantsInstanceResourcePolicy APIuntuk mengonfigurasi kebijakan.
Untuk informasi tentang REST API dukungan untuk memperbarui, mendapatkan, atau menghapus kebijakan sumber daya untuk instance S3 Access Grants, lihat bagian berikut di Referensi Layanan API Penyimpanan Sederhana Amazon:
Bagian ini memberi Anda AWS SDK contoh cara mengonfigurasi kebijakan sumber daya S3 Access Grants Anda untuk memberikan akses AWS akun kedua ke beberapa data S3 Anda.
Langkah 3: Berikan IAM identitas dalam izin akun kedua untuk memanggil instans S3 Access Grants di akun Anda
Setelah pemilik data Amazon S3 mengonfigurasi kebijakan lintas akun untuk instans S3 Access Grants di akun111122223333
, pemilik akun kedua 444455556666
harus membuat kebijakan berbasis identitas untuk IAM pengguna atau perannya, dan pemilik harus memberi mereka akses ke instance S3 Access Grants. Dalam kebijakan berbasis identitas, sertakan satu atau beberapa tindakan berikut, tergantung pada apa yang diberikan dalam kebijakan sumber daya instans S3 Access Grants dan izin yang ingin Anda berikan:
s3:ListAccessGrants
s3:ListAccessGrantsLocations
s3:GetDataAccess
s3:GetAccessGrantsInstanceForPrefix
s3:ListCallerAccessGrants
Mengikuti pola akses AWS
lintas akun, IAM pengguna atau peran di akun kedua 444455556666
harus secara eksplisit memiliki satu atau lebih izin ini. Misalnya, berikan s3:GetDataAccess
izin agar IAM pengguna atau peran dapat memanggil instance S3 Access Grants di akun 111122223333
untuk meminta kredensil.
Untuk menggunakan contoh perintah ini, ganti
dengan informasi Anda sendiri.user input placeholders
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetDataAccess", ], "Resource": "arn:aws:s3:
us-east-2
:111122223333
:access-grants/default" } ] }
Untuk informasi tentang mengedit kebijakan IAM berbasis identitas, lihat Mengedit IAM kebijakan dalam panduan.AWS Identity and Access Management
Langkah 4: Buat hibah di instance S3 Access Grants dari akun Anda yang memberikan IAM identitas di akun kedua akses ke beberapa data S3 Anda
Untuk langkah konfigurasi terakhir, Anda dapat membuat hibah di instans S3 Access Grants di akun 111122223333 yang memberikan akses ke IAM identitas di akun kedua 444455556666 ke beberapa data S3 di akun Anda. Anda dapat melakukan ini dengan menggunakan Konsol Amazon S3,, CLIAPI, dan. SDKs Untuk informasi selengkapnya, lihat Membuat pemberian.
Dalam hibah, tentukan IAM identitas dari akun kedua, dan tentukan lokasi mana dalam data S3 Anda (bucket, awalan, atau objek) yang Anda berikan akses. AWS ARN Lokasi ini harus sudah terdaftar dengan instans S3 Access Grants Anda. Untuk informasi selengkapnya, lihat Mendaftarkan lokasi. Anda dapat secara opsional menentukan subprefix. Misalnya, jika lokasi yang Anda berikan akses adalah bucket, dan Anda ingin membatasi akses lebih jauh ke objek tertentu di bucket tersebut, maka berikan nama kunci objek di S3SubPrefix
bidang tersebut. Atau jika Anda ingin membatasi akses ke objek di bucket dengan nama kunci yang dimulai dengan awalan tertentu, seperti2024-03-research-results/
, maka teruskanS3SubPrefix=2024-03-research-results/
.
Berikut ini adalah contoh CLI perintah untuk membuat hibah akses untuk identitas di akun kedua. Untuk informasi selengkapnya, lihat Membuat pemberian. Untuk menggunakan contoh perintah ini, ganti
dengan informasi Anda sendiri.user input placeholders
aws s3control create-access-grant \ --account-id
111122223333
\ --access-grants-location-id default \ --access-grants-location-configuration S3SubPrefix=prefixA*
\ --permission READ \ --grantee GranteeType=IAM,GranteeIdentifier=arn:aws:iam::444455556666
:role/data-consumer-1
Setelah mengonfigurasi akses lintas akun, pengguna atau peran di akun kedua dapat melakukan hal berikut:
Panggilan
ListAccessGrantsInstances
untuk mencantumkan instance S3 Access Grants yang dibagikan dengannya. AWS RAM Untuk informasi selengkapnya, lihat Dapatkan detail instans S3 Access Grants.Meminta kredensil sementara dari S3 Access Grants. Untuk informasi selengkapnya tentang cara membuat permintaan ini, lihatMinta akses ke data Amazon S3 melalui S3 Access Grants.