0

我有一個Cloud ML引擎的教練應用程序,我必須使用kms來解密我在Google雲存儲中的文件。 由於用於啓動培訓作業的服務帳戶有權訪問正在下載加密文件的GCS存儲桶,因此我無需提供任何憑據即可使用tensorflow.python.lib.io.file_io在GCS中下載文件。 但是我無法獲得默認的應用程序憑據。Google憑證:Cloud ML引擎實例的授權

credentials = GoogleCredentials.get_application_default() 

以上調用返回與大多數領域的空白憑據對象null

{"scopes": [], "id_token": null, "kwargs": {}, "token_response": null, "client_id": null, "scope": "", "token_expiry": null, "_class": "AppAssertionCredentials", "refresh_token": null, "_module": "oauth2client.contrib.gce", "_service_account_email": null, "access_token": null, "invalid": false, "token_info_uri": null, "assertion_type": null, "token_uri": "https://www.googleapis.com/oauth2/v4/token", "client_secret": null, "revoke_uri": "https://accounts.google.com/o/oauth2/revoke", "user_agent": null} 

我期待的是供應用於培訓工作,由雲ML發動機的情況下,可以自動取得在這種情況下填充我的服務密鑰,但似乎並不是這種情況。

如何獲得訪問證書的任何提示。(除了包括在訓練師包:)憑據)

任何幫助,將不勝感激。

回答

0

我想返回credentials對象只看上去是空的,但如果你調用像

 

    print credentials.get_access_token() 

它實際上將產生一個有效的訪問令牌。或者,您可以使用它來授權HTTP請求或API庫,如Application Default Credentials docs中所述。有關可用方法的列表,另請參閱source code

相關問題