Google 云:开发人员工作站身份验证的最佳实践

Google Cloud: best practice for developer workstations authentication

这个问题专门针对开发人员需要从他们的工作站(Firestore、Stackdriver、KMS...)访问 GCP 的情况。

在Google云文档中,通常是这么写的:

Developer workstation: Authenticating by using a service account is also recommended for your developer workstation.

当开发人员被解雇时,我们应该如何处理?

最佳答案需要比您的问题提供更多的详细信息。此答案作为通用答案,适用于 Google 云的典型小规模使用。

对于企业-class 具有多个帐户、项目、数百个资源等的开发需要不同的答案,包括组织、文件夹、联盟、SSO、VPN 等

How should we handle the case when a developer gets fired?

Delete/Disable 开发者的服务帐号 JSON 密钥。删除用户的 IAM 成员帐户(电子邮件地址)在 Google Cloud 中的权限。

Should we have a service account per developer?

是的,您应该为每位开发者创建并颁发一个服务帐户密钥。就像您为每个用户创建单独的登录帐户一样。您还应该向每个开发人员颁发单独的 SSH 密钥以登录 Compute Engine 实例。

How to provision these service accounts to developers?

您可以在 Google Cloud Console、Google Cloud SDK CLI gcloud 或通过 API 创建服务帐户。

Or is it actually better to go against the docs and authenticate using developer accounts?

否 - 听文档。您可以为 CLI gcloud 使用用户帐户,但对于使用 SDKs/APIs 编写的任何软件,您应该使用服务帐户。 Google SDK 将在控制台上打印有关用户凭据使用情况的警告。如果您计划在云中部署软件,您需要(通常)使用服务帐户。现在就花时间正确、安全地做事。这将最大限度地减少以后的麻烦和问题。

我说的都有例外。但是,在您深入了解 Google Cloud IAM 和安全性之前,请遵循最佳实践。 Google 云身份验证非常复杂,如果您尝试走捷径,专家开发人员可能会在 GCP 中创建后门。