如何访问 GCP 上的单个计算实例?

Kas*_*rTr 10 google-compute-engine google-cloud-platform google-cloud-networking

一直试图弄清楚这一点,但到目前为止没有运气。与 AWS 相比,实现起来非常困难。

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

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

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

尝试 #1:

出现错误:“需要compute.instance.get许可。”

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

尝试#2:

出现错误“用户无权访问服务帐户...”

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

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

问题 #2 另外,如果“计算引擎”视图中的“权限”右侧栏实际上没有提供任何权限,那么它的用途是什么。

谢谢!

Pul*_*lpo 14

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

问题 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 中,选择一个或多个虚拟机并授予用户“计算实例管理员 (v1)” “ 角色。

现在用户可以通过 SSH 连接到 VM。

问题 #2 另外,如果“计算引擎”视图中的“权限”右侧栏实际上没有提供任何权限,那么它的用途是什么。

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

希望这可以帮助!

在此处输入图片说明

在此处输入图片说明

  • 如果您的实例使用自定义服务帐户,您还可以仅在 IAM/服务帐户下为该特定服务帐户授予用户“服务帐户用户”。这与将用户服务帐户用户提供给整个项目相反。 (3认同)

Ali*_*oua 1

在此链接中,您将找到向项目添加新用户的不同方法以及如何设置 Compute Engine 资源的访问控制。

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

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

  2. 管理实例访问 使用操作系统登录,此功能使您可以更精细地控制哪些用户可以连接到您的实例以及他们拥有什么级别的权限。有关更多详细信息,请参阅此文档