如何隐式提供 crediential.json 文件?

How to supply crediential.json file implicitly?

我需要通过 credentials.json隐式)验证我的 python 代码。 当我在本地(文件夹内)提到我的 crediential.json 文件时,它工作正常。

我的工作代码:

import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = r'C:\Users\testfolder\crediential.json'

我需要:

import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path_of_GCP_secrete_manager or path_of_GCP_cloud_storage or path_of_any_other_storage_repos'

请建议我们如何实现这一目标,或者是否有任何其他方法可以实现这一目标。

编辑-

这是我的代码

import csv
import os
import json

from google.cloud import asset_v1, servicemanagement_v1, service_usage_v1
from pandas import json_normalize
from datetime import datetime

credential_path = r"C:\Users\testfolder\credentials.json"
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path

from google.cloud import asset_v1


client = asset_v1.AssetServiceClient()
response = client.search_all_iam_policies(
    request={"scope": "projects/1234567", "page_size": 1000}
)
for policy in response:
    print(policy)
  1. 当我 运行 这显示正确的输出(即)所有 IAM 政策。 --> 这里我在本地有我的 credintial.json 文件。
  2. 需要:但是我需要远程存储这个credential.json文件,需要直接从远程获取。 (远程可以是 GCS 或 Sercret 管理器)
  3. 但我不知道如何实现

发布@John Hanley 评论以获得更好的可见度:

实现目标的最佳方法是完全不使用 credentials.json 文件。您应该使用附加到代码为 运行 的服务的服务帐户。查找此服务的应用程序默认凭据。

有用的链接: