SageMaker Studio ノートブックのアクセスコントロールとアクセス許可の設定 - Amazon SageMaker

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

SageMaker Studio ノートブックのアクセスコントロールとアクセス許可の設定

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

SageMaker アプリのアクセス許可

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

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

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

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

ユーザーの再マッピング

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

注記

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

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

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

コンテナの分離

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

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

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

でのユーザー分離 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、「インスタンスメタデータとユーザーデータ」を参照してください。