Amazon SageMaker Model Cards のクロスアカウントサポートを設定する - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SageMaker Model Cards のクロスアカウントサポートを設定する

Amazon SageMaker Model Cards のクロスアカウントサポートを使用して、 AWS アカウント間でモデルカードを共有します。モデルカードを作成するアカウントがモデルカードアカウントです。モデルカードアカウントのユーザーは、共有アカウントとモデルカードを共有します。共有アカウントのユーザーは、モデルカードを更新したり、モデルカードの PDF を作成したりできます。

モデルカードアカウントのユーザーは、 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 。

モデルカード共有を設定するには、リソース共有を作成する必要があります。リソース共有を次のように指定します。

  • 共有されているリソース

  • 誰または何がリソースにアクセスできるか

  • リソースのマネージドアクセス許可

リソース共有の詳細については、「Terms and concepts for AWS RAM」を参照してください。リソース共有を作成するプロセスを進める前に、 AWS RAM 時間をかけて概念的に理解することをお勧めします。

重要

リソース共有を作成するにはアクセス許可が必要です。アクセス許可の詳細については、「 AWS RAM が IAM と連携する方法」を参照してください。

リソース共有を作成する手順と追加情報については、「Create a resource share」を参照してください。

リソース共有を作成する手順を実行するときは、リソースタイプとして sagemaker:ModelCard を指定します。また、リソースベースのポリシーの Amazon AWS RAM リソースナンバー (ARN) も指定する必要があります。デフォルトのポリシーか、モデルカードの PDF を作成するための追加のアクセス許可を持つポリシーのいずれかを指定できます。

デフォルトの AWSRAMPermissionSageMakerModelCards リソースベースのポリシーでは、共有アカウントのユーザーには以下の操作を行うアクセス許可があります。

AWSRAMPermissionSageMakerModelCardsAllowExport リソースベースのポリシーでは、共有アカウントのユーザーには上記のアクションをすべて実行するアクセス許可があります。また、モデルカードのエクスポートジョブを作成し、以下の操作でそのジョブを記述するアクセス許可もあります。

共有アカウントのユーザーは、エクスポートジョブを作成してモデルカードの PDF を生成できます。また、PDF の Amazon S3 URI を検索するために作成されたエクスポートジョブについても記述できます。

モデルカードとエクスポートジョブはリソースです。モデルカードアカウントは、共有アカウントのユーザーが作成したエクスポートジョブを所有します。例えば、アカウント A のユーザーは、モデル カード X を共有アカウント B と共有します。アカウント B のユーザーは、アカウント B のユーザーが指定する Amazon S3 の場所に出力を保存するモデルカード X のエクスポートジョブ Y を作成します。アカウント 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 を使用すると、ユーザーは更新するモデルカードや作成した PDF を暗号化できます。

リソース共有の招待に対する返信を受け取る

リソース共有を作成すると、そのリソース共有で指定した共有アカウントに、そのリソース共有への参加の招待が届きます。リソースにアクセスするには、招待を受け入れる必要があります。

リソース共有の招待を受け入れる方法については、「 Resource AWS 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" }