亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Google Cloud python 使用本地應用程序默認身份令牌對云運行進行身份驗證請求

Google Cloud python 使用本地應用程序默認身份令牌對云運行進行身份驗證請求

翻過高山走不出你 2023-07-27 10:32:46
我正在嘗試將以下命令從 CLI(有效)轉換為 python,但遇到一些問題。curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL問題是我無法使用應用程序默認本地憑據令牌請求有效的承載來向 Google Cloud Run 發出授權請求。如果我從 CLI 生成 Bearer 令牌gcloud auth print-identity-token并在 python 請求中使用它,一切正常request_url = 'https://<my endpoint>'identity_token = '<>' # response of gcloud auth print-identity-token)header= {'Authorization': f'Bearer {identity_token}'}requests.get(url=request_url, headers=receiving_service_headers)從谷歌身份驗證文檔中,我了解到 Cloud Run 通信基于支持模擬身份驗證的身份令牌,但我無法生成有效的憑據。from google.auth import impersonated_credentials, defaultfrom google.auth.transport.requests import AuthorizedSessionrequest_url = 'https://<my endpoint>'source_credentials, project = default()creds = impersonated_credentials.IDTokenCredentials(? ? source_credentials,? ? target_audience=request_url)authed_session = AuthorizedSession(creds)resp = authed_session.get(request_url)print(resp)bui 我收到以下錯誤google.auth.exceptions.GoogleAuthError: Provided Credential must be impersonated_credentials謝謝
查看完整描述

2 回答

?
慕運維8079593

TA貢獻1876條經驗 獲得超5個贊

您需要一個服務帳戶才能使用 Google Auth 庫生成有效的 JWT 令牌。所有庫和所有語言都存在同樣的問題。

在本地環境中,如果您想在本地和云中使用相同的代碼,則必須生成服務帳戶密鑰文件并將其與 ADC 一起使用。可悲的是,這是一個安全問題......


查看完整回答
反對 回復 2023-07-27
?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

如果您想將curl命令轉換為python請求,這是轉換后的代碼:

導入請求

headers = { '授權': '承載 $(gcloud auth print-identity-token)', }

響應 = requests.get('http://SERVICE_URL', headers=headers)


查看完整回答
反對 回復 2023-07-27
  • 2 回答
  • 0 關注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號