Amazon SageMaker 模型卡的跨帳戶支持 - Amazon SageMaker

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

Amazon SageMaker 模型卡的跨帳戶支持

使用 Amazon SageMaker 模型卡中的跨帳戶支援,在 AWS 帳戶之間共用模型卡。建立模型卡的帳戶是模型卡帳戶。模型卡帳戶中的使用者與共用帳戶共享它們。共享帳戶中的用戶可以更新模型卡或創建PDFs它們。

模型卡帳戶中的用戶通過 AWS Resource Access Manager (AWS RAM)共享他們的模型卡。 AWS RAM 協助您跨 AWS 帳戶共用資源。如需簡介 AWS RAM,請參閱「什麼是 AWS Resource Access Manager?

以下是共享模型卡的過程:

  1. 模型卡帳戶中的使用者使用 AWS Resource Access Manager設定跨帳戶模型卡共享。

  2. 如果模型卡使用密 AWS KMS 鑰加密,則設置模型共享的用戶還必須為共享帳戶中的用戶提供 AWS KMS 權限。

  3. 共用帳戶中的使用者接受資源共用的邀請。

  4. 共用帳戶中的使用者為其他使用者提供了存取模型卡的許可。

如果您是模型卡帳戶的使用者,請參閱以下章節:

如果您是共用帳戶的使用者,請參閱在共享帳戶中設定IAM使用者權限關於為自己和帳戶中其他使用者設定許可的相關資訊。

設定跨帳戶模型卡分享

使用 AWS Resource Access Manager (AWS RAM) 授予您 AWS 帳戶中的使用者檢視或更新在不同 AWS 帳戶中建立的模型卡片的存取權。

若要設定模型卡共用,您必須建立資源共用。資源共享指定:

  • 正在共享的資源

  • 誰或什麼有權存取資源

  • 資源的受管許可

如需有關資源共用的更多相關資訊,請參閱AWS RAM詞彙和概念。我們建議您在完成建立資源共用的程序之前,先花一些時間先 AWS RAM 從概念上瞭解。

重要

您必須擁有許可才能建立資源共用。如需有關權限的詳細資訊,請參閱如 AWS RAM 何使用IAM

如需建立資源共用的程序及其相關資訊,請參閱建立資源共用

當您執行建立資源共用的程序時,您指定sagemaker:ModelCard為資源類型。您還必須指定以資源 AWS RAM 為基礎的政策的 Amazon 資源編號 (ARN)。您可以指定預設原則或具有其他權限來建立模型卡片PDF的原則。

使用預設AWSRAMPermissionSageMakerModelCards資源型政策,共用帳戶中的使用者具有執行以下作業的許可:

使用AWSRAMPermissionSageMakerModelCardsAllowExport資源型政策,共用帳戶中的使用者擁有執行上述所有動作的許可。他們還具有建立模型卡匯出任務的許可,並透過以下操作對其進行描述:

共用帳戶中的使用者可以建立匯出工作,以產生模型卡片。PDF他們也可以描述為尋找 Amazon S3 而建立PDF的匯出任務URI。

模型卡和匯出任務為資源。模型卡帳戶擁有使用者在共用帳戶中建立的匯出任務。例如,帳戶 A 中的使用者與共用帳戶 B 共用模型卡 X。帳戶 B 中的使用者會為模型卡 X 建立匯出任務 Y,該模型卡 X 將輸出存放在使用者帳戶 B 指定的 Amazon S3 位置。即使帳戶 B 建立了匯出任務 Y,其仍屬於帳戶 A。

每個 AWS 帳號都有資源配額。如需與模型卡相關配額的詳細資訊,請參閱 Amazon SageMaker 端點和配額

設定共用帳戶的 AWS KMS 權限

如果您要共用的模型卡已使用 AWS Key Management Service 金鑰加密,您也需要與共用帳戶共用金鑰的存取權。否則,共用帳戶中的使用者將無法檢視、更新或匯出模型卡。如需的概述 AWS KMS,請參閱AWS Key Management Service

若要為共用帳戶中的使用者提供 AWS KMS 權限,請使用下列陳述式更新您的金鑰原則:

{ "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::shared-account-id::role/example-IAM-role" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", ] "Resource": "arn:aws:kms:AWS-Region-of-model-card-account:model-card-account-id:key/AWS KMS-key-id" "Condition": { "Bool": {"kms:GrantIsForAWSResource": true }, "StringEquals": { "kms:ViaService": [ "sagemaker.AWS-Region.amazonaws.com", "s3.AWS-Region.amazonaws.com" ], }, "StringLike": { "kms:EncryptionContext:aws:sagemaker:model-card-arn": "arn:aws:sagemaker:AWS-Region:model-card-account-id:model-card/model-card-name" } } }

上述陳述式為共用帳戶中的使用者提供kms:Decryptkms:GenerateDataKey許可。使用kms:Decrypt,使用者可以解密模型卡。使用者可以使用加密他們更新的模型卡或他們建立的PDFs模型卡。kms:GenerateDataKey

取得資源共用邀請的回應

建立資源共用之後,您在資源共用中指定的共用帳戶會收到加入該共用帳號的邀請。他們必須接受邀請才能存取資源。

如需有關接受資源共用邀請的詳細資訊,請參閱 AWS Resource Access Manager 使用指南中的使用共用資 AWS 源

在共享帳戶中設定IAM使用者權限

以下資訊假設您已接受來自模型卡帳戶的資源共用邀請。如需有關接受資源共用邀請的詳細資訊,請參閱使用共用 AWS 資源

您和您帳戶中的其他使用者使用IAM角色來存取從模型卡帳戶分享的模型卡。使用下列範本來變更IAM角色的原則。您可以針對自己的使用案例修改範本。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DescribeModelCard", "sagemaker:UpdateModelCard", "sagemaker:CreateModelCardExportJob", "sagemaker:ListModelCardVersions", "sagemaker:DescribeModelCardExportJob" ], "Resource": [ "arn:aws:sagemaker:AWS-Region:AWS-model-card-account-id:model-card/example-model-card-name-0", "arn:aws:sagemaker:AWS-Region:AWS-model-card-account-id:model-card/example-model-card-name-1/*" ] }, { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::Amazon-S3-bucket-storing-the-pdf-of-the-model-card/model-card-name/*" } ] }

若要存取使用加密的模型卡 AWS KMS,您必須向帳戶中的使用者提供下列 AWS KMS 權限。

{ "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", ], "Resource": "arn:aws:kms:AWS-Region:AWS-account-id-where-the-model-card-is-created:key/AWS Key Management Service-key-id" }