【问题标题】:How to give access to single Compute Instance on GCP?如何在 GCP 上授予对单个计算实例的访问权限?
【发布时间】:2019-03-16 08:10:58
【问题描述】:

一直试图解决这个问题,但到目前为止还没有运气。与 AWS 相比,实现起来非常困难。

我有一个运行多个计算实例和其他服务的 Google Cloud Platform (GCP) 项目。

我需要向外部开发团队授予对单个计算实例的 root 访问权限,但不授予任何其他服务。

在“Compute Engine”视图中,当我选择实例并将用户添加为 Compute Admin(完全控制所有 Compute Engine 资源)但他仍然无法 ssh 进入实例。

尝试 #1:

出现错误:“需要compute.instance.get 权限。”

所以我去给那个用户一个包含该权限的角色。

尝试 #2:

收到错误“用户无权访问服务帐户...”

问题 #1 到底需要做什么才能让角色访问 GCP 中的单个计算实例?

在 AWS 上,有一个特定的角色可以被授予单个资源访问权限,但这里似乎确实如此。

问题 #2 如果实际上没有授予任何权限,那么“Compute Engine”视图中的“权限”右侧边栏的用途是什么。

谢谢!

【问题讨论】:

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


【解决方案1】:

我遇到了同样的问题并找到了解决方案。我会尽力回答你的问题:

问题 #1:到底需要做些什么才能让角色访问 GCP 中的单个计算实例?

您需要授予用户以下权限:

1- 在主 IAM 页面中,https://console.cloud.google.com/iam-admin/iam?project=your_project 授予用户“Compute Viewer”和“Service Account User”角色。

2- 在虚拟机页面https://console.cloud.google.com/compute/instances?folder=&organizationId=&project=your_project,选择一个或多个虚拟机并授予用户“Compute Instance Admin (v1)”角色。

现在用户可以通过 SSH 连接到虚拟机了。

问题 #2 如果实际上没有授予任何权限,那么“Compute Engine”视图中的“权限”右侧边栏的用途是什么。

在 GCP 中,有项目级别和资源级别的权限。 “Compute Engine”中的“Permissions”右侧边栏设置单个资源的权限。

希望这会有所帮助!

【讨论】:

  • 我在一个项目中运行了多个实例。我已经实施了第 1 步和第 2 步,只有第 2 步仍然无法正常工作。用户可以查看和访问项目目录中的所有实例。
  • 如果您的实例使用自定义服务帐户,您也可以在 IAM / 服务帐户下为该特定服务帐户授予用户“服务帐户用户”。这与将用户服务帐户用户授予整个项目相反。
  • 我想知道是否必须使用外部 IP 才能使操作系统登录正常工作?我在自定义网络中运行 ubuntu VM。外部 IP 被禁用。我给了一个用户(比如 abc2021@gmail.com)Compute OS Admin Login 角色。我已在元数据中将 enable-oslogin 设置为 TRUE。但是当我以 abc2021@gmail.com 访问计算 VM 时,我仍然看不到 SSH 已启用。我正在使用免费的 GCP 帐户。有什么我想念的吗?
【解决方案2】:

在此link 中,您将了解向项目添加新用户的不同方式,以及如何为您的 Compute Engine 资源设置访问控制。

注意:如果您想让用户 SSH 访问虚拟机实例但阻止访问所有 API,请将用户的 SSH 密钥添加到项目或实例,而不是将用户添加到项目并授予他们广泛的权限。

  1. 如果您只想授予用户对 VM 实例的 SSH 访问权限,则可以将用户的公钥添加到项目中,或者将用户的公钥添加到特定实例。 link here 中提到了这一点。

  2. 使用 OS Login 管理实例访问,此功能让您可以更精细地控制哪些用户可以连接到您的实例以及他们拥有的权限级别。有关更多详细信息,请参阅this document

【讨论】:

    猜你喜欢
    • 2021-02-25
    • 2021-11-23
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 2022-01-16
    • 2013-09-20
    • 2018-02-01
    • 1970-01-01
    相关资源
    最近更新 更多