gpt4 book ai didi

google-cloud-platform - 如何仅使用访问 token 通过 gcloud 进行身份验证?

转载 作者:行者123 更新时间:2023-12-03 08:04:24 24 4
gpt4 key购买 nike

所以我想知道是否有一种方法可以通过访问 token 来验证 gcloud 实用程序命令?例如。如果我通过 gcloud auth print-access-token 获得访问 token ,然后在另一台计算机上执行 gcloud auth ${access_token}

这可能吗?

最佳答案

可以通过三种方式直接使用访问 token : outlined here ,我总结如下:

  1. 声明CLOUDSDK_AUTH_ACCESS_TOKEN环境变量,参见https://cloud.google.com/sdk/docs/authorizing

  2. --access_token_file标志,请参阅 https://cloud.google.com/sdk/gcloud/reference#--access-token-file .

  3. access_token_file的配置,参见https://cloud.google.com/sdk/gcloud/reference/config/set并搜索access_token_file

实践经验

我使用 Google Cloud SDK 413.0.0 和 Python 客户端尝试了一些操作 google-storage-client并学到了一些相关的东西。

1。选项适用于 gcloud ,但不是所有客户

以下所有选项均可用于设置 gcloud带有凭据的 CLI。

  • export CLOUDSDK_AUTH_ACCESS_TOKEN=<access token>
  • gcloud config set auth/access_token_file $(pwd)/my-access-token.txt
  • gcloud storage ls <bucket> --access_token_file=$(pwd)/my-access-token.txt

2. Python 客户端不尊重上面列出的选项

this github issue ,支持CLOUDSDK_AUTH_ACCESS_TOKEN请求由 Google 的 Python 库提供。

但是,他们可以像这样直接使用访问 token :

# Example on using a temporary GCP access token.
#
# To acquire a token from some location, run
#
# gcloud auth print-access-token
#
# To use it with python libraries like google-cloud-storage, first create a
# credentials object to pass to the client.
#
import getpass
from google.cloud import storage
from google.oauth2.credentials import Credentials

# import an access token
# - option 1: read an access token from a file
with open("my-access-token.txt") as f:
access_token = f.read().strip()
# - option 2: read an access token from user input
access_token = getpass.getpass("Enter access token: ")

# setup a storage client using credentials
credentials = Credentials(access_token)
storage_client = storage.Client(credentials=credentials)

# test the storage client by trying to list content in a google storage bucket
bucket_name = "something" # don't include gs:// here
blobs = list(storage_client.list_blobs(bucket_name))
print(len(blobs))

关于google-cloud-platform - 如何仅使用访问 token 通过 gcloud 进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72874673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com