Closed10

GitHub ActionsからGCPへOIDCで接続する検証

hamham

google-github-actions/authは正常に動いた。
GitHub Actionsのyamlはこんな感じ。のちにファイルを使いたいのでcreate_credentials_fileを指定。

      - id: auth
        name: Authenticate to Google Cloud
        uses: google-github-actions/auth@v0.4.3
        with:
          create_credentials_file: 'true'
          workload_identity_provider: 'projects/{id}/locations/global/workloadIdentityPools/{repo}/providers/{provider}'
          service_account: 'hoge@fuga.iam.gserviceaccount.com'``
hamham

OIDCを有効にするために、permissionsを追加しておく必要がある。

jobs:
  test:
    permissions:
      contents: 'read'
      id-token: 'write'
hamham

環境変数GOOGLE_APPLICATION_CREDENTIALSにキーを設定

      - name: set GOOGLE_APPLICATION_CREDENTIALS
        run: |-
          echo "GOOGLE_APPLICATION_CREDENTIALS=${{ steps.auth.outputs.credentials_file_path }}" >> $GITHUB_ENV
hamham

認証も通って、環境変数にも設定できたぽいが何故かgcloudコマンドがエラーになる。
ファイルが見つからないぽい。。
下記はpathは伏せているが実際にはそれぽいパスが表示されている。

ERROR: (gcloud.config.config-helper) Failed to load credential file: [{path}].  File{path} was not found.
hamham

解決!!

auth → set ENV -> checkout -> set python -> gcloud
とやっていたため、checkoutでキーが消えていたぽい。
checkout -> set python -> auth → set ENV -> gcloud
にしたらうまくいった。

hamham

環境変数GOOGLE_APPLICATION_CREDENTIALSにキーを設定

authの時点でGOOGLE_APPLICATION_CREDENTIALSは設定されているぽいのでやらなくても大丈夫だった。

このスクラップは2022/02/08にクローズされました