Amazon SageMaker Studio Classic からのユーザーリソースアクセスのモニタリング - Amazon SageMaker

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

Amazon SageMaker Studio Classic からのユーザーリソースアクセスのモニタリング

Amazon SageMaker Studio Classic を使用すると、ユーザーリソースへのアクセスをモニタリングできます。リソースアクセスアクティビティを表示するには、 AWS CloudTrail を使用して Amazon SageMaker API コールをログに記録するの手順に従って、ユーザーアクティビティをモニタリングおよび記録するには AWS CloudTrail.

ただし、 AWS CloudTrail リソースアクセスの ログには、Studio Classic 実行IAMロールが識別子としてリストされます。このレベルのログは、各ユーザープロファイルに異なる実行ロールが割り当てられている場合、ユーザーアクティビティを監査するのに十分です。ただし、単一の実行IAMロールが複数のユーザープロファイル間で共有されている場合、 にアクセスした特定のユーザーに関する情報を取得することはできません。 AWS リソースの使用料金を見積もることができます。 

でアクションを実行した特定のユーザーに関する情報を取得できます。 AWS CloudTrail 共有実行ロールを使用する場合、 設定を使用してsourceIdentity Studio Classic ユーザープロファイル名を伝達します。ソース ID の詳細については、「引き受けたロールで実行されるアクションのモニタリングと制御」を参照してください。

前提条件

  • のインストールと設定 AWS Command Line Interface 「 の最新バージョンのインストールまたは更新」の手順に従います。 AWS CLI.

  • ドメイン内の Studio Classic ユーザーに、ドメインの更新または変更を許可するポリシーがないことを確認します。 

  • sourceIdentity 伝達の開始または停止をするには、ドメイン内のすべてのアプリが Stopped または Deleted 状態である必要があります。アプリを停止およびシャットダウンする方法の詳細については、「Studio Classic Apps のシャットダウンと更新」を参照してください。

  • ソース ID の伝播が有効になっている場合、すべての実行ロールに次の信頼ポリシーのアクセス許可が必要です。 

    • ドメインの実行ロールが引き受けるロールには、sts:SetSourceIdentity信頼ポリシーの アクセス許可が必要です。このアクセス許可がない場合、ジョブ作成 を呼びValidationError出すと、アクションは AccessDeniedExceptionまたは で失敗しますAPI。次の信頼ポリシーの例には、 アクセスsts:SetSourceIdentity許可が含まれています。

      {     "Version": "2012-10-17",     "Statement": [         {             "Effect": "Allow",             "Principal": {                 "Service": "sagemaker.amazonaws.com"             },             "Action": [                 "sts:AssumeRole",                 "sts:SetSourceIdentity"             ]         }     ] }
    • ロールチェーンと呼ばれる別のロールを持つロールを引き受ける場合は、次の操作を行います。

      • sts:SetSourceIdentity の権限は、ロールを引き受けるプリンシパルのアクセス許可ポリシーと、ターゲットロールのロール信頼ポリシーの両方で必要です。そうしない場合、ロールの引き受け操作は失敗します。

      • このロールの連鎖は、Studio Classic または Amazon などの他のダウンストリームサービスで発生する可能性がありますEMR。ロールチェーンに関する詳細については、「ロールに関する用語と概念」を参照してください。

sourceIdentity を使用するときの考慮事項

を作成する場合 AWS API Studio Classic ノートブック、 SageMaker Canvas、または Amazon SageMaker Data Wrangler からの 呼び出し。 sourceIdentityは、 CloudTrail これらの呼び出しが Studio Classic 実行ロールセッションまたはそのセッションからの連鎖されたロールを使用して行われた場合にのみ に記録されます。

これらのAPI呼び出しが他の サービスを呼び出して追加のオペレーションを実行する場合、sourceIdentityログ記録は呼び出されたサービスの特定の実装によって異なります。

  • Amazon Processing SageMaker : これらの機能を使用してジョブを作成すると、ジョブの作成APIsではセッションsourceIdentityに存在する を取り込むことができません。その結果、 AWS API これらのジョブから行われた呼び出しは CloudTrail ログsourceIdentityに記録されません。

  • Amazon SageMaker トレーニング: トレーニングジョブを作成すると、ジョブの作成APIsでセッションsourceIdentityに存在する を取り込むことができます。その結果、 AWS API これらのジョブから行われた呼び出しは、 CloudTrail ログsourceIdentityに記録されます。

  • Amazon SageMaker Pipelines: 自動 CI/CD パイプラインを使用してジョブを作成すると、 sourceIdentity はダウンストリームを伝播し、 CloudTrail ログに表示できます。

  • Amazon EMR: ランタイムロール を使用して Studio Classic EMRから Amazon に接続する場合、管理者は PropagateSourceIdentity フィールド を明示的に設定する必要があります。 Studio で Amazon EMRクラスターアクセスのIAMランタイムロールを設定する これにより、Amazon は呼び出し元の認証情報sourceIdentityから をジョブまたはクエリセッションEMRに適用します。その後、 sourceIdentityは CloudTrail ログに記録されます。

注記

sourceIdentity を使用する場合、以下の例外が適用されます。

  • SageMaker Studio Classic 共有スペースはsourceIdentityパススルーをサポートしていません。 AWS API SageMaker 共有スペースから行われた呼び出しは CloudTrail ログsourceIdentityに記録されません。

  • If AWS API 呼び出しは、ユーザーまたは他のサービスによって作成されたセッションから行われ、セッションは Studio Classic 実行ロールセッションに基づいていないため、 sourceIdentityは CloudTrail ログに記録されません。

sourceIdentity をオンにする

sourceIdentity Studio Classic でユーザープロファイル名を として伝達する機能は、デフォルトではオフになっています。

ユーザープロファイル名を として伝達できるようにするにはsourceIdentity、 を使用します。 AWS CLI ドメインの作成時およびドメインの更新時。この機能はドメインレベルで有効になり、ユーザープロファイルレベルでは有効になりません。

この設定を有効にすると、管理者は でユーザープロファイルを表示できます。 AWS CloudTrail アクセスされたサービスの ログ。ユーザープロファイルは userIdentity セクションの sourceIdentity 値として表示されます。の使用の詳細については、「」を参照してください。 AWS CloudTrail を使用した ログ SageMaker、「 を使用した Amazon SageMaker APIコールのログ記録」を参照してください。 AWS CloudTrail.

次のコードを使用して、 を使用してcreate-domainドメイン作成sourceIdentity時にユーザープロファイル名を として伝達できますAPI。

create-domain --domain-name <value> --auth-mode <value> --default-user-settings <value> --subnet-ids <value> --vpc-id <value> [--tags <value>] [--app-network-access-type <value>] [--home-efs-file-system-kms-key-id <value>] [--kms-key-id <value>] [--app-security-group-management <value>] [--domain-settings "ExecutionRoleIdentityConfig=USER_PROFILE_NAME"] [--cli-input-json <value>] [--generate-cli-skeleton <value>]

を使用して、ドメインの更新sourceIdentity中にユーザープロファイル名の伝播を update-domain として有効にできますAPI。

この構成を更新するには、ドメイン内のすべてのアプリが Stopped または Deleted 状態である必要があります。アプリを停止およびシャットダウンする方法の詳細については、「Studio Classic Apps のシャットダウンと更新」を参照してください。

次のコードを使用すると、sourceIdentity としてユーザープロファイル名を伝達できるようになります。

update-domain --domain-id <value> [--default-user-settings <value>] [--domain-settings-for-update "ExecutionRoleIdentityConfig=USER_PROFILE_NAME"] [--cli-input-json <value>] [--generate-cli-skeleton <value>]

sourceIdentity を無効にする

sourceIdentity を使用して、ユーザープロファイル名の としての伝達を無効にすることもできます。 AWS CLI。 これは、update-domainAPI呼び出しの一部として パラメータのExecutionRoleIdentityConfig=DISABLED値を渡すことで、--domain-settings-for-updateドメインの更新中に発生します。

左 AWS CLI、次のコードを使用して、ユーザープロファイル名の としての伝達を無効にしますsourceIdentity

update-domain --domain-id <value> [--default-user-settings <value>] [--domain-settings-for-update "ExecutionRoleIdentityConfig=DISABLED"] [--cli-input-json <value>] [--generate-cli-skeleton <value>]