ユーザー管理ノートブック インスタンスの JupyterLab インターフェースへのアクセスを管理する

このページでは、Vertex AI Workbench ユーザー管理ノートブック インスタンスの JupyterLab インターフェースへのアクセス権を付与する方法について説明します。

ユーザー管理ノートブック インスタンスの JupyterLab インターフェースへのアクセスは、インスタンスのアクセスモードを使用して制御します。ユーザー管理ノートブック インスタンスを作成するときに、JupyterLab のアクセスモードを設定します。ノートブックの作成後にアクセスモードを変更することはできません。

JupyterLab のアクセスモードによって、インスタンスの JupyterLab インターフェースを使用できるユーザーが決まります。また、インスタンスが他の Google Cloud サービスとやり取りするときに使用する認証情報もアクセスモードによって決まります。

アクセスの制限

プリンシパルにユーザー管理ノートブック インスタンスの JupyterLab インターフェースへのアクセス権を付与しても、インスタンス自体へのアクセス権は付与されません。たとえば、インスタンスを起動、停止、リセットするには、そのインスタンスの IAM ポリシーを設定して、これらのオペレーションを実行するためのアクセス権をプリンシパルに付与する必要があります。ユーザー管理ノートブック インスタンスへのアクセス権を付与するには、ユーザー管理ノートブック インスタンスへのアクセスを管理するをご覧ください。

JupyterLab のアクセスモード

ユーザー管理ノートブック インスタンスは、次のアクセスモードをサポートしています。

  • シングル ユーザーのみ: アクセスモードがシングル ユーザーのみの場合、指定したユーザーにのみアクセス権が付与されます。

  • サービス アカウント: アクセスモードがサービス アカウントの場合、サービス アカウントへのアクセスが許可されます。このサービス アカウントを使用して 1 人以上のユーザーにアクセス権を付与できます。

シングル ユーザーのみ

アクセス権がシングル ユーザーのみのユーザー管理ノートブック インスタンスを作成する場合は、ユーザー アカウントを指定します。指定されたユーザー アカウントが、JupyterLab インターフェースにアクセスできる唯一のユーザーになります。指定したユーザーがインスタンスの作成者でない場合は、指定したユーザーにインスタンスのサービス アカウントに対するサービス アカウント ユーザーのロールroles/iam.serviceAccountUser)を付与する必要があります。インスタンスが他の Google Cloud リソースにアクセスする必要がある場合、このサービス アカウントにも Google Cloud リソースへのアクセス権が必要になります。

個々のユーザーにアクセス権を付与する

1 人のユーザーにアクセス権を付与するには、次の手順を行います。

  1. 次の仕様でユーザー管理ノートブック インスタンスを作成します。

    1. [インスタンスを作成] ダイアログの [IAM とセキュリティ] セクションで、アクセスモードに [Single user only] を選択します。

    2. [ユーザーのメール] フィールドに、アクセス権を付与するユーザー アカウントを入力します。

  2. ダイアログの残りの部分を入力して、[作成] をクリックします。

サービス アカウント

サービス アカウントのアクセス権を持つユーザー管理ノートブック インスタンスを作成する場合は、サービス アカウントを指定します。インスタンスが他の Google リソースにアクセスする必要がある場合、このサービス アカウントにも Google リソースへのアクセス権が必要になります。

サービス アカウントを指定する場合は、次のいずれかを選択します。

  • Compute Engine のデフォルトのサービス アカウントを選択する。
  • カスタム サービス アカウントを指定する。カスタム サービス アカウントは、ユーザー管理ノートブック インスタンスと同じプロジェクトに存在する必要があります。インスタンスを作成するには、サービス アカウントに対する iam.serviceAccounts.actAs 権限が必要です。

サービス アカウントを使用してユーザーにアクセス権を付与するには、JupyterLab にアクセスする必要があるユーザーごとに、指定されたサービス アカウントに対する iam.serviceAccounts.actAs 権限を付与します。

サービス アカウントを使用して複数のユーザーにアクセス権を付与する

  1. 次の仕様でユーザー管理ノートブック インスタンスを作成します。

    1. [インスタンスを作成] ダイアログの [IAM とセキュリティ] セクションで、アクセスモードに [サービス アカウント] を選択します。

    2. Compute Engine のデフォルトのサービス アカウントまたはカスタム サービス アカウントを選択します。

      • Compute Engine のデフォルトのサービス アカウントを使用するには、[Compute Engine のデフォルトのサービス アカウントを使用する] を選択します。

      • カスタム サービス アカウントを使用するには、[Compute Engine のデフォルトのサービス アカウントを使用する] をクリアし、[サービス アカウントのメールアドレス] フィールドにカスタム サービス アカウントのメールアドレスを入力します。

  2. ダイアログの残りの部分を入力して、[作成] をクリックします。

  3. JupyterLab にアクセスする必要があるユーザーごとに、サービス アカウントに対する iam.serviceAccounts.actAs 権限を付与します。

アクセスモードのメタデータ

ユーザー管理ノートブック インスタンスの作成時に構成するアクセスモードは、ノートブック メタデータに保存されます。

アクセスモードに [Single user only] を選択すると、Vertex AI Workbench は proxy-modeproxy-user-mail の値を保存します。シングル ユーザー アクセスのメタデータ エントリの例を次に示します。

  • proxy-mode=mail
  • proxy-user-mail=user@example.com

アクセスモードに [サービス アカウント] を選択すると、Vertex AI Workbench は proxy-mode=service_account メタデータ エントリを保存します。

次のステップ