のサービスと API にアクセスする Google Cloud
このページでは、Colab Enterprise ノートブックから Google Cloud のサービスと API にアクセスする方法について説明します。
概要
Colab Enterprise ノートブックでコードを実行すると、Google アカウントに関連付けられた 認証情報( ユーザー認証情報)を使用して Google Cloud のサービスと API に アクセスできます。つまり、使用するランタイムは、ユーザーと同じ レベルのアクセス権を持つことになります。 Google Cloud これにより、 のサービスと API を操作するコードの作成と実行が容易になります。 Google Cloud
Colab Enterprise は、アプリケーションのデフォルト認証情報 (ADC)を使用して、 のサービスと API に対してユーザー認証情報を認証できます。 Google Cloud このページでは、ユーザー認証情報を ADC に提供する次の方法について説明します。
ノートブックでコードを実行して、ユーザー認証情報を ADC に提供する。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、 実際のシナリオでプロダクトがどのように機能するかを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイに利用できる $300 分の無料クレジットも提供されます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
必要なロール
Colab Enterprise ノートブックでサービスと API にアクセスするために必要な権限を取得するには、プロジェクトに対する Colab Enterprise 管理者(roles/aiplatform.colabEnterpriseAdmin)IAM ロールを付与するよう管理者に依頼してください。 Google Cloud ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。
エンドユーザー認証情報が有効になっているランタイムを使用する
エンドユーザー認証情報が有効になっているデフォルトのランタイムを使用することも、 エンドユーザー認証情報 が有効になっているランタイム テンプレートから作成されたランタイムを使用することもできます。
エンドユーザー認証情報が有効になっている十分なランタイム テンプレートがない場合は、作成する必要があります。ランタイム テンプレートを作成するときに、エンドユーザー認証情報を有効または無効にする必要があります。この設定は後で変更できません。
エンドユーザー認証情報が有効になっているランタイムに接続する
エンドユーザー認証情報が有効になっているランタイムに接続するには:
-
コンソールで、Colab Enterprise の [マイ ノートブック] ページに移動します。 Google Cloud
-
[リージョン] メニューで、ノートブックを含むリージョンを選択します。
-
開きたいノートブックをクリックします。ノートブックをまだ作成していない場合は、ノートブックを作成します。
-
ノートブックで [Additional connection options] 展開矢印をクリックし、[Connect to a runtime] を選択します。
[Vertex AI ランタイムへの接続] ダイアログが開きます。
-
[Select a runtime] で、[既存のランタイムに接続します] を選択します。
-
[Select an existing runtime option] で、接続するランタイムを選択します。ランタイムがリストにない場合は、ランタイムを作成するか、デフォルトのランタイムに接続してください。
-
[Runtime details] テーブルで、 [Personal credentials] が
Enabledであることを確認します。 -
[接続] をクリックします。
-
エンドユーザー認証情報を有効にしてランタイムに初めて接続する場合は、[ログイン] ダイアログが表示されます。
Colab Enterprise にユーザー認証情報へのアクセス権を付与するには、 次の操作を行います:
-
[ログイン] ダイアログで、ユーザー アカウントをクリックします。
-
[See, edit, configure, and delete your Google Cloud data...] を選択して、Colab Enterprise にユーザー認証情報へのアクセスを許可します。
-
[続行] をクリックします。
-
エンドユーザー認証情報を使用して Google Cloud のサービスと API にアクセスする場合、Google アカウントにプロジェクトで必要な Identity and Access Management(IAM)権限がないと、コードが一部のリソースにアクセスできない可能性があります。この場合は、必要な権限を付与するよう管理者に依頼してください。
ノートブックでコードを実行して、ユーザー認証情報を ADC に提供する
ランタイムでエンドユーザー認証情報が有効になっていない場合でも、 ユーザー認証情報を使用して Google Cloud サービスと API にアクセスできます。 これを行うには、Google Cloud CLI を使用してユーザー認証情報を ADC に提供します。
-
次のコマンドを使用して認証情報ファイルを作成します。
!gcloud auth application-default login
[ログイン] ダイアログが表示されます。
-
ダイアログを完了して、Colab Enterprise にアクセス権を付与します。
ログインすると、ADC で使用される ローカル 認証情報ファイルに認証情報が保存されます。このファイルは、ランタイムの VM に保存されます。
ローカル ADC ファイルを作成するためのユーザー認証情報を提供する場合は、次の点に注意してください。
ユーザー認証情報は、追加のパラメータや構成がないと、一部のメソッドや API(Cloud Translation API や Cloud Vision API など)で機能しない場合があります。プロジェクトで API が有効になっていないというエラー メッセージが表示された場合、または利用可能な割り当てプロジェクトがない場合は、 ADC 設定のトラブルシューティングをご覧ください。
ローカル ADC には、アクセス トークンと更新トークンが含まれます。ファイル システムにアクセスできるすべてのユーザーがこれらの認証情報を使用できます。これらのローカル認証情報が不要になった場合は、 を使用して
gcloud auth application-default revokeコマンドを取り消すことができます。Google アカウントにプロジェクトで必要な Identity and Access Management(IAM)ロールがない場合、コードが一部のリソースにアクセスできない場合があります。 この場合、他のユーザーから必要なロールを付与してもらう必要があります。
ADC アクセスは Google Cloudに制限されています。Google アカウントから他のサービスにアクセスできる場合でも、ADC は Colab Enterprise ノートブックへのアクセスを自動的に許可しませんが、一部のサービスへの追加アクセスを許可できます。たとえば、Google ドライブへのアクセスを許可するには、ノートブックのコードセルで次のコマンドを実行します。
!gcloud auth application-default login \ --scopes="https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/cloud-platform"
トラブルシューティング
このセクションでは、 のサービスと API を操作するコードの実行に関する問題を解決する方法について説明します。 Google Cloud
コードの実行時にユーザー認証情報が見つからない
この問題は、 Google Cloud サービスと API を操作するノートブックでコードを実行しようとしたときに、Colab Enterprise にユーザー認証情報へのアクセス権を付与していない場合に発生します。
エラー メッセージは次のいずれかのようになります。
Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential
DefaultCredentialsError: Your default credentials were not found.
この問題の一般的な原因と解決策は次のとおりです。
-
エンドユーザー認証情報が有効になっているランタイムに初めて接続したときに表示される [ログイン] ダイアログを完了していません。このダイアログを完了すると、Colab Enterprise にユーザー認証情報へのアクセス権が付与されます。
この問題を解決するには、ランタイムに再度接続してアクセス権を付与してください。
アクセス権が付与されていることを確認するには:
-
[アカウント > 管理対象の Google アカウント > データとプライバシー > サードパーティ製のアプリとサービス] をクリックします。
-
Colab Enterprise がリストされていることを確認します。
-
-
エンドユーザー認証情報が有効になっているランタイムに初めて接続したときに表示される [ログイン] ダイアログ(同意画面)で、ユーザー アカウントを選択して Colab Enterprise にユーザー認証情報へのアクセス権を付与していません。
この問題を解決するには:
-
Google Cloud コンソールで、アカウントのプロフィール画像をクリックし、[Google アカウント]をクリックします。
-
[データとプライバシー] をクリックします。
-
[ご利用のアプリ、サービスのデータ] で、 [サードパーティ製のアプリとサービス] をクリックします。
-
[Colab Enterprise] をクリックします。
-
[Colab Enterprise が Google アカウントの一部にアクセスできます] で、 [詳細を表示] をクリックします。
-
[アクセス権を削除] をクリックします。
-
[確認] をクリックします。
これにより、現在のアクセス設定が削除されます。
-
エンドユーザー認証情報が有効になっているランタイムに次回接続するときは、 [**ログイン**] ダイアログを完了するときに正しいユーザー アカウントを選択してください。
-
-
ポップアップ ブロッカーが、Colab Enterprise [ログイン] ダイアログ(同意画面)の表示を妨げている可能性があります。
この問題を解決するには、ブラウザでポップアップを一時的に有効にして、ランタイムに再度接続してみてください。
-
Google Workspace の追加サービスで Colab が無効になっています。
この問題を解決するには、Google Workspace で Colab サービスを有効にします。
これは Colab を指しますが、Colab Enterprise に影響します。
Colab はすべてのユーザーでオン にする必要があります。
-
Enterprise サービスの制限により、Colab Enterprise へのアクセスがブロックされている可能性があります。
この問題を切り分けるには、 組織のサービス制限によって Google サービスへのアクセスがブロックされていないことを確認します。
[Service Status] は [すべてのユーザーでオン] にする必要があります。
-
エンドユーザー認証情報が有効になっているランタイムを使用しておらず、 Google Cloud CLI を使用してアプリケーションのデフォルト認証情報(ADC)にユーザー認証情報を提供していません。
この問題を解決するには、ノートブックでコードを実行して、ユーザー認証情報を ADC に提供するをご覧ください。
次のステップ
アプリケーションのデフォルト認証情報の仕組みについて学習する 。
エンドユーザー認証情報が有効になっているランタイム テンプレートを 作成する。
Colab Enterprise サイドパネルを使用して Vertex AI を操作できます。詳しくは、次をご覧ください。
プロジェクトをすばやく開始するために役立つノートブックを見つける。 ノートブック ギャラリーをご覧ください。