【问题标题】:Google Cloud Compute Viewer allows to SSH while it should notGoogle Cloud Compute Viewer 允许 SSH,但它不应该
【发布时间】:2018-12-20 05:27:44
【问题描述】:

我正在尝试使用 GCloud IAM 权限在我们的 GCP 基础架构上设置每个实例级别的权限(例如,可以在机器 A 上进行 SSH,但不能在机器 B 上进行 SSH)。

但是,我遇到了一个奇怪的行为。

如果我将一个只有Compute Viewer 权限的用户添加到GCloud 项目,该用户将能够在Compute Engine 部分中的所有 VM 设置上进行SSH。

这毫无意义,因为文档本身指出您不能使用 Compute Viewer 进行 SSH:https://cloud.google.com/compute/docs/access/

此外,当我尝试为每个特定实例设置权限时(通过进入 Compute Engine > VM Instances,选择特定实例并从权限选项卡中添加权限),这些似乎实际上没有任何效果。

不确定我是否错过了什么:

  • 为什么Compute Viewer 允许使用 SSH?
  • 为什么每个实例的权限无效?

【问题讨论】:

  • 您甚至不需要 GCP 帐户即可通过 SSH 连接到计算实例。您只需要 SSH 密钥对。您混淆了安全机制。
  • 据我了解,IAM 允许控制 SSH 权限,如 cloud.google.com/compute/docs/access 中所述,但具有更高级别的粒度(因此您不仅仅是控制 SSH 权限)。仅使用 ssh 密钥的 SSH 似乎需要我们自己的 SSH 管理,这似乎被 GCP 所不鼓励,正如这里提到的 cloud.google.com/compute/docs/instances/…。我们还遇到了开发人员添加自己的 SSH 密钥并完全破坏其他人的 SSH 能力的问题。
  • 我的评论不是关于如何管理 SSH 访问。我的评论是纠正您认为 Google 管理/控制 SSH 访问的无效假设。您可以争论正确的方法,但事实是您可以使用 SSH 密钥访问实例(防火墙允许)。经验丰富的开发人员将 SSH 密钥用于许多不需要 GCP 来管理我们的密钥的任务。拥有多个 SSH 密钥没有问题,良好的安全实践建议为每个访问实例的用户使用不同的 SSH 密钥。有些人有问题的事实只是他们不了解如何实现和使用 SSH 密钥。
  • 我很困惑。这些开发人员使用 google 记录的方式 gcloud compute os-login ssh-keys add 添加了自己的 ssh 密钥。当他们这样做时,他们能够使用他们的 SSH 密钥进行 ssh,但并没有持续多久。与此同时,所有其他用户都无法正确登录。这与you risk disrupting the ability of your project members to connect to instances. 的文档所述一致此外,Google 文档建议使用他们自己的 SSH 密钥管理机制 (cloud.google.com/compute/docs/instances/#manage_access)
  • 所以,我理解您关于管理与授权的评论,关键是谷歌还处理元数据传播,包括 sshkey 信息,以及手动管理 sshkey,即使通过他们自己的控制台界面,似乎与自动生成的密钥。话虽如此,它对我帖子的两个问题没有帮助

标签: google-cloud-platform google-compute-engine google-iam


【解决方案1】:

您可以使用操作系统登录在实例级别manage SSH access

Compute Viewer 访问权限不足以通过 SSH 访问 VM 实例。

你需要一个compute.instances.setMetadata, compute.projects.setCommonInstanceMetadata 或 compute.instances.osLogin(启用 OsLogin)和 iam.serviceAccounts.actAs.

我刚刚也测试了它以确认并收到上述错误。

您可能已经为您的用户分配了一些其他角色/权限,这些角色/权限需要在您的项目中进行审核,因为 IAM 角色 Compute Viewer 是不够的。

【讨论】:

  • 对 OS Login 做了一些实验,效果很好,可以满足我的需要。但是,如果未启用操作系统登录,计算机查看器权限似乎表现不正确。谢谢!
猜你喜欢
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 2020-11-01
  • 2016-05-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多