当前位置: 首页 > 知识库问答 >
问题:

如何从应用程序默认凭据生成的凭据模拟 GCP 服务帐户

柴晔
2023-03-14

我有一个服务帐户,并且我正在向其中一个真实用户授予此服务帐户上的“服务帐户用户”角色。用户已将“应用程序默认凭据”设置为其配置的一部分,以避免每次运行时出现登录屏幕。我不确定此用户运行操作只有服务帐户才能访问的某些资源的代码的最佳方式是什么。出于安全原因,我不想使用服务帐户密钥 JSON 文件。我正在尝试以下代码

import google.auth
service_account_email='my-service-account@my-project.iam.gserviceaccount.com'
adc_credentials,adc_project=google.auth.default()

delegated_credentials=adc_credentials.with_subject(service_account_email)

我收到错误:属性错误:“凭据”对象没有属性“with_subject”

共有1个答案

斜烈
2023-03-14

如在此指定的,服务帐户用户角色授予您使用服务号部署资源的权限,而不是成为此帐户的权限。

如果担心长期使用的凭据很容易被泄露,则可以使用短期凭据

要模拟服务帐户,您需要服务帐户令牌创建者的角色。这里有一篇文章解释了这个模拟过程。

 类似资料:
  • 我正在尝试在 Go 应用引擎部署上使用具有域范围委派 (DwD) 的服务帐户。 我已按照使用 Google 应用程序默认凭据的步骤将服务帐户与应用引擎配合使用。 我让代码在我的开发计算机上本地运行,但我被困在从我的域中检索实际数据。 我用的是Admin SDK。在“向您的服务帐户授予域范围的权限”一节中,它说我的“服务帐户需要模拟其中一个用户来访问Admin SDK Directory API”。

  • 问题内容: 我正在尝试在具有Go的App Engine部署中使用具有域范围委托(DwD)的服务帐户。 我已经按照步骤使用Google应用程序默认凭据在App Engine中使用服务帐户。 我的代码在我的开发机器上本地运行,但是我一直坚持从域中检索实际数据。 我正在使用Admin SDK。在“将域范围的权限委派给您的服务帐户”部分下,它说我“服务帐户需要模拟其中一个用户来访问Admin SDK Di

  • 我当前正在尝试访问云API,但收到以下错误:

  • 它说要使用以下命令: 在Google Shell中,我尝试了以下操作: 我知道命令指向的是正确的文件位置。如何成功验证应用程序默认凭据?

  • 我在我的springBoot应用程序中添加了H2DB,用于单元测试目的。 应用中测试。我刚刚添加的属性: Spring数据源。名称=h2db spring.h2.console.enabled=true 它工作正常,节省了价值。 但它是如何工作的,我如何浏览这个数据库?