Google cloud platform 使用`gcloud auth'创建访问令牌时是否可以设置作用域`
我在示例Java代码中看到,当请求刷新令牌时,可以添加作用域:Google cloud platform 使用`gcloud auth'创建访问令牌时是否可以设置作用域`,google-cloud-platform,gcloud,Google Cloud Platform,Gcloud,我在示例Java代码中看到,当请求刷新令牌时,可以添加作用域: credential.createScope(Arrays.asList(“someapi”)).refreshToken 我在Python中也看到了同样的情况。但cli中没有作用域的配置选项 gcloud auth应用程序默认打印访问令牌 没有gcloud auth--scopes=“someapi”应用程序默认打印访问令牌 您知道如何在cli中设置自定义作用域的访问密钥吗?我认为通过gcloud auth应用程序默认打印访问令牌
credential.createScope(Arrays.asList(“someapi”)).refreshToken
我在Python中也看到了同样的情况。但cli中没有作用域的配置选项
gcloud auth应用程序默认打印访问令牌
没有gcloud auth--scopes=“someapi”应用程序默认打印访问令牌
您知道如何在cli中设置自定义作用域的访问密钥吗?我认为通过gcloud auth应用程序默认打印访问令牌
命令请求自定义作用域在设计上不可用
原因是您可以使用用户帐户或服务帐户登录到Google Cloud SDK。如果您使用gcloud auth application default login
登录到用户帐户,则云SDK仅请求作用域以完全访问GCP API
因此,当您运行gcloud auth application default print access token
时,Google Cloud SDK无法通过您的登录帐户访问除GCP之外的任何API,因此,它无法打印具有自定义作用域的访问令牌。我认为通过gcloud auth应用程序默认打印访问令牌命令请求自定义作用域在设计上不可用
原因是您可以使用用户帐户或服务帐户登录到Google Cloud SDK。如果您使用gcloud auth application default login
登录到用户帐户,则云SDK仅请求作用域以完全访问GCP API
因此,当您运行gcloud auth应用程序默认打印访问令牌时,Google Cloud SDK无法通过您登录的帐户访问除GCP之外的任何API,因此,它无法打印具有自定义范围的访问令牌。在API中,就像在gcloud auth print access token
命令中一样,如果在用户帐户上设置作用域,它将失败。只能限定服务帐户的作用域,而不能限定用户帐户的作用域
事实上,您可以在用户帐户凭据上设置作用域,如gcloud auth application default login--scopes=…
,然后,当您生成令牌时,它将自动正确设置作用域
请记住,您尤其需要确定凭据的范围,以便在API中不访问Google Cloud API(工作区、地图、Youtube等)就像在gcloud auth print access token
命令中一样,如果您在用户帐户上设置范围,它将失败。只能限定服务帐户的作用域,而不能限定用户帐户的作用域
事实上,您可以在用户帐户凭据上设置作用域,如gcloud auth application default login--scopes=…
,然后,当您生成令牌时,它将自动正确设置作用域
请记住,您尤其需要确定您的凭证范围,以访问非Google Cloud API(工作区、地图、Youtube等)以下工具有助于获取使用API的承载令牌:
oauth2l头文件——json路径\服务\帐户\关键业务通信
[brew安装oauth2l
或https://github.com/google/oauth2l ]以下工具有助于获取与API一起使用的承载令牌:
oauth2l头文件——json路径\服务\帐户\关键业务通信
[brew安装oauth2l
或https://github.com/google/oauth2l ]