インスタンスの JupyterLab インターフェースへのアクセスを管理する
このページでは、Vertex AI Workbench インスタンスの JupyterLab インターフェースへのアクセス権を付与する方法について説明します。
Vertex AI Workbench インスタンスの JupyterLab インターフェースへのアクセスは、インスタンスのアクセスモードを介して制御します。 Vertex AI Workbench インスタンスを作成するときに、JupyterLab のアクセスモードを設定します。ノートブックの作成後にアクセスモードを変更することはできません。
JupyterLab のアクセスモードによって、インスタンスの JupyterLab インターフェースを使用できるユーザーが決まります。また、インスタンスが他の Google Cloud サービスとやり取りするときに使用する認証情報もアクセスモードによって決まります。
アクセスの制限
Vertex AI Workbench インスタンスの JupyterLab インターフェースへのアクセス権をプリンシパルに付与しても、インスタンス自体へのアクセス権は付与されません。たとえば、インスタンスを起動、停止、リセットするには、そのインスタンスの IAM ポリシーを設定して、これらのオペレーションを実行するためのアクセス権をプリンシパルに付与する必要があります。Vertex AI Workbench インスタンスへのアクセス権を付与するには、Vertex AI Workbench インスタンスへのアクセスを管理するをご覧ください。
JupyterLab のアクセスモード
Vertex AI Workbench インスタンスは、次のアクセスモードをサポートしています。
シングル ユーザーのみ: アクセスモードがシングル ユーザーのみの場合、指定したユーザーにのみアクセス権が付与されます。
サービス アカウント: アクセスモードがサービス アカウントの場合、サービス アカウントへのアクセスが許可されます。このサービス アカウントを使用して 1 人以上のユーザーにアクセス権を付与できます。
シングル ユーザーのみ
シングル ユーザーのみのアクセス権を持つ Vertex AI Workbench インスタンスを作成する場合は、ユーザー アカウントを指定します。
指定されたユーザー アカウントが、JupyterLab インターフェースにアクセスできる唯一のユーザーになります。指定したユーザーがインスタンスの作成者でない場合は、指定したユーザーにインスタンスのサービス アカウントに対するサービス アカウント ユーザーのロール(roles/iam.serviceAccountUser
)を付与する必要があります。インスタンスが他の Google Cloud リソースにアクセスする必要がある場合、このサービス アカウントにも Google Cloud リソースへのアクセス権が必要になります。
個々のユーザーにアクセス権を付与する
1 人のユーザーにアクセス権を付与するには、次の手順を行います。
次の仕様で Vertex AI Workbench インスタンスを作成します。
[インスタンスを作成] ダイアログの [IAM とセキュリティ] セクションで、アクセスモードに [Single user only] を選択します。
[ユーザーのメール] フィールドに、アクセス権を付与するユーザー アカウントを入力します。
ダイアログの残りの部分を入力して、[作成] をクリックします。
サービス アカウント
サービス アカウントのアクセス権を持つ Vertex AI Workbench インスタンスを作成する場合は、サービス アカウントを指定します。インスタンスが他の Google リソースにアクセスする必要がある場合、このサービス アカウントにも Google リソースへのアクセス権が必要になります。
サービス アカウントを指定する場合は、次のいずれかを選択します。
- Compute Engine のデフォルトのサービス アカウントを選択する。
- カスタム サービス アカウントを指定する。カスタム サービス アカウントは、Vertex AI Workbench インスタンスと同じプロジェクトに存在する必要があります。
インスタンスを作成するには、サービス アカウントに対する
iam.serviceAccounts.actAs
権限が必要です。
サービス アカウントを使用してユーザーにアクセス権を付与するには、JupyterLab にアクセスする必要があるユーザーごとに、指定されたサービス アカウントに対する iam.serviceAccounts.actAs
権限を付与します。
サービス アカウントを使用して複数のユーザーにアクセス権を付与する
次の仕様で Vertex AI Workbench インスタンスを作成します。
[インスタンスを作成] ダイアログの [IAM とセキュリティ] セクションで、アクセスモードに [サービス アカウント] を選択します。
Compute Engine のデフォルトのサービス アカウントまたはカスタム サービス アカウントを選択します。
Compute Engine のデフォルトのサービス アカウントを使用するには、[Compute Engine のデフォルトのサービス アカウントを使用する] を選択します。
カスタム サービス アカウントを使用するには、[Compute Engine のデフォルトのサービス アカウントを使用する] をクリアし、[サービス アカウントのメールアドレス] フィールドにカスタム サービス アカウントのメールアドレスを入力します。
ダイアログの残りの部分を入力して、[作成] をクリックします。
JupyterLab にアクセスする必要があるユーザーごとに、サービス アカウントに対する
iam.serviceAccounts.actAs
権限を付与します。
アクセスモードのメタデータ
Vertex AI Workbench インスタンスの作成時に構成するアクセスモードは、ノートブック メタデータに保存されます。
アクセスモードに [シングル ユーザーのみ] を選択すると、Vertex AI Workbench は proxy-mode
と proxy-user-mail
の値を保存します。シングル ユーザー アクセスのメタデータ エントリの例を次に示します。
proxy-mode=mail
proxy-user-mail=user@example.com
アクセスモードに [サービス アカウント] を選択すると、Vertex AI Workbench は proxy-mode=service_account
メタデータ エントリを保存します。
次のステップ
他の Google リソースへのアクセス権を付与する方法を確認する。他のリソースへのアクセス権の管理をご覧ください。