【问题标题】:AWS assume-role equivalent in Google cloud (GCP)?AWS 在谷歌云 (GCP) 中扮演等效角色?
【发布时间】:2019-11-13 05:38:22
【问题描述】:

如何在 GCP 中设置多账户(项目),可以在 AWS 中使用假设角色,有人知道如何在 Google Cloud (GCP) 中设置吗?

我尝试在 GCP 中探索 AWS 等效项,但找不到任何文档。

【问题讨论】:

  • Google Cloud IAM 支持使用相同的凭据访问多个帐户。除 G Suite 外,Google Cloud 中不需要 AWS AssumeRole 方法。编辑您的问题以澄清您需要做什么,我会推荐如何做到这一点。 AWS 和 GCP 在 IAM 的实现方式上是如此不同,以至于逐个功能地比较它们是没有意义的。

标签: amazon-web-services google-cloud-platform


【解决方案1】:

如文档所述,AWS 中的 AssumeRole 返回一组临时安全凭证,您可以使用这些凭证访问您通常无法访问的 AWS 资源。

在 AWS 中,您可以在一个账户中创建一组长期凭证。然后,您可以通过在这些帐户中担任角色来使用临时安全凭证来访问所有其他帐户。

与 GCP 中的上述内容等效的是为服务帐户创建短期凭据以模拟其身份 (Documentation link)。

因此,在 GCP 中,您有“调用者”和“有限特权服务帐户”,为他们创建凭据。

要实现此场景,首先,在 GCP 中使用关于 Service AccountsCloud IAM Permission Roles 的便捷文档,因为每个帐户都是具有特定角色权限的服务帐户,以便了解帐户在 GCP 中的工作方式。

我在上面发布的link 提供了有关flows 的详细信息,允许调用者为服务帐户和supported credential types 创建短期凭据。

此外,this link 可以帮助您可视化和理解 GCP 中的资源层次结构,并为您提供如何根据组织结构构建项目的示例。

【讨论】:

    【解决方案2】:

    基本答案是“服务角色”。提供限时服务角色。

    对于跨项目分配权限(但仍在同一个组织中),您可以create a custom role

    要让任何用户担任服务帐户的角色,请使用Service Account user 角色。

    对于限时授权令牌,您有OAuth 2.0 for server-to-server calls,尤其是在可用的 JWT 中。

    【讨论】:

    • 感谢 Joshua,但是否可以在不使用访问权限和密钥的情况下管理多个 GCP 项目?类似于 AWS 中的假设角色?
    • 安全模型不同,但 GCP 中的自定义角色允许您跨项目分配权限。这能满足你的需求吗? [答案已编辑[.
    • @Janardhan 如果这个答案对您有帮助,请点赞和/或接受。
    • 在 GCP 中,项目是信任边界。所以你可能不想为多个项目使用相同的密钥。
    • @TravisWebb 但没有提供跨项目访问的场景,例如共享 VPC?通常,项目位于组织(公司)内部的文件夹(通常对应于公司部门)中,那么授予跨项目访问权限是否有意义?
    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-17
    • 2020-12-24
    • 1970-01-01
    相关资源
    最近更新 更多