使用 加密 SageMaker 您的 Canvas 資料 AWS KMS - Amazon SageMaker

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

使用 加密 SageMaker 您的 Canvas 資料 AWS KMS

您可能會在使用 Amazon SageMaker Canvas 時想要加密的資料,例如您的私有公司資訊或客戶資料。 SageMaker Canvas AWS Key Management Service 用於保護資料。 AWS KMS 是一項可用來建立和管理加密資料的密碼編譯金鑰的服務。如需 的詳細資訊 AWS KMS,請參閱 開發人員指南 AWS Key Management Service 中的 。 AWS KMS

Amazon SageMaker Canvas 為您提供多種加密資料的選項。 SageMaker Canvas 會在應用程式中為建立模型和產生洞見等任務提供預設加密。您也可以選擇加密 Amazon S3 中存放的資料,以保護靜態資料。 SageMaker Canvas 支援匯入加密的資料集,因此您可以建立加密的工作流程。下列各節說明如何使用 AWS KMS 加密來保護資料,同時使用 SageMaker Canvas 建置模型。

在 SageMaker Canvas 中加密您的資料

透過 SageMaker Canvas,您可以使用兩個不同的 AWS KMS 加密金鑰來加密 SageMaker Canvas 中的資料,您可以在使用標準網域設定設定網域時指定此金鑰。這些金鑰會在下列網域設定步驟中指定:

  • 步驟 3:設定應用程式 - (選用) – 設定 Canvas 儲存組態區段時,您可以指定加密金鑰 。這是 SageMaker Canvas 用於長期儲存模型物件和資料集的KMS金鑰,這些物件和資料集存放在您網域的 Amazon S3 儲存貯體中。如果使用 CreateApp 建立 Canvas 應用程式API,請使用 S3KMSKeyId 欄位來指定此金鑰。

  • 步驟 6:設定儲存 – SageMaker Canvas 使用一個金鑰來加密為 Canvas 應用程式建立的 Amazon SageMaker Studio 私有空間,其中包括暫時性應用程式儲存、視覺化和運算任務 (例如建置模型)。您可以使用預設 AWS 受管金鑰或指定自己的金鑰。如果您指定 AWS KMS 金鑰,儲存在/home/sagemaker-user目錄中的資料會使用金鑰加密。如果您未指定 AWS KMS 金鑰,內部的資料/home/sagemaker-user會使用 AWS 受管金鑰加密。無論您是否指定 AWS KMS 金鑰,工作目錄以外的所有資料都會使用 AWS Managed Key 加密。若要進一步了解 Studio 空間和 Canvas 應用程式儲存體,請參閱 將 SageMaker Canvas 應用程式資料存放在您自己的 SageMaker空間。如果使用 CreateApp 建立 Canvas 應用程式API,請使用 KmsKeyID 欄位來指定此金鑰。

上述金鑰可以是相同或不同的KMS金鑰。

必要條件

若要將自己的KMS金鑰用於上述任一用途,您必須先授予使用者IAM的角色許可,才能使用金鑰。然後,您可以在設定網域時指定 KMS 金鑰。

授予角色使用金鑰的最簡單方法是修改金鑰政策。使用以下處理程序為您的角色授予必要的許可。

  1. 開啟 AWS KMS 主控台

  2. 金鑰政策區段中,選擇切換為政策檢視

  3. 修改金鑰的政策,將 kms:GenerateDataKeykms:Decrypt動作的許可授予IAM角色。此外,如果您正在修改金鑰政策,以加密 Studio 空間中的 Canvas 應用程式儲存體,請授予 kms:CreateGrant動作。您可以新增類似以下的陳述式:

    { "Sid": "ExampleStmt", "Action": [ "kms:CreateGrant", #this permission is only required for the key that encrypts your SageMaker Canvas application storage "kms:Decrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Principal": { "AWS": "<arn:aws:iam::111122223333:role/Jane>" }, "Resource": "*" }
  4. 選擇 Save changes (儲存變更)。

較不偏好的方法是修改使用者IAM的角色,以授予使用者使用或管理KMS金鑰的許可。如果您使用此方法,KMS金鑰政策也必須允許透過 進行存取管理IAM。若要了解如何透過使用者IAM的角色授予KMS金鑰的許可,請參閱 AWS KMS 開發人員指南 中的在IAM政策陳述式中指定KMS金鑰

時間序列預測的先決條件

若要使用 AWS KMS 金鑰來加密 SageMaker Canvas 中的時間序列預測模型,您必須修改用於將物件儲存至 Amazon S3 的金鑰KMS的金鑰政策。您的金鑰政策必須授予 許可AmazonSageMakerCanvasForecastRole,該許可會在您授予使用者 的時間序列預測許可時 SageMaker 建立。Amazon Forecast 使用 AmazonSageMakerCanvasForecastRole來執行 SageMaker Canvas 中的時間序列預測操作。您的KMS金鑰必須授予此角色的許可,以確保資料已加密,以進行時間序列預測。

若要修改KMS金鑰政策的許可以允許加密的時間序列預測,請執行下列動作。

  1. 開啟 AWS KMS 主控台

  2. 金鑰政策區段中,選擇切換為政策檢視

  3. 修改金鑰的政策,使其具有在下列範例中指定的許可:

    { "Sid": "Enable IAM Permissions for Amazon Forecast KMS access", "Effect": "Allow", "Principal": { "AWS": "<arn:aws:iam::111122223333:role/service-role/AmazonSagemakerCanvasForecastRole-111122223333>" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlainText", "kms:Decrypt" ], "Resource": "*" }
  4. 選擇 Save changes (儲存變更)。

您現在可以使用 KMS 金鑰來加密 SageMaker Canvas 中的時間序列預測操作。

注意

只有在您使用IAM角色設定方法設定時間序列預測時,才需要下列許可。將下列許可政策新增至使用者IAM的角色。您還必須使用 Amazon Forecast 所需的更新政策來更新金鑰政策。如需時間序列預測所需許可的詳細資訊,請參閱授予使用者執行時間序列預測的許可

{ "Sid": "Enable IAM Permissions for Amazon Forecast KMS access", "Effect": "Allow", "Principal": { "AWS": "<arn:aws:iam::111122223333:role/AmazonSageMaker-111122223333>" }, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:GenerateDataKey" "kms:GenerateDataKeyWithoutPlainText", ], "Resource": "*" }

在 SageMaker Canvas 應用程式中加密您的資料

您可以在 SageMaker Canvas 中使用的第一個KMS金鑰,用於加密存放在 Amazon Elastic Block Store (Amazon EBS) 磁碟區和網域中 SageMaker 建立的 Amazon Elastic File System 中的應用程式資料。 SageMaker Canvas 會在基礎應用程式和臨時儲存系統中使用此金鑰加密資料,這些金鑰是在使用運算執行個體建立模型和產生洞察時建立的。 SageMaker Canvas 會在 SageMaker Canvas 啟動任務時,將金鑰傳遞給其他服務, AWS 例如 Autopilot。

您可以在CreateDomainAPI通話KmsKeyID中設定 或在主控台中執行標準網域設定時指定此金鑰。如果您未指定自己的KMS金鑰, SageMaker 會使用預設 AWS 的受管KMS金鑰來加密 SageMaker Canvas 應用程式中的資料。

若要透過主控台指定自己的KMS金鑰,以便在 SageMaker Canvas 應用程式中使用,請先使用標準設定 來設定您的 Amazon SageMaker 網域。使用下列程序來完成網域的網路和儲存區段

  1. 填寫您想要的 Amazon VPC設定。

  2. 針對加密金鑰 ,選擇輸入KMS金鑰 ARN

  3. 針對 KMS ARN,輸入 KMS 金鑰ARN的 ,其格式應類似下列: arn:aws:kms:example-region-1:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd

加密儲存在 Amazon S3 中的 SageMaker Canvas 資料

您可以指定的第二個KMS金鑰用於 SageMaker Canvas 儲存至 Amazon S3 的資料。此KMS金鑰是在 CreateDomain API 通話中的 S3KMSKeyId 欄位,或在 SageMaker 主控台中執行標準網域設定時指定。 SageMaker Canvas 會將輸入資料集、應用程式和模型資料,以及輸出資料的複本儲存至您帳戶的區域預設 SageMaker S3 儲存貯體。此儲存貯體的命名模式為 s3://sagemaker-{Region}-{your-account-id}, SageMaker Canvas 會將資料存放在 Canvas/ 資料夾中。

  1. 開啟啟用筆記本資源共用

  2. 對於可共用筆記本資源的 S3 位置,請保留預設的 Amazon S3 路徑。請注意, SageMaker Canvas 不會使用此 Amazon S3 路徑;此 Amazon S3 路徑用於 Studio Classic 筆記本。

  3. 針對加密金鑰 ,選擇輸入KMS金鑰 ARN

  4. 針對 KMS ARN,輸入 KMS 金鑰ARN的 ,其格式應類似下列: arn:aws:kms:us-east-1:111122223333:key/111aa2bb-333c-4d44-5555-a111bb2c33dd

從 Amazon S3 匯入加密資料集

您的使用者可能有已使用KMS金鑰加密的資料集。雖然上一節說明如何加密 SageMaker Canvas 中的資料和存放到 Amazon S3 的資料,但如果您要從已使用 加密的 Amazon S3 匯入資料,則必須授予使用者IAM角色的額外許可 AWS KMS。

若要授予使用者將加密資料集從 Amazon S3 匯入 SageMaker Canvas 的許可,請將下列許可新增至您用於使用者設定檔的IAM執行角色。

"kms:Decrypt", "kms:GenerateDataKey"

若要了解如何編輯角色的IAM許可,請參閱 IAM 使用者指南 中的新增和移除IAM身分許可。如需KMS金鑰的詳細資訊,請參閱 AWS KMS 開發人員指南 中的 金鑰政策 AWS Key Management Service

FAQs

如需 SageMaker Canvas FAQ AWS KMS 支援的常見問題解答,請參閱下列項目。

答:否。 SageMaker Canvas 可能會暫時快取您的金鑰或將其傳遞給其他 AWS 服務 (例如 Autopilot),但 SageMaker Canvas 不會保留您的KMS金鑰。

答:您使用者IAM的角色可能沒有使用該KMS金鑰的許可。若要授予您的使用者許可,請參閱必要條件。另一個可能的錯誤是,您的 Amazon S3 儲存貯體上有儲存貯體政策,需要使用與您在網域中指定的KMS金鑰不相符的特定KMS金鑰。請務必為 Amazon S3 儲存貯體和網域指定相同的KMS金鑰。

答:預設的 Amazon S3 儲存貯體遵循命名模式 s3://sagemaker-{Region}-{your-account-id}。此儲存貯體中的Canvas/資料夾存放 SageMaker Canvas 應用程式資料。

答:否,為您 SageMaker 建立此儲存貯體。

答: SageMaker Canvas 使用預設的 SageMaker Amazon S3 儲存貯體來儲存輸入資料集、模型成品和模型輸出的複本。

答:使用 SageMaker Canvas,您可以將自己的加密金鑰與 搭配使用 AWS KMS ,以建置迴歸、二進位和多類別分類和時間序列預測模型,以及使用模型進行批次推論。

答案:是。您必須為KMS金鑰提供額外的許可,才能執行加密的時間序列預測。如需如何修改金鑰政策以授予時間序列預測許可的詳細資訊,請參閱時間序列預測的先決條件