Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Berikan izin untuk penyimpanan Amazon S3 lintas akun
Saat menyiapkan SageMaker domain atau profil pengguna bagi pengguna untuk mengakses SageMaker Canvas, Anda menentukan lokasi penyimpanan Amazon S3 untuk artefak Canvas. Artefak ini termasuk salinan yang disimpan dari kumpulan data input Anda, artefak model, prediksi, dan data aplikasi lainnya. Anda dapat menggunakan bucket Amazon S3 default yang SageMaker dibuat, atau Anda dapat menyesuaikan lokasi penyimpanan dan menentukan bucket Anda sendiri untuk menyimpan data aplikasi Canvas.
Anda dapat menentukan bucket Amazon S3 di AWS akun lain untuk menyimpan data Canvas, tetapi pertama-tama Anda harus memberikan izin lintas akun agar Canvas dapat mengakses bucket.
Bagian berikut menjelaskan cara memberikan izin ke Canvas untuk mengunggah dan mengunduh objek ke dan dari bucket Amazon S3 di akun lain. Ada izin tambahan saat bucket Anda dienkripsi. AWS KMS
Persyaratan
Sebelum Anda mulai, tinjau persyaratan berikut:
Bucket Amazon S3 lintas akun (dan kunci AWS KMS terkait) harus berada di Wilayah AWS yang sama dengan domain pengguna Canvas atau profil pengguna.
Amazon S3 terakhir URI untuk folder pelatihan di lokasi penyimpanan Canvas Anda harus 128 karakter atau kurang. S3 terakhir URI terdiri dari jalur bucket Anda
s3://<your-bucket-name>/<folder-name>/
ditambah jalur yang ditambahkan Canvas ke bucket Anda:Canvas/<user-profile-name>/Training
. Misalnya, jalur yang dapat diterima yang kurang dari 128 karakter adalahs3://<my-bucket>/<machine-learning>/Canvas/<user-1>/Training
.
Izin untuk bucket Amazon S3 lintas akun
Bagian berikut menguraikan langkah-langkah dasar untuk memberikan izin yang diperlukan sehingga Canvas dapat mengakses bucket Amazon S3 Anda di akun lain. Untuk petunjuk selengkapnya, lihat Contoh 2: Pemilik bucket yang memberikan izin bucket lintas akun di Panduan Pengguna Amazon S3.
-
Buat bucket Amazon S3,
bucketA
, di Akun A. -
Pengguna Canvas ada di akun lain yang disebut Akun B. Pada langkah-langkah berikut, kita mengacu pada IAM peran pengguna Canvas seperti
roleB
pada Akun B.Berikan IAM peran
roleB
di Akun B izin untuk mengunduh (GetObject
) dan mengunggah (PutObject
) objek ke dan daribucketA
Akun A dengan melampirkan IAM kebijakan.Untuk membatasi akses ke folder bucket tertentu, tentukan nama folder di elemen sumber daya, seperti
arn:aws:s3:::<bucketA>/FolderName/*
. Untuk informasi selengkapnya, lihat Bagaimana cara menggunakan IAM kebijakan untuk memberikan akses khusus pengguna ke folder tertentu?catatan
Tindakan tingkat ember, seperti
GetBucketCors
dan, harus ditambahkan pada sumber daya tingkat emberGetBucketLocation
, bukan folder.Contoh IAM kebijakan berikut memberikan izin yang diperlukan
roleB
untuk mengakses objek di:bucketA
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::bucketA/FolderName/*", ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketCors", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::bucketA", ] } ] }
-
Konfigurasikan kebijakan bucket
bucketA
di Akun A untuk memberikan izin ke IAM peranroleB
di Akun B.catatan
Admin juga harus menonaktifkan Blokir semua akses publik di bawah bagian Izin bucket.
Berikut ini adalah contoh kebijakan bucket
bucketA
untuk memberikan izin yang diperlukan untukroleB
:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::accountB:role/roleB" }, "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::bucketA/FolderName/*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::accountB:role/roleB" }, "Action": [ "s3:ListBucket", "s3:GetBucketCors", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::bucketA" } ] }
Setelah mengonfigurasi izin sebelumnya, profil pengguna Canvas Anda di Akun B sekarang dapat menggunakan bucket Amazon S3 di Akun A sebagai lokasi penyimpanan artefak Canvas.
Izin untuk bucket Amazon S3 lintas akun yang dienkripsi AWS KMS
Prosedur berikut menunjukkan cara memberikan izin yang diperlukan agar Canvas dapat mengakses bucket Amazon S3 Anda di akun lain yang dienkripsi. AWS KMS Langkah-langkahnya mirip dengan prosedur di atas, tetapi dengan izin tambahan. Untuk informasi selengkapnya tentang pemberian akses KMS kunci lintas akun, lihat Mengizinkan pengguna di akun lain menggunakan KMS kunci di Panduan AWS KMS Pengembang.
-
Buat bucket Amazon S3
bucketA
, dan kunci Amazon KMS S3s3KmsInAccountA
di Akun A. -
Pengguna Canvas ada di akun lain yang disebut Akun B. Pada langkah-langkah berikut, kita mengacu pada IAM peran pengguna Canvas seperti
roleB
pada Akun B.Berikan IAM peran
roleB
di Akun B izin untuk melakukan hal berikut:Unduh (
GetObject
) dan unggah (PutObject
) objek ke dan daribucketA
di Akun A.Akses AWS KMS kunci
s3KmsInAccountA
di Akun A.
Contoh IAM kebijakan berikut memberikan izin yang diperlukan
roleB
untuk mengakses objekbucketA
dan menggunakan kunci: KMSs3KmsInAccountA
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::bucketA/FolderName/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketCors", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::bucketA" ] }, { "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlainText", "kms:Decrypt" ], "Effect": "Allow", "Resource": "arn:aws:kms:{region}:accountA:key/s3KmsInAccountA" } ] }
-
Konfigurasikan kebijakan bucket untuk
bucketA
dan kebijakan utamas3KmsInAccountA
di Akun A untuk memberikan izin ke IAM peranroleB
di Akun B.Berikut ini adalah contoh kebijakan bucket
bucketA
untuk memberikan izin yang diperlukan untukroleB
:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::accountB:role/roleB" }, "Action": [ "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::bucketA/FolderName/*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::accountB:role/roleB" }, "Action": [ "s3:GetBucketCors", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::bucketA" } ] }
Contoh berikut adalah kebijakan kunci yang Anda lampirkan ke KMS kunci
s3KmsInAccountA
di Akun A untuk memberikanroleB
akses. Untuk informasi selengkapnya tentang cara membuat dan melampirkan pernyataan kebijakan utama, lihat Membuat kebijakan kunci di Panduan AWS KMS Pengembang.{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::accountB:role/roleB" ] }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlainText", "kms:Decrypt" ], "Resource": "*" }
Setelah mengonfigurasi izin sebelumnya, profil pengguna Canvas Anda di Akun B sekarang dapat menggunakan bucket Amazon S3 terenkripsi di Akun A sebagai lokasi penyimpanan artefak Canvas.