このドキュメントでは、ワークステーション内で API アクセスを認証して設定する方法について説明します。これには、Workstations UI を使用してログインし、gcloud CLI を認証して、アプリケーションのデフォルト認証情報(ADC)に認証情報を提供する方法も含まれます。
Google Cloud CLI でユーザーとして認証する
Cloud Workstations を起動すると、gcloud CLI を介してユーザー アカウントを使用して Google Cloud サービスと API にアクセスできます。
gcloud CLI を認証し、アプリケーションのデフォルト認証情報(ADC)にユーザー認証情報を提供するには、次のいずれかのオプションを選択します。
Workstations UI を使用したユーザー ログイン
Google Cloud コンソールからログインすると、gcloud CLI が自動的に認証され、ワークステーション環境のアプリケーションのデフォルト認証情報(ADC)にユーザー認証情報が提供されます。
ワークステーション リソースで UI ログインを有効にする
この機能を使用する前に、ワークステーションの構成とクラスタの両方が UI ログインをサポートするように設定されていることを確認します。
-
Google Cloud コンソールで、ワークステーション構成の [環境設定] セクションに移動します。[認証] で、[認証情報のプッシュを有効にする] チェックボックスをオンにします(または API で
enable_pushing_credentials: trueを設定します)。 -
gcloudCLI を使用して、クラスタのコンソールのベース URL を Google Cloud コンソール エンドポイント(例:https://console.cloud.google.com/)に設定します。gcloud beta workstations clusters update CLUSTER_NAME \ --region=REGION \ --console-base-url="https://console.cloud.google.com/"
ワークステーションからログインする
ワークステーションにログインして認証するには:
- Cloud Workstations 用 Code OSS エディタで、[ワークステーションにログイン] をクリックします。 Google Cloud コンソールのログイン ウィンドウが開きます。
- Google Cloud コンソールで、ワークステーションの詳細(ワークステーション ID など)とアカウントの詳細を確認し、[続行] をクリックします。
- [確認] をクリックしてログインを完了します。
-
確認メッセージが表示されたら、ブラウザ ウィンドウを閉じてエディタに戻ります。
これで、ワークステーション環境の
gcloudCLI とアプリケーションのデフォルト認証情報(ADC)で認証情報を使用できるようになりました。
ログイン セッションは 1 時間後に期限切れになります。 セッションの有効期限が近づくと、Cloud Workstations 用 Code OSS エディタのログインボタンに、EMAIL(Google)- まもなく期限切れになります(EMAIL はメールアドレス)またはワークステーションのログインがまもなく期限切れになりますと表示されます。認証情報を更新するには、ボタンをクリックして Google Cloud コンソールのプロンプトに沿って操作します。
gcloud CLI でログインする
構成またはクラスタで UI ログインが有効になっていない場合は、ワークステーション内のターミナルから gcloud CLI を使用して手動でログインできます。
- ワークステーションでターミナルを開きます。ターミナル ウィンドウを開く方法は、使用している IDE によって異なります。たとえば、Cloud Workstations のベースエディタを使用している場合は、[ターミナル] > [新しいターミナル] を選択するか、Ctrl+Shift+` を押してターミナルを開きます。
- 次のコマンドを使用して認証します。
gcloud auth login --no-launch-browser
- コマンドに表示される手順に沿って Google Cloudに対する認証を行います。
- 次のコマンドを使用して、 Google Cloud プロジェクト ID を指定します。
gcloud config set project PROJECT_ID
-
アプリケーションのデフォルト認証情報を有効にして、 Google Cloud サービスの呼び出しを許可します。
gcloud auth application-default login
gcloudCLI 認証情報が保存され、今後のセッションでワークステーションを使用するときに利用できるようになりました。
ワークステーションに HTTP リクエストを発行する
ワークステーションに HTTP リクエストを発行するには、そのワークステーションで Cloud Workstations ユーザーのロールを持つアカウントへのアクセス トークンが必要です。
- generateAccessToken API メソッドを使用してアクセス トークンを生成します。
Authorizationという名前の HTTP ヘッダーを値Bearer $TOKENで追加します。
ブラウザでワークステーションに接続する
ブラウザでワークステーションの URL を開くと、ワークステーション サーバーへのリダイレクトを通じて自動的に認証され、generateAccessToken API メソッドによって生成されたアクセス トークンが取得されます。これにより、ワークステーションにリダイレクトして戻され、現在のワークステーション セッションで有効な認証 Cookie が設定されます。
このリダイレクトをスキップするには、_workstationAccessToken URL パラメータを使用します。
- generateAccessToken API メソッドを使用してアクセス トークンを生成します。
- ブラウザでワークステーションの URL を開き、
_workstationAccessToken=TOKENの形式で URL パラメータを追加します。
これにより、ブラウザに認証 Cookie が設定され、現在のワークステーション セッションへのアクセスが許可されます。ワークステーション サーバーへのアクセスがネットワーク ポリシーによってブロックされている場合や、iframe を使用してワークステーションを他のサイトに表示する場合に、リダイレクトをスキップすると便利です。
サービス アカウントの権限借用
組織のセキュリティ ポリシーにより、ユーザー アカウントに必要な権限の付与が許可されていない場合は、サービス アカウントの権限を借用することもできます。ワークステーション構成で指定されたサービス アカウントの権限を借用するには、サービス アカウントのスコープ フィールドを指定します。
gcloud workstations configs create CONFIG \
--cluster=CLUSTER \
--region=REGION \
--project=PROJECT \
--service-account=SERVICE_ACCOUNT \
--service-account-scopes=https://www.googleapis.com/auth/cloud-platform
iam.serviceAccounts.actAs 権限が必要です。サービス アカウントのスコープの指定方法について詳しくは、アクセス スコープをご覧ください。
次のステップ
- SSH サポートの詳細を確認する。
- ワークステーション構成パラメータの一覧をご覧ください。
- Identity and Access Management を使用したアクセス制御と Cloud Workstations