Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akses toko offline lintas akun
Amazon SageMaker Feature Store memungkinkan pengguna untuk membuat grup fitur dalam satu akun (Akun A) dan mengonfigurasinya dengan toko offline menggunakan bucket Amazon S3 di akun lain (Akun B). Anda dapat mengatur ini menggunakan langkah-langkah di bagian berikut.
Topik
Langkah 1: Siapkan peran akses toko offline di Akun A
Pertama, siapkan peran Amazon SageMaker Feature Store untuk menulis data ke toko offline. Cara termudah untuk mencapai ini adalah dengan membuat peran baru menggunakan AmazonSageMakerFeatureStoreAccess
kebijakan atau menggunakan peran yang sudah ada yang sudah memiliki AmazonSageMakerFeatureStoreAccess
kebijakan terlampir. Dokumen ini mengacu pada kebijakan ini sebagaiAccount-A-Offline-Feature-Store-Role-ARN
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::*SageMaker*", "arn:aws:s3:::*Sagemaker*", "arn:aws:s3:::*sagemaker*" ] } ] }
Cuplikan kode sebelumnya menunjukkan kebijakan. AmazonSageMakerFeatureStoreAccess
Resource
Bagian kebijakan dicakup secara default ke bucket S3 dengan nama yang berisiSageMaker
,, atau. Sagemaker
sagemaker
Ini berarti bucket Amazon S3 toko offline yang digunakan harus mengikuti konvensi penamaan ini. Jika ini bukan kasus Anda, atau jika Anda ingin memperluas cakupan sumber daya, Anda dapat menyalin dan menempelkan kebijakan tersebut ke kebijakan bucket Amazon S3 di konsol, menyesuaikan Resource
bagiannyaarn:aws:s3:::your-offline-store-bucket-name
, lalu melampirkan peran tersebut.
Selain itu, peran ini harus memiliki AWS KMS izin yang dilampirkan. Minimal, diperlukan kms:GenerateDataKey
izin untuk dapat menulis ke toko offline menggunakan kunci yang dikelola pelanggan Anda. Lihat Langkah 3 untuk mempelajari mengapa kunci yang dikelola pelanggan diperlukan untuk skenario lintas akun dan cara mengaturnya. Contoh berikut menunjukkan kebijakan inline:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:*:Account-A-Account-Id:key/*" } ] }
Resource
Bagian dari kebijakan ini dicakup ke kunci apa pun di Akun A. Untuk lebih lanjut menjelaskan hal ini, setelah menyiapkan kunci KMS toko offline di Langkah 3, kembali ke kebijakan ini dan ganti dengan kunci ARN.
Langkah 2: Siapkan bucket Amazon S3 toko offline di Akun B
Buat bucket Amazon S3 di Akun B. Jika Anda menggunakan AmazonSageMakerFeatureStoreAccess
kebijakan default, nama bucket harus menyertakanSageMaker
,Sagemaker
, atau. sagemaker
Edit kebijakan bucket seperti yang ditunjukkan pada contoh berikut untuk memungkinkan Akun A membaca dan menulis objek.
Dokumen ini mengacu pada contoh kebijakan bucket berikut sebagaiAccount-B-Offline-Feature-Store-Bucket
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3CrossAccountBucketAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl" ], "Principal": { "AWS": [ "*Account-A-Offline-Feature-Store-Role-ARN*" ], }, "Resource": [ "arn:aws:s3:::offline-store-bucket-name/*", "arn:aws:s3:::offline-store-bucket-name" ] } ] }
Dalam kebijakan sebelumnya, prinsipnya adalah, yang merupakan Account-A-Offline-Feature-Store-Role-ARN
peran yang dibuat di Akun A pada Langkah 1 dan diberikan ke Amazon SageMaker Feature Store untuk menulis ke toko offline. Anda dapat memberikan beberapa peran ARN di bawah. Principal
Langkah 3: Siapkan kunci AWS KMS enkripsi toko offline di Akun A
Amazon SageMaker Feature Store memastikan bahwa enkripsi sisi server selalu diaktifkan untuk objek Amazon S3 di toko offline. Untuk kasus penggunaan lintas akun, Anda harus memberikan kunci yang dikelola pelanggan sehingga Anda mengendalikan siapa yang dapat menulis ke toko offline (dalam hal ini, Account-A-Offline-Feature-Store-Role-ARN
dari Akun A) dan siapa yang dapat membaca dari toko offline (dalam hal ini, identitas dari Akun B).
Dokumen ini mengacu pada contoh kebijakan kunci berikut sebagaiAccount-A-Offline-Feature-Store-KMS-Key-ARN
.
{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account-A-Account-Id:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::Account-A-Account-Id:role/Administrator", ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow Feature Store to get information about the customer managed key", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": [ "kms:Describe*", "kms:Get*", "kms:List*" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "*Account-A-Offline-Feature-Store-Role-ARN*", "*arn:aws:iam::Account-B-Account-Id:root*" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey", "kms:ListAliases", "kms:ListGrants" ], "Resource": "*", } ] }
Langkah 4: Buat grup fitur di Akun A
Selanjutnya, buat grup fitur di Akun A, dengan bucket Amazon S3 toko offline di Akun B. Untuk melakukan ini, berikan parameter berikut untukRoleArn
,, dan OfflineStoreConfig.S3StorageConfig.KmsKeyId
OfflineStoreConfig.S3StorageConfig.S3Uri
, masing-masing:
-
Berikan
Account-A-Offline-Feature-Store-Role-ARN
sebagaiRoleArn
. -
Menyediakan
Account-A-Offline-Feature-Store-KMS-Key-ARN
untukOfflineStoreConfig.S3StorageConfig.KmsKeyId
. -
Menyediakan
Account-B-Offline-Feature-Store-Bucket
untukOfflineStoreConfig.S3StorageConfig.S3Uri
.