Google cloud platform Google AutoML-可以通过服务帐户模拟进行身份验证吗?

Google cloud platform Google AutoML-可以通过服务帐户模拟进行身份验证吗?,google-cloud-platform,service-accounts,google-cloud-automl,automl,Google Cloud Platform,Service Accounts,Google Cloud Automl,Automl,TL;DR-我可以通过使用应用程序默认凭据(ADC)模拟服务帐户(SA)对AutoML API进行身份验证,还是必须实际使用SA身份验证 在对部署的模型进行批处理预测时,我希望能够使用ADC对AutoML API进行身份验证。这只是为了开发目的,而不是为每个开发人员和数据科学家创建新的SA。我知道AutoML需要SA进行身份验证,因此我希望使用--impersonate服务帐户标志或auth/impersonate\u服务\u帐户设置。我已经按照这篇文章中的说明进行了操作,但仍然在使用最终用户凭

TL;DR-我可以通过使用应用程序默认凭据(ADC)模拟服务帐户(SA)对AutoML API进行身份验证,还是必须实际使用SA身份验证

在对部署的模型进行批处理预测时,我希望能够使用ADC对AutoML API进行身份验证。这只是为了开发目的,而不是为每个开发人员和数据科学家创建新的SA。我知道AutoML需要SA进行身份验证,因此我希望使用--impersonate服务帐户标志或auth/impersonate\u服务\u帐户设置。我已经按照这篇文章中的说明进行了操作,但仍然在使用最终用户凭据时遇到了一个错误。所以我的问题是,我只是做错了什么,还是AutoML必须在没有模拟的情况下使用真正的SA身份验证

gcloud config list
的输出为-

[auth]
impersonate_service_account = abcdefghijklmnop@my-project.iam.gserviceaccount.com
[compute]
region = us-east1
zone = us-east1-b
[core]
account = first.last@domain.com
disable_usage_reporting = False
project = my-project

Your active configuration is: [default]

下面是AutoML返回的错误-

google.api_core.exceptions.PermissionDenied:403您的应用程序已使用来自google Cloud SDK或google Cloud Shell的最终用户凭据进行身份验证,而automl.googleapis.com不支持这些凭据。建议在gcloud中配置计费/配额项目设置,或通过身份验证/模拟服务帐户设置使用服务帐户。有关服务帐户以及如何在应用程序中使用它们的更多信息,请参阅

以及来自AutoML文档-
服务帐户是AutoML API可用的唯一身份验证选项

谢谢,

Zach

您是否尝试通过运行“gcloud config set auth/impersonate\u service\u account”来指定用于模拟的服务帐户[1]

为了模拟,您的原始凭据需要被授予目标服务帐户[1]上的角色/iam.serviceAccountTokenCreator



[1]

您是否尝试通过运行“gcloud config set auth/impersonate\u service\u account”来指定用于模拟的服务帐户[1]

为了模拟,您的原始凭据需要被授予目标服务帐户[1]上的角色/iam.serviceAccountTokenCreator



[1]

我已经用其他几种服务进行了测试,服务帐户模拟似乎对它们有效。Google AutoML似乎需要一个服务帐户,模拟将不起作用。

我已经用其他几个服务进行了测试,服务帐户模拟似乎对它们起作用。Google AutoML似乎需要一个服务帐户,模拟将无法工作。

阅读这篇关于模拟服务帐户的文章@约翰汉利感谢你的评论和文章。在阅读您的文章的过程中,下面的命令警告我使用了模拟。这向我证实了AutoML需要SA,并且模拟无法工作。谢谢你抽出时间来帮忙。gcloud项目获取iam策略[PROJECT-ID]\--flant=“bindings[].members”\--format='table(bindings.role)\--filter=“bindings.members:[ACCOUNT]”警告并不意味着这一点。CLI提醒您正在使用模拟。好的,如果是这种情况,那么为什么模拟对上述命令有效,但对AutoML无效?我使用相同的设置来执行这两项操作。请阅读这篇关于模拟服务帐户的文章@约翰汉利感谢你的评论和文章。在阅读您的文章的过程中,下面的命令警告我使用了模拟。这向我证实了AutoML需要SA,并且模拟无法工作。谢谢你抽出时间来帮忙。gcloud项目获取iam策略[PROJECT-ID]\--flant=“bindings[].members”\--format='table(bindings.role)\--filter=“bindings.members:[ACCOUNT]”警告并不意味着这一点。CLI提醒您正在使用模拟。好的,如果是这种情况,那么为什么模拟对上述命令有效,但对AutoML无效?我使用相同的设置来执行这两个。是的,我有。谢谢你的评论。我已经在我的帖子中添加了“gcloud配置列表”的输出。是的,我已经添加了。谢谢你的评论。我已经将“gcloud config list”的输出添加到我的帖子中。没有谷歌服务使用JSON密钥进行授权。他们使用OAuth访问或身份令牌。服务帐户模拟创建这些令牌。您的假设无效。没有谷歌服务使用JSON密钥进行授权。他们使用OAuth访问或身份令牌。服务帐户模拟创建这些令牌。你的假设是无效的。