パートナー AI アプリケーションを設定する - Amazon SageMaker AI

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

パートナー AI アプリケーションを設定する

以下のトピックでは、Amazon SageMaker パートナー AI アプリケーションの使用を開始するために必要なアクセス許可について説明します。必要なアクセス許可は、ユーザーのアクセス許可レベルに応じて 2 つの部分に分割されます。

  • 管理者のアクセス許可 – データサイエンティストと機械学習 (ML) デベロッパー環境を設定する管理者のアクセス許可です。

    • AWS Marketplace

    • パートナー AI アプリケーションの管理

    • AWS License Manager

  • ユーザーのアクセス許可 – データサイエンティストと機械学習デベロッパー用のアクセス許可です。

    • ユーザー認可

    • アイデンティティの伝播

    • SDK アクセス

前提条件

管理者は、パートナー AI アプリケーションを設定するために以下の前提条件を満たすことができます。

  • (オプション) SageMaker AI ドメインにオンボードします。パートナー AI アプリケーションには、SageMaker AI ドメインから直接アクセスできます。詳細については、「Amazon SageMaker AI ドメインの概要」を参照してください。

    • VPC 専用モードの SageMaker AI ドメインでパートナー AI アプリケーションを使用する場合、管理者はパートナー AI アプリケーションに接続するために次の形式のエンドポイントを作成する必要があります。VPC での Studio の使用の詳細については、「VPC 内の Amazon SageMaker Studio ノートブックを外部リソースに接続する」を参照してください。

      aws.sagemaker.region.partner-app
  • (オプション) 管理者が を使用してドメインを操作する場合はAWS CLI、次の前提条件も満たす必要があります。

    1. 現在のAWS CLIバージョンのインストールのAWS CLI手順に従って、 を更新します。 

    2. ローカルマシンで aws configure を実行し、AWS 認証情報を入力します。AWS認証情報の詳細については、「認証情報の理解と取得AWS」を参照してください。

管理者のアクセス許可

管理者は、SageMaker AI でパートナー AI アプリケーションを有効にするために、次のアクセス許可を追加する必要があります。

  • パートナー AI アプリのAWS Marketplaceサブスクリプションを完了するアクセス許可

  • パートナー AI アプリケーションの実行ロールを設定する

AWS Marketplaceパートナー AI アプリのサブスクリプション

管理者は、アクセス許可を追加するには、次のステップを完了する必要がありますAWS Marketplace。の使用の詳細についてはAWS Marketplace、「 を使用した購入者としての開始方法AWS Marketplace」を参照してください。

  1. のアクセス許可を付与しますAWS Marketplace。パートナー AI アプリの管理者は、パートナー AI アプリのサブスクリプションを から購入するために、これらのアクセス許可が必要ですAWS Marketplace。AWS Marketplace にアクセスするには、管理者は SageMaker AI コンソールにアクセスしてアプリケーションを購入するために使用する IAM ロールに AWSMarketplaceManageSubscriptions マネージドポリシーをアタッチする必要があります。管理ポリシーの詳細については、AWSMarketplaceManageSubscriptionsAWSAWS Marketplace「 購入者の 管理ポリシー」を参照してください。IAM ポリシーのアタッチに関する詳細については、IAM ユーザーガイドの「IAM ID のアクセス許可の追加および削除」を参照してください。

  2. SageMaker AI は他の AWS のサービスを使用して管理者に代わってオペレーションを実行するアクセス許可を付与します。これらのサービスとサービスが動作するリソースを使用するには、SageMaker アクセス許可を付与する必要があります。次のポリシー定義は、必要な Partner AI アプリケーションにアクセス許可を付与する方法を説明しています。これらのアクセス許可は、管理者ロールの既存のアクセス許可に加えて必要です。詳細については、「SageMaker AI 実行ロールの使用方法」を参照してください。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreatePartnerApp", "sagemaker:DeletePartnerApp", "sagemaker:UpdatePartnerApp", "sagemaker:DescribePartnerApp", "sagemaker:ListPartnerApps", "sagemaker:CreatePartnerAppPresignedUrl", "sagemaker:CreatePartnerApp", "sagemaker:AddTags", "sagemaker:ListTags", "sagemaker:DeleteTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } } ] }

パートナー AI アプリケーションの実行ロールを設定する

  1. パートナー AI アプリケーションでは、AWS アカウントのリソースを操作するために実行ロールが必要です。管理者は、AWS CLI を使用してこの実行ロールを作成できます。パートナー AI アプリケーションはこのロールを使用して、パートナー AI アプリケーションの機能に関連するアクションを完了します。

    aws iam create-role --role-name PartnerAiAppExecutionRole --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }'
  2. 「License Manager AWS License Managerのサービスにリンクされたロールを作成する」の手順に従って、サービスにリンクされたロールを作成します。 https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html#create-slr-core 

  3. AWS CLI を使用して License Manager にアクセスするために、パートナー AI アプリケーションにアクセス許可を付与します。これらのアクセス許可は、パートナー AI アプリケーションのライセンスにアクセスするために必要です。これにより、パートナー AI アプリケーションは、パートナー AI アプリケーションのライセンスへのアクセスを検証できます。

    aws iam put-role-policy --role-name PartnerAiAppExecutionRole --policy-name LicenseManagerPolicy --policy-document '{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "license-manager:CheckoutLicense", "license-manager:CheckInLicense", "license-manager:ExtendLicenseConsumption", "license-manager:GetLicense", "license-manager:GetLicenseUsage" ], "Resource": "*" } }'
  4. パートナー AI アプリケーションが Amazon S3 バケットにアクセスする必要がある場合は、実行ロールに Amazon S3 アクセス許可を追加します。詳細については、「Amazon S3 API オペレーションに必要なアクセス許可」を参照してください。

Amazon Bedrock 統合を設定する

Deepchecks などのパートナー AI アプリケーションは、Amazon Bedrock との統合をサポートし、LLM ベースの評価機能を有効にします。Amazon Bedrock サポートでパートナー AI アプリを設定する場合、管理者はアプリケーション内で使用できる基盤モデルと推論プロファイルを指定できます。Amazon Bedrock モデルのクォータ制限を引き上げる必要がある場合は、「Amazon Bedrock クォータの引き上げをリクエストする」を参照してください。

  1. パートナー AI アプリ実行ロールに必要な Amazon Bedrock アクセス許可があることを確認します。Amazon Bedrock モデルアクセスを有効にするには、次のアクセス許可を追加します。

    aws iam put-role-policy --role-name PartnerAiAppExecutionRole --policy-name BedrockInferencePolicy --policy-document '{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetFoundationModel", "bedrock:GetInferenceProfile" ], "Resource": "*" } }'
  2. 組織がパートナー AI アプリを利用できるようにする Amazon Bedrock モデルを特定します。Amazon Bedrock コンソールを使用して、リージョンで使用可能なモデルを表示できます。リージョン間のモデルの可用性については、「Model support byAWS リージョン」を参照してください。

  3. (オプション) コスト追跡とモデル管理のためのカスタマーマネージド推論プロファイルを作成します。推論プロファイルを使用すると、パートナー AI アプリ専用の Amazon Bedrock 使用状況を追跡し、現在のリージョンでモデルが利用できない場合にクロスリージョン推論を有効にできます。詳細については、「Amazon Bedrock での推論プロファイルの使用」を参照してください。

  4. パートナー AI アプリを作成または更新するときは、 CreatePartnerApp または UpdatePartnerApp API を使用して、許可されたモデルと推論プロファイルを指定します。パートナー AI アプリは、明示的に設定したモデルと推論プロファイルにのみアクセスできます。

重要

パートナー AI アプリによる Amazon Bedrock の使用は、既存の Amazon Bedrock 料金AWS アカウントを使用して に直接請求されます。パートナー AI アプリのインフラストラクチャコストは、Amazon Bedrock モデルの推論コストとは異なります。

Amazon Bedrock 統合のディープチェック

Deepchecks は、以下を含む LLM ベースの評価機能の Amazon Bedrock 統合をサポートしています。

  • 審査員評価としての LLM - 基盤モデルを使用して、モデル出力の品質、関連性、その他の基準を自動的に評価します。

  • 自動注釈 - 基盤モデルを使用してデータセットのラベルと注釈を生成する

  • コンテンツ分析 - LLM 機能を使用して、テキストデータのバイアス、毒性、その他の品質メトリクスを分析します。

Deepchecks Amazon Bedrock の機能と設定の詳細については、アプリケーション内の Deepchecks ドキュメントを参照してください。

ユーザーアクセス許可

管理者は管理者のアクセス許可の設定を完了した後、ユーザーにパートナー AI アプリケーションにアクセスするために必要なアクセス許可があることを確認する必要があります。

  1. SageMaker AI は他の AWS のサービスを使用してユーザーに代わってオペレーションを実行するアクセス許可を付与します。これらのサービスとサービスが動作するリソースを使用するには、SageMaker アクセス許可を付与する必要があります。SageMaker AI にこれらのアクセス許可を付与するには、IAM 実行ロールを使用します。IAM ロールの詳細については、「IAM ロール」を参照してください。次のポリシー定義は、必要な Partner AI アプリケーションにアクセス許可を付与する方法を説明しています。このポリシーは、ユーザープロファイルの実行ロールに追加できます。  詳細については、「SageMaker AI 実行ロールの使用方法」を参照してください。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:DescribePartnerApp", "sagemaker:ListPartnerApps", "sagemaker:CreatePartnerAppPresignedUrl" ], "Resource": "arn:aws:sagemaker:*:*:partner-app/app-*" } ] }
  2. (オプション) Studio からパートナー AI アプリケーションを起動する場合は、次のとおり、Studio またはパートナー AI アプリケーションを直接起動するために使用されるロールに sts:TagSession 信頼ポリシーを追加します。これにより、ID が適切に伝播されます。

    { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] }
  3. (オプション) パートナー AI アプリケーションの SDK を使用して SageMaker AI の機能にアクセスする場合は、SDK コードの実行に使用されるロールに次の CallPartnerAppApi アクセス許可を追加します。Studio から SDK コードを実行する場合は、Studio 実行ロールにこのアクセス許可を追加します。Studio 以外の場所からコードを実行する場合は、ノートブックで使用される IAM ロールにアクセス許可を追加します。これにより、ユーザーはパートナー AI アプリケーションの SDK からパートナー AI アプリケーション機能にアクセスできるようになります。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "sagemaker:CallPartnerAppApi" ], "Resource": [ "arn:aws:sagemaker:us-east-1:111122223333:partner-app/app" ] } ] }

ユーザー認可と認証を管理する

パートナー AI アプリケーションへのアクセスをチームのメンバーに提供するには、管理者はユーザーのアイデンティティがパートナー AI アプリケーションに伝播されていることを確認する必要があります。この伝播により、ユーザーはパートナー AI アプリケーションの UI に適切にアクセスし、承認されたパートナー AI アプリケーションのアクションを実行できます。

パートナー AI アプリケーションは、次のアイデンティティソースをサポートしています。

  • AWS IAM アイデンティティセンター

  • 外部アイデンティティプロバイダー (IdP) 

  • IAM セッションベースのアイデンティティ

以下のセクションでは、パートナー AI アプリケーションがサポートするアイデンティティソースに関する情報と、そのアイデンティティソースに関連する重要な詳細について説明します。

ユーザーが IAM アイデンティティセンターを使用して Studio に認証され、Studio からアプリケーションを起動すると、IAM アイデンティティセンターの UserName はパートナー AI アプリケーションのユーザーアイデンティティとして自動的に伝播されます。これは、ユーザーが CreatePartnerAppPresignedUrl API を使用してパートナー AI アプリケーションを直接起動する場合には適用されません。

AWS アカウントフェデレーションに SAML を使用する場合、管理者には、パートナー AI アプリのユーザー ID として IdP ID を引き継ぐ 2 つのオプションがあります。AWS アカウントフェデレーションの設定については、「フェデレーションに SAML 2.0 AWS アカウントを設定する方法」を参照してください。 

  • プリンシパルタグ – 管理者は、次のName属性を持つAWSセッションPrincipalTagを使用して、ランディングセッションから ID 情報を渡すように IdP 固有の IAM アイデンティティセンターアプリケーションを設定できます。SAML を使用する場合、ランディングロールセッションは IAM ロールを使用します。PrincipalTag を使用するには、管理者はこのランディングロールと Studio 実行ロールに sts:TagSession アクセス許可を追加する必要があります。PrincipalTag の詳細については、「認証レスポンス用の SAML アサーションを設定する」を参照してください。

    https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerPartnerAppUser
  • ランディングセッション名 – 管理者は、ランディングセッション名をパートナー AI アプリケーションのアイデンティティとして伝播できます。これを行うには、パートナー AI アプリケーションごとに EnableIamSessionBasedIdentity オプトインフラグを設定する必要があります。詳細については、「EnableIamSessionBasedIdentity」を参照してください。

重要

この方法を本番稼働用アカウントで使用することはお勧めしません。本番稼働用アカウントでは、セキュリティを強化するためにアイデンティティプロバイダーを使用します。

SageMaker AI は、IAM セッションベースのアイデンティティを使用する場合のアイデンティティ伝播に次のオプションをサポートしています。でセッションタグを使用する以外のすべてのオプションではAWS STS、アプリケーションごとにオプトインフラグを設定EnableIamSessionBasedIdentityする必要があります。詳細については、「EnableIamSessionBasedIdentity」を参照してください。

ID を伝播するとき、SageMaker AI はAWS STSセッションタグが使用されているかどうかを確認します。使用されていない場合、SageMaker AI は IAM ユーザー名またはAWS STSセッション名を伝達します。

  • AWS STSセッションタグ – 管理者はランチャー IAM SageMakerPartnerAppUserセッションのセッションタグを設定できます。管理者が SageMaker AI コンソールまたは を使用してパートナー AI アプリを起動するとAWS CLI、SageMakerPartnerAppUserセッションタグはパートナー AI アプリのユーザー ID として自動的に渡されます。次の例は、AWS CLI を使用して SageMakerPartnerAppUser セッションタグを設定する方法を説明しています。キーの値はプリンシパルタグとして追加されます。

    aws sts assume-role \ --role-arn arn:aws:iam::account:role/iam-role-used-to-launch-partner-ai-app \ --role-session-name session_name \ --tags Key=SageMakerPartnerAppUser,Value=user-name

    CreatePartnerAppPresignedUrl を使用してパートナー AI アプリケーションへのアクセス権をユーザーに付与する場合は、SageMakerPartnerAppUser キーの値を確認することをお勧めします。これにより、パートナー AI アプリケーションのリソースへの意図しないアクセスを防ぐことができます。次の信頼ポリシーは、セッションタグが関連付けられた IAM ユーザーと正確に一致することを確認します。管理者は、この目的のために任意のプリンシパルタグを使用できます。Studio または パートナー AI アプリケーションを起動するロールで設定する必要があります。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyRequireUsernameForSessionName", "Effect": "Allow", "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Condition": { "StringLike": { "aws:RequestTag/SageMakerPartnerAppUser": "prefix${aws:username}" } } } ] }
  • 認証された IAM ユーザー – ユーザーのユーザー名は、パートナー AI アプリケーションユーザーとして自動的に伝播されます。

  • AWS STSセッション名 – の使用時にSageMakerPartnerAppUserセッションタグが設定されていない場合AWS STS、ユーザーが Partner AI アプリを起動すると SageMaker AI はエラーを返します。このエラーを回避するには、管理者はパートナー AI アプリケーションごとに EnableIamSessionBasedIdentity オプトインフラグを設定する必要があります。詳細については、「EnableIamSessionBasedIdentity」を参照してください。

    EnableIamSessionBasedIdentity オプトインフラグが有効になっている場合は、IAM ロールの信頼ポリシーを使用して、IAM セッション名が IAM ユーザー名であるか、含まれていることを確認します。これにより、ユーザーが他のユーザーになりすましてアクセスすることを防げます。次の信頼ポリシーは、セッション名が関連付けられた IAM ユーザーと完全に一致することを確認します。管理者は、この目的のために任意のプリンシパルタグを使用できます。Studio または パートナー AI アプリケーションを起動するロールで設定する必要があります。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyRequireUsernameForSessionName", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Condition": { "StringEquals": { "sts:RoleSessionName": "${aws:username}" } } } ] }

    管理者は Studio または パートナー AI アプリケーションを起動するロールに sts:TagSession 信頼ポリシーを追加する必要があります。これにより、ID が適切に伝播されます。

    { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] }

認証情報を設定した後、管理者は、 または CreatePartnerAppPresignedUrl API コールAWS CLIを使用して、それぞれ から Studio または パートナー AI アプリへのアクセス権をCreatePresignedDomainUrlユーザーに付与できます。

その後、ユーザーは SageMaker AI コンソールから Studio を起動し、Studio からパートナー AI アプリケーションを起動することもできます。

EnableIamSessionBasedIdentity

EnableIamSessionBasedIdentity はオプトインフラグです。EnableIamSessionBasedIdentity フラグが設定されると、SageMaker AI は IAM セッション情報をパートナー AI アプリケーションのユーザー アイデンティティとして渡します。AWS STSセッションの詳細については、「 AWSリソースで一時的な認証情報を使用する」を参照してください。

アクセスコントロール

パートナー AI アプリケーションへのアクセスを制御するには、ユーザープロファイルの実行ロールにアタッチされた IAM ポリシーを使用します。Studio から直接、または を使用してパートナー AI アプリを起動するにはAWS CLI、ユーザープロファイルの実行ロールに API のCreatePartnerAppPresignedUrlアクセス許可を付与するポリシーが必要です。ユーザープロファイルの実行ロールからこのアクセス許可を削除して、パートナー AI アプリケーションを起動できないことを確認します。

ルート管理者ユーザー

Comet と Fiddler のパートナー AI アプリケーションには、少なくとも 1 人のルート管理者ユーザーが必要です。ルート管理者ユーザーには、通常ユーザーと管理者ユーザーの両方を追加するアクセス許可と、リソースを管理するアクセス許可があります。ルート管理者ユーザーとして提供されるユーザー名は、アイデンティティソースのユーザー名と一致している必要があります。

ルート管理者ユーザーは SageMaker AI に保持されますが、通常の管理者ユーザーは、パートナー AI アプリケーションが終了するまでの間、パートナー AI アプリケーション内にのみ存在します。

管理者は UpdatePartnerApp API コールを使用してルート管理者ユーザーを更新できます。ルート管理者ユーザーが更新されると、更新されたルート管理者ユーザーのリストがパートナー AI アプリケーションに渡されます。パートナー AI アプリケーションは、リスト内のすべてのユーザー名にルート管理者権限が付与されていることを確認します。ルート管理者ユーザーは、リストから削除されると、ユーザーが次のいずれかになるまで通常の管理者アクセス許可を保持します。

  • ユーザーがアプリケーションから削除される。

  • 別の管理者ユーザーがユーザーの管理者のアクセス許可を取り消す。

注記

Fiddler では、管理者ユーザーの更新はサポートされていません。Comet のみが、ルート管理者ユーザーの更新をサポートします。 

ルート管理者ユーザーを削除するには、まず UpdatePartnerApp API を使用してルート管理者ユーザーのリストを更新する必要があります。次に、パートナー AI アプリケーションの UI を使用して管理者のアクセス許可を削除または取り消します。

UpdatePartnerApp API でルート管理者ユーザーのリストを更新せずに、パートナー AI アプリケーションの UI からルート管理者ユーザーを削除した場合、変更は一時的なものになります。SageMaker AI が次のパートナー AI アプリケーションの更新リクエストを送信すると、SageMaker AI はユーザーがまだ含まれているルート管理者リストをパートナー AI アプリケーションに送信します。これにより、パートナー AI アプリケーション UI から実行された削除は上書きされます。