選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

授予 Amazon S3 Storage Lens 的許可

焦點模式
授予 Amazon S3 Storage Lens 的許可 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為使用者設定 SageMaker AI 網域或使用者設定檔以存取 SageMaker Canvas 時,您可以指定 Canvas 成品的 Amazon S3 儲存位置。這些成品包括已儲存的輸入資料集副本、模型加工品、預測和其他應用程式資料。您可以使用預設的 SageMaker AI 建立的 Amazon S3 儲存貯體,也可以自訂儲存位置並指定自己的儲存貯體來存放 Canvas 應用程式資料。

您可以在另一個 AWS 帳戶中指定 Amazon S3 儲存貯體來存放 Canvas 資料,但首先必須授予跨帳戶許可,讓 Canvas 可以存取儲存貯體。

以下各節說明如何授予 Canvas 的許可,以便在另一個帳戶中的 Amazon S3 儲存貯體上傳和下載物件。當您的儲存貯體使用 加密時,還有其他許可 AWS KMS。

要求

開始之前,檢查下列要求:

  • 跨帳戶 Amazon S3 儲存貯體 (和任何相關聯的 AWS KMS 金鑰) 必須與 Canvas 使用者網域或使用者設定檔位於相同的 AWS 區域。

  • 您 Canvas 儲存位置中訓練資料夾的最終 Amazon S3 URI 必須在 128 個字元以內。最終的 Amazon S3 URI 包含您的儲存貯體路徑 s3://<your-bucket-name>/<folder-name>/ 以及 Canvas 新增至您的儲存貯體的路徑:Canvas/<user-profile-name>/Training。例如,小於 128 個字元的可接受路徑為 s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training

儲存貯體的跨帳戶 Amazon S3 主控台 ACL 許可

以下部分概述授予必要許可,以便 Canvas 可以在另一個帳戶中存取 Amazon S3 儲存貯體的基本步驟。如詳細說明,請參閱 Amazon S3 使用者指南中的範例 2:儲存貯體擁有者授予跨帳戶許可

  1. 在帳戶 A 建立一個 Amazon S3 儲存貯體 bucketA

  2. Canvas 使用者存在於另一個名為帳戶 B 的帳戶中。在下列步驟中,我們將 Canvas 使用者的 IAM 角色在帳戶 B 中稱為 roleB

    透過連接 IAM 政策,讓帳戶 B 中的 IAM 角色 roleB 獲得許可從帳戶 A 的 bucketA 中下載 (GetObject) 和上傳 (PutObject) 物件。

    若要限制存取特定儲存貯體資料夾,請在資源元素中定義資料夾名稱,例如 arn:aws:s3:::<bucketA>/FolderName/*。如需更多資訊,請參閱如何使用 IAM 政策授予使用者特定資料夾的存取許可?

    注意

    儲存貯體層級動作如 GetBucketCorsGetBucketLocation 應該新增至值區層級資源,而不是資料夾。

    下列 IAM 政策範例授予 roleB 存取 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", ] } ] }
  3. 設定帳戶 A 中 bucketA 的儲存貯體政策,對帳戶 B 中的 IAM 角色 roleB 授予許可。

    注意

    管理員也必須在儲存貯體許可區段下關閉封鎖所有公開存取

    下列儲存貯體政策範例,讓 bucketA 授予 roleB 必要的許可:

    { "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" } ] }

設定前述許可後,帳戶 B 中的 Canvas 使用者設定檔現在可以使用帳戶 A 中的 Amazon S3 儲存貯體做為 Canvas 成品的儲存位置。

使用 加密的跨帳戶 Amazon S3 儲存貯體的許可 AWS KMS

下列程序說明如何授予必要的許可,讓 Canvas 可以存取使用 加密的另一個帳戶中的 Amazon S3 儲存貯體 AWS KMS。這些步驟與上述程序類似,但具有其他許可。如需授予跨帳戶 KMS 金鑰許可的更多相關資訊,請參閱 AWS KMS 開發人員指南中的允許其他帳戶中的使用者使用 KMS 金鑰

  1. 在帳戶 A s3KmsInAccountA中建立 Amazon S3 儲存貯體bucketA、 和 Amazon S3 KMS 金鑰。

  2. Canvas 使用者存在於另一個名為帳戶 B 的帳戶中。在下列步驟中,我們將 Canvas 使用者的 IAM 角色在帳戶 B 中稱為 roleB

    授予帳戶 B 中的 IAM 角色 roleB 執行下列動作的許可:

    • 在帳戶 A 的 bucketA 中下載 (GetObject) 和上傳 (PutObject) 物件。

    • 存取帳戶 A s3KmsInAccountA 中的 AWS KMS 金鑰。

    下列 IAM 政策範例授予 roleB 存取 bucketA 中物件和使用 KMS 金鑰 s3KmsInAccountA 的必要許可:

    { "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" } ] }
  3. 在帳戶 A 中設定 bucketA 的儲存貯體政策和 s3KmsInAccountA 的金鑰政策,將許可授予帳戶 B 的 IAM 角色 roleB

    下列範例儲存貯體政策為 bucketA 授予 roleB 必要的許可:

    { "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" } ] }

    下列範例是您連接至帳戶 A 中 KMS 金鑰 s3KmsInAccountA 以授予 roleB 存取權的金鑰政策。如需有關如何建立和連接金鑰政策聲明的更多相關資訊,請參閱 AWS KMS 開發人員指南中的建立金鑰政策

    { "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": "*" }

設定上述許可後,帳戶 B 中的 Canvas 使用者設定檔現在可以使用帳戶 A 中的加密 Amazon S3 儲存貯體做為 Canvas 成品的儲存位置。

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。