このドキュメントでは、ワークステーション内で API アクセスを認証して設定する方法について説明します。Google Cloud 認証の詳細については、認証の概要をご覧ください。
Google Cloud CLI でユーザーとして認証する
Cloud Workstations を起動すると、gcloud
CLI を介してユーザー アカウントを使用して Google Cloud サービスと API にアクセスできます。
- ワークステーションでターミナルを開きます。ターミナル ウィンドウを開く方法は、使用している 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
gcloud
CLI 認証情報が保存され、今後のセッションでワークステーションを使用するときに使用できるようになりました。
ワークステーションに 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