翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker Studio ノートブックのアクセスコントロールとアクセス許可の設定
Amazon SageMaker Studio では、Studio ユーザーとノートブックのアクセスコントロールと分離に、ファイルシステムおよびコンテナのアクセス許可が使用されます。これは、Studio ノートブックと SageMaker ノートブックインスタンスの大きな違いの 1 つです。このトピックでは、セキュリティの脅威を回避するためのアクセス許可の設定方法、SageMaker AI がデフォルトで行う操作、およびお客様がアクセス許可をカスタマイズする方法について説明します。Studio ノートブックとそのランタイム環境の詳細については、「Amazon SageMaker Studio Classic ノートブックを使用する」を参照してください。
SageMaker AI アプリのアクセス許可
run-as ユーザーは、コンテナ内で JupyterServer アプリケーションと KernelGateway アプリケーションを実行するために使用される POSIX ユーザー/グループです。
JupyterServer アプリケーションの run-as ユーザーは、デフォルトで sagemaker-user (1000) です。このユーザーは、yum パッケージなどの依存関係のインストールを可能にする sudo アクセス許可を持ちます。
KernelGateway アプリケーションの run-as ユーザーは、デフォルトでルート (0) です。このユーザーは pip/apt-get/conda を使用して依存関係をインストールできます。
ユーザーの再マッピングにより、ユーザーはリソースにアクセスできず、ホストインスタンスを変更することもできません。
ユーザーの再マッピング
SageMaker AI はユーザー再マッピングを実行して、コンテナ内のユーザーをコンテナ外のホストインスタンス上のユーザーにマッピングします。コンテナ内のユーザー ID の範囲 (0~65535) は、インスタンスの 65535 を超える非特権ユーザー ID にマッピングされます。例えば、コンテナ内の sagemaker-user (1000) は、インスタンス上のユーザー (200001) にマップされます。ここで、括弧内の数字はユーザー ID です。ユーザーがコンテナ内に新しいユーザー/グループを作成する場合は、ユーザー/グループ ID に関係なく、ホストインスタンスに対する特権は付与されません。コンテナのルートユーザーも、インスタンスの非特権ユーザーにマッピングされます。詳細については、「ユーザーの名前空間を持つコンテナを分離する
注記
sagemaker-user というユーザーによって作成されたファイルは、そのファイルが sagemaker-studio (uid 65534) によって所有されているように見える場合があります。これは、SageMaker AI コンテナイメージが事前にプルされる高速アプリケーション作成モードの副作用であり、アプリケーションは 1 分以内に開始できます。アプリケーションでファイル所有者 UID とプロセス所有者 UID を一致させる必要がある場合は、カスタマーサービスにイメージの事前プル機能からアカウント番号を削除するよう依頼してください。
カスタムイメージのアクセス許可
お客様は独自のカスタム SageMaker AI イメージを持ち込むことができます。これらのイメージでは、KernelGateway アプリケーションを起動するための別の run-as ユーザー/グループを指定できます。顧客は、ルートアクセスを無効にしたり、その他のアクションを実行したりするなど、イメージ内にきめ細かいアクセス許可コントロールを実装できます。この場合も、同じユーザーの再マッピングが適用されます。詳細については、「独自の SageMaker AI イメージを取り込む」を参照してください。
コンテナの分離
Docker には、コンテナが使用できるデフォルト機能のリストが保持されます。SageMaker AI は機能を追加しません。SageMaker AI は、コンテナからの Amazon EFS およびインスタンスメタデータサービス (IMDS) へのリクエストをブロックするための特定のルートルールを追加します。顧客がコンテナからこれらのルートルールを変更することはできません。詳細については、Docker Docs ウェブサイトの「ランタイム特権と Linux 機能
アプリケーションのメタデータへのアクセス
実行中のアプリケーションで使用されるメタデータは、読み取り専用アクセス許可でコンテナにマウントされます。顧客がコンテナからこのメタデータを変更することはできません。使用可能なメタデータについては、「Studio Classic ノートブックとアプリのメタデータの取得」を参照してください。
EFS でのユーザーの分離
Studio にオンボードすると、SageMaker AI はドメイン内のすべての Studio ユーザーによって共有されるドメインの Amazon Elastic File System (EFS) ボリュームを作成します。各ユーザーは、EFS ボリューム上に自分用のプライベートホームディレクトリを取得します。このホームディレクトリは、ユーザーのノートブック、Git リポジトリ、その他のデータを保存するために使用されます。ドメイン内の他のユーザーがユーザーのデータにアクセスできないように、SageMaker AI はユーザーのプロファイルに対してグローバルに一意のユーザー ID を作成し、ユーザーのホームディレクトリの POSIX ユーザー/グループ ID として適用します。
EBS へのアクセス
ホストインスタンスには Amazon Elastic Block Store (Amazon EBS) ボリュームがアタッチされ、すべてのイメージで共有されます。このボリュームはノートブックのルートボリュームに使用され、コンテナ内で生成された一時データが格納されます。ノートブックを実行するインスタンスが削除されると、ストレージは保持されません。コンテナのルートユーザーは EBS ボリュームにアクセスできません。
IMDS へのアクセス
セキュリティ上の問題により、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスメタデータサービス (IMDS) へのアクセスは、SageMaker Studio では使用できません。IMDS の詳細については、「インスタンスメタデータとユーザーデータ」を参照してください。