当我设置我的服务帐户时,gce 的默认服务帐户是否启用?
Does gce's default service account enable when I set my service account?
关于 GCP 服务帐户
从 Web 控制台,我使用我创建的服务帐户 X 启动了一个 GCE 实例。
如果您从实例中请求http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/
/ my-service-account-X @ foo
/ default
已退货。
即使我设置了服务帐户X,是否启用了默认服务帐户?
如果是,权限如何?
默认服务账号权限强,受范围限制,但如果按照最佳实践配置,使用服务账号X,范围是cloud-platform。也就是说,如果使用访问http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/apikey
得到的API密钥,就可以访问服务账号X不允许的API?
另外,服务账号X是否需要包含默认服务账号的权限,比如写日志?
这两个结果实际上引用了同一个服务帐户,在您的例子中是“my-service-account-X @ foo”。您可以通过从两者获取令牌来确认这一点。例如,对于默认值:
curl http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token -H "Metadata-Flavor: Google"
您会发现您实际上从 default
和 my-service-account-X@foo
获得了相同的令牌。它是 default
的“别名”,因此您可以从您的实例轻松使用 Application Default Credentials。
关于 GCP 服务帐户
从 Web 控制台,我使用我创建的服务帐户 X 启动了一个 GCE 实例。
如果您从实例中请求http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/
/ my-service-account-X @ foo
/ default
已退货。 即使我设置了服务帐户X,是否启用了默认服务帐户?
如果是,权限如何?
默认服务账号权限强,受范围限制,但如果按照最佳实践配置,使用服务账号X,范围是cloud-platform。也就是说,如果使用访问http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/apikey
得到的API密钥,就可以访问服务账号X不允许的API?
另外,服务账号X是否需要包含默认服务账号的权限,比如写日志?
这两个结果实际上引用了同一个服务帐户,在您的例子中是“my-service-account-X @ foo”。您可以通过从两者获取令牌来确认这一点。例如,对于默认值:
curl http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token -H "Metadata-Flavor: Google"
您会发现您实际上从 default
和 my-service-account-X@foo
获得了相同的令牌。它是 default
的“别名”,因此您可以从您的实例轻松使用 Application Default Credentials。