3 回答

TA貢獻1712條經驗 獲得超3個贊
您遇到的問題是由在兩種環境中開發/測試引起的:您的桌面和 App Engine。這個問題很容易以干凈安全的方式解決。
在桌面上開發/測試時,請使用服務帳戶。使用環境變量指定服務帳戶。
在 Windows 上:
set GOOGLE_APPLICATION_CREDENTIALS=c:\fullpath\serviceaccount.json
在 Linux 上:
export GOOGLE_APPLICATION_CREDENTIALS=/fullpath/serviceaccount.json
您可以在命令提示符下手動運行上一個命令,也可以將其放入啟動腳本 (Linux) 或系統環境變量 (Windows)。
對于 App Engine,我不建議在您的應用程序中使用服務帳戶文件。我也不建議設置環境變量。
Google 客戶端庫支持應用程序默認憑據 (ADC)。這意味著庫將嘗試自動為您查找憑據。然后,客戶端庫可以使用該環境來查找要在 Windows 上使用的服務帳戶,并在部署時自動使用 App Engine 默認服務帳戶。
通過在您的代碼中包含 ADC,您可以在 Windows/Linux 上進行測試并部署到 App Engine,而無需修改您的代碼,也沒有在部署中包含服務帳戶 JSON 文件的安全風險。

TA貢獻1827條經驗 獲得超8個贊
您需要設置 IAM 權限才能使用加密功能。
您可以通過使用以下命令和您的服務帳戶的詳細信息來做到這一點:
gcloud kms keys add-iam-policy-binding \
golden-egg --location global --keyring golden-goose \
--member serviceAccount:[email protected] \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter

TA貢獻1799條經驗 獲得超9個贊
- 3 回答
- 0 關注
- 158 瀏覽
添加回答
舉報