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

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

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

Amazon SageMaker Model Cards でクロスアカウントサポートを使用して、 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 。

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

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

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

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

リソース共有の詳細については、「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、ユーザーは更新するモデルカードまたは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" }