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

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

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

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

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

コンテナの分離

Docker は、コンテナが使用できるデフォルト機能のリストを保持 SageMaker します。追加の機能を追加しません。 は、コンテナからの Amazon EFSおよびインスタンスメタデータサービス (IMDS) へのリクエストをブロックするための特定のルートルール SageMaker を追加します。顧客がコンテナからこれらのルートルールを変更することはできません。詳細については、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) Instance Metadata Service (IMDS) へのアクセスは SageMaker Studio では利用できません。の詳細についてはIMDS、「インスタンスメタデータとユーザーデータ」を参照してください。