本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon SageMaker 模型卡的跨帳戶支持
使用 Amazon SageMaker 模型卡中的跨帳戶支援,在 AWS 帳戶之間共用模型卡。建立模型卡的帳戶是模型卡帳戶。模型卡帳戶中的使用者與共用帳戶共享它們。共享帳戶中的用戶可以更新模型卡或創建PDFs它們。
模型卡帳戶中的用戶通過 AWS Resource Access Manager (AWS RAM)共享他們的模型卡。 AWS RAM 協助您跨 AWS 帳戶共用資源。如需簡介 AWS RAM,請參閱「什麼是 AWS Resource Access Manager?」
以下是共享模型卡的過程:
-
模型卡帳戶中的使用者使用 AWS Resource Access Manager設定跨帳戶模型卡共享。
-
如果模型卡使用密 AWS KMS 鑰加密,則設置模型共享的用戶還必須為共享帳戶中的用戶提供 AWS KMS 權限。
-
共用帳戶中的使用者接受資源共用的邀請。
-
共用帳戶中的使用者為其他使用者提供了存取模型卡的許可。
如果您是模型卡帳戶的使用者,請參閱以下章節:
如果您是共用帳戶的使用者,請參閱在共享帳戶中設定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:Decrypt
和kms: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
" }