如何隐式提供 crediential.json 文件?
How to supply crediential.json file implicitly?
我需要通过 credentials.json(隐式)验证我的 python 代码。
当我在本地(文件夹内)提到我的 crediential.json 文件时,它工作正常。
- 但我需要:我不想在本地展示(crediential.json)。
- 它必须远程存在于 GCP 秘密管理器或 GCP 云存储或任何其他存储库中。
我的工作代码:
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)
- 当我 运行 这显示正确的输出(即)所有 IAM
政策。 --> 这里我在本地有我的 credintial.json 文件。
- 需要:但是我需要远程存储这个credential.json文件,需要直接从远程获取。 (远程可以是 GCS 或 Sercret 管理器)
- 但我不知道如何实现
发布@John Hanley 评论以获得更好的可见度:
实现目标的最佳方法是完全不使用 credentials.json
文件。您应该使用附加到代码为 运行 的服务的服务帐户。查找此服务的应用程序默认凭据。
有用的链接:
我需要通过 credentials.json(隐式)验证我的 python 代码。 当我在本地(文件夹内)提到我的 crediential.json 文件时,它工作正常。
- 但我需要:我不想在本地展示(crediential.json)。
- 它必须远程存在于 GCP 秘密管理器或 GCP 云存储或任何其他存储库中。
我的工作代码:
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)
- 当我 运行 这显示正确的输出(即)所有 IAM 政策。 --> 这里我在本地有我的 credintial.json 文件。
- 需要:但是我需要远程存储这个credential.json文件,需要直接从远程获取。 (远程可以是 GCS 或 Sercret 管理器)
- 但我不知道如何实现
发布@John Hanley 评论以获得更好的可见度:
实现目标的最佳方法是完全不使用 credentials.json
文件。您应该使用附加到代码为 运行 的服务的服务帐户。查找此服务的应用程序默认凭据。
有用的链接: