[英]Use GOOGLE_APPLICATION_CREDENTIALS env var with GitHub Actions secret
我的問題很簡單:我想運行依賴於從 GitHub Actions 秘密正確設置的GOOGLE_APPLICATION_CREDENTIALS
的代碼。
問題是GOOGLE_APPLICATION_CREDENTIALS
應該包含服務帳戶文件的路徑,而秘密是否包含實際的服務帳戶文件內容。
最好的做法是什么?
編輯
本質上,我運行一個 NodeJS 腳本,該腳本使用客戶端庫(PubSub、BigQuery 等)連接到多個 GCP 資源。 據我了解,如果正確定義了GOOGLE_APPLICATION_CREDENTIALS
env var,它們可以最輕松地工作。
您可以使用此GitHub 操作登錄。您幾乎必須使用服務帳戶的內容創建一個密碼並將其指定為輸入:
- id: 'auth'
name: 'Authenticate to Google Cloud'
uses: 'google-github-actions/auth@v0'
with:
credentials_json: '${{ secrets.GOOGLE_CREDENTIALS }}'
問題是 GOOGLE_APPLICATION_CREDENTIALS 應該包含服務帳戶文件的路徑,而秘密是否包含實際的服務帳戶文件內容。
沒有一個。 環境變量必須指向一個文件,該文件是服務帳戶 JSON 密鑰所在的位置。 您可以將內容寫入工件,但那很危險。 還有其他方法,但您的問題沒有提供有關您的 GitHub 操作執行的操作或其運行的命令的詳細信息。 但是,我仍然不會使用那些方法。
正確的解決方案是使用 Google Cloud Workload Identity Federation。 這既是解決方案,也是最佳實踐解決方案。
GitHub 提供一個 OAuth 身份提供者。 Google 支持將憑證從一個 OAuth 提供商聯合到另一個提供商。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.