LoginSignup
1
0

More than 5 years have passed since last update.

Cloud IAPで設定された認証をGCPのサービスアカウントで認証を通す方法

Posted at

公式ドキュメント

OpenID Connect(OIDC)トークンを使用して、Cloud IAP で保護されたリソースに対してサービス アカウントを認証します。

    1. Cloud IAP で保護されたプロジェクトのアクセスリストにサービス アカウントを追加します。
    2. JWT ベースのアクセス トークン(JWT-bAT)を生成します。
    3. Cloud IAP で保護されたクライアント ID の OIDC トークンをリクエストします。
        クライアント ID を見つけるには、次の手順を行います。
            [Cloud IAP] ページに移動します。
            アクセスするリソースを見つけて、右側の [さらに表示] > [OAuth クライアント] をクリックします。
            表示される [認証情報] ページで、クライアント ID をメモします。
    4. Authorization: Bearer ヘッダーに OIDC トークンを追加して、Cloud IAP で保護されたリソースへの認証済みリクエストを作成します。

このドキュメントを見て分からなかった人向け
ちなみに僕は全くわからなかった

解決方法はGoogleさんが参考に作成してくれている、プログラムを利用する
少し改造したのが コチラ

前準備

GCPのサービスアカウントをexportしておく。
export GOOGLE_APPLICATION_CREDENTIALS=$HOME'/.credentials/xxxxxxxxxxxxxxxx.json'

プログラムを実行

  1. fork repo こちらからプロジェクトをclone
  2. iap/に移動
  3. 外部ライブラリーをインストール $ virtualenv/bin/pip install -r requirements.txt
  4. コマンド実行 $ python iap_get_oidc.py
  5. 結果が表示されるので $ curl http://xxx.com -H "Authorization:Bearer xxxxxxxxx で動作確認
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0