

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

# SageMaker Studio ノートブックのアクセスコントロールとアクセス許可の設定
<a name="security-access-control-studio-nb"></a>

Amazon SageMaker Studio では、Studio ユーザーとノートブックのアクセスコントロールと分離に、ファイルシステムおよびコンテナのアクセス許可が使用されます。これは、Studio ノートブックと SageMaker ノートブックインスタンスの大きな違いの 1 つです。このトピックでは、セキュリティの脅威を回避するためのアクセス許可の設定方法、SageMaker AI のデフォルトの動作、アクセス許可のカスタマイズ方法を説明します。Studio ノートブックとそのランタイム環境の詳細については、「[Amazon SageMaker Studio Classic ノートブックを使用する](notebooks.md)」を参照してください。

**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 に関係なく、ホストインスタンスに対する特権は付与されません。コンテナのルートユーザーも、インスタンスの非特権ユーザーにマッピングされます。詳細については、「[ユーザーの名前空間を持つコンテナを分離する](https://docs.docker.com/engine/security/userns-remap/)」を参照してください。

**注記**  
sagemaker-user というユーザーによって作成されたファイルは、そのファイルが sagemaker-studio (uid 65534) によって所有されているように見える場合があります。これは、SageMaker AI コンテナイメージが事前にプルされる高速アプリケーション作成モードの副次的影響であり、これによりアプリケーションを 1 分以内に起動できます。アプリケーションでファイル所有者 UID とプロセス所有者 UID を一致させる必要がある場合は、カスタマーサービスにイメージの事前プル機能からアカウント番号を削除するよう依頼してください。

**カスタムイメージのアクセス許可**

顧客は独自のカスタム SageMaker イメージを取り込むことができます。これらのイメージでは、KernelGateway アプリケーションを起動するための別の run-as ユーザー/グループを指定できます。顧客は、ルートアクセスを無効にしたり、その他のアクションを実行したりするなど、イメージ内にきめ細かいアクセス許可コントロールを実装できます。この場合も、同じユーザーの再マッピングが適用されます。詳細については、「[Amazon SageMaker Studio Classic でのカスタムイメージ](studio-byoi.md)」を参照してください。

**コンテナの分離**

Docker には、コンテナが使用できるデフォルト機能のリストが保持されます。SageMaker AI によって機能が追加されることはありません。SageMaker AI は、コンテナから Amazon EFS および[インスタンスメタデータサービス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service) (IMDS)へのリクエストをブロックする特定のルートルールを追加します。顧客がコンテナからこれらのルートルールを変更することはできません。詳細については、Docker Docs ウェブサイトの「[ランタイム特権と Linux 機能](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities)」を参照してください。

**アプリケーションのメタデータへのアクセス**

実行中のアプリケーションで使用されるメタデータは、読み取り専用アクセス許可でコンテナにマウントされます。顧客がコンテナからこのメタデータを変更することはできません。使用可能なメタデータについては、「[Amazon SageMaker Studio Classic ノートブックとアプリケーションメタデータを取得する](notebooks-run-and-manage-metadata.md)」を参照してください。

**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 の詳細については、「[インスタンスメタデータとユーザーデータ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)」を参照してください。