Open1

Cloud Run同士の認証

Godai HoriGodai Hori

プリンシパルで、呼び出し先のCloud Runに呼び出し元のCloud RunのサービスアカウントのCloud Run起動元として設定する

呼び出し元のCloud Runで以下のようにgoogle-auth-libraryを使って、
auth.getIdTokenClientに呼び出し先のURLを指定して、clientを取得し、以下のようにAuthorizationヘッダーなどの情報を取得

import { GoogleAuth } from "google-auth-library"

const auth = new GoogleAuth();
const client = await auth.getIdTokenClient(process.env.SITE_COMPARE_API)
const headers = await client.getRequestHeaders()

あとはこの情報を使ってアクセス

  const res = await superagent
    .post(process.env.SITE_COMPARE_API)
    .set(headers)
    .send()