当我设置我的服务帐户时,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"

您会发现您实际上从 defaultmy-service-account-X@foo 获得了相同的令牌。它是 default 的“别名”,因此您可以从您的实例轻松使用 Application Default Credentials