SageMaker Studio ノートブックのアクセス制御と権限の設定 - Amazon SageMaker

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

SageMaker Studio ノートブックのアクセス制御と権限の設定

Amazon SageMaker Studio は、ファイルシステムとコンテナの権限を使用して Studio ユーザーとノートブックのアクセス制御と分離を行います。これが Studio SageMaker ノートブックとノートブックインスタンスの大きな違いの1つです。このトピックでは、セキュリティ上の脅威を回避するための権限の設定方法、デフォルト設定、 SageMaker およびユーザーが権限をカスタマイズする方法について説明します。Studio ノートブックとそのランタイム環境の詳細については、「Amazon SageMaker スタジオクラシックノートブックを使う」を参照してください。

SageMaker アプリ権限

run-as ユーザーは、 JupyterServer KernelGateway コンテナー内のアプリとアプリを実行するために使用される POSIX ユーザー/グループです。

JupyterServer アプリケーションの実行ユーザーは、デフォルトで sagemaker-user (1000) です。このユーザーは、yum パッケージなどの依存関係のインストールを可能にする sudo アクセス許可を持ちます。

アプリケーションの実行ユーザーは、デフォルトで root (0) です。 KernelGateway このユーザーは pip/apt-get/conda を使用して依存関係をインストールできます。

ユーザーの再マッピングにより、ユーザーはリソースにアクセスできず、ホストインスタンスを変更することもできません。

ユーザーの再マッピング

SageMaker ユーザー再マッピングを実行して、コンテナー内のユーザーをコンテナー外のホストインスタンス上のユーザーにマップします。コンテナ内のユーザー ID の範囲 (0~65535) は、インスタンスの 65535 を超える非特権ユーザー ID にマッピングされます。例えば、コンテナ内の sagemaker-user (1000) は、インスタンス上のユーザー (200001) にマップされます。ここで、括弧内の数字はユーザー ID です。ユーザーがコンテナ内に新しいユーザー/グループを作成する場合は、ユーザー/グループ ID に関係なく、ホストインスタンスに対する特権は付与されません。コンテナのルートユーザーも、インスタンスの非特権ユーザーにマッピングされます。詳細については、「ユーザーの名前空間を持つコンテナを分離する」を参照してください。

注記

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

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

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

コンテナの分離

Docker はコンテナが使用できるデフォルト機能のリストを保持しています。 SageMaker 機能は追加されません。 SageMaker Amazon EFS とコンテナからのインスタンスメタデータサービス (IMDS) へのリクエストをブロックする特定のルートルールを追加します。顧客がコンテナからこれらのルートルールを変更することはできません。詳細については、Docker Docs ウェブサイトの「ランタイム特権と Linux 機能」を参照してください。

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

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

EFS でのユーザーの分離

Studio にオンボーディングすると、ドメイン内のすべての Studio ユーザーが共有する Amazon Elastic File System (EFS) SageMaker ボリュームがドメイン用に作成されます。各ユーザーは、EFS ボリューム上に自分用のプライベートホームディレクトリを取得します。このホームディレクトリは、ユーザーのノートブック、Git リポジトリ、その他のデータを保存するために使用されます。ドメイン内の他のユーザーがユーザーのデータにアクセスできないようにするには、ユーザーのプロファイル用にグローバルに一意のユーザー ID SageMaker を作成し、それをユーザーのホームディレクトリの POSIX ユーザー/グループ ID として適用します。

EBS へのアクセス

ホストインスタンスには Amazon Elastic Block Store (Amazon EBS) ボリュームがアタッチされ、すべてのイメージで共有されます。このボリュームはノートブックのルートボリュームに使用され、コンテナ内で生成された一時データが格納されます。ノートブックを実行するインスタンスが削除されると、ストレージは保持されません。コンテナのルートユーザーは EBS ボリュームにアクセスできません。

IMDS へのアクセス

セキュリティ上の懸念から、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスメタデータサービス (IMDS) には SageMaker Studio ではアクセスできません。IMDS の詳細については、「インスタンスメタデータとユーザーデータ」を参照してください。