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

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

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

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

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

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

前提条件

  • 「 の最新バージョンをインストールまたは更新する」のステップ AWS Command Line Interface に従って、 をインストールして設定します。 AWS CLI

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

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

  • すべての実行ロールには、以下の信頼ポリシーアクセス許可が必要です。 

    • ドメインの実行ロールが引き受けるロールには、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 を使用するときの考慮事項

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

これらの API 呼び出しが他のサービスを呼び出して追加の操作を実行する場合、sourceIdentity のログは呼び出されたサービスの特定の実装に依存します。

  • Amazon SageMaker トレーニング、処理、パイプライン: これらの機能を使用してジョブを作成すると、ジョブ作成 APIs はセッションsourceIdentityに存在する を取り込むことができません。その結果、これらのジョブから行われた AWS API コールは CloudTrail ログsourceIdentityに記録されません。

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

注記

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

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

  • 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 API を使用してドメインを作成する際に、sourceIdentity としてユーザープロファイル名を伝達できるようになります。

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>]

update-domain API を使用してドメインを更新する際に、sourceIdentity としてユーザープロファイル名を伝達できるようになります。

この構成を更新するには、ドメイン内のすべてのアプリが 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 を無効にする

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

で 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>]