設定 Amazon SageMaker Model Card 的跨帳戶支援 - Amazon SageMaker

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

設定 Amazon SageMaker Model Card 的跨帳戶支援

使用 Amazon SageMaker Model Card 中的跨帳戶支援,在 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 Resource Number (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,使用者可以解密模型卡。透過 kms:GenerateDataKey,使用者可以加密他們更新的模型卡或他們建立PDFs的 。

取得資源共用邀請的回應

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

如需接受資源共用邀請的相關資訊,請參閱 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:::amzn-s3-demo-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" }