Google Cloud vs AWS服务角色

时间:2018-12-02 19:24:55

标签: amazon-web-services google-cloud-platform google-kubernetes-engine aws-iam google-cloud-iam

我来自AWS,不确定如何使用gcp。

在AWS中,我可以创建EC2实例,Lambda,ECS等服务角色。我将策略附加到该角色以为其提供所需的访问权限。然后,我将该角色附加到EC2实例,lambda等。不使用静态密钥,也不传递秘密。

我该如何使用gcp?如何将角色(或可能是gcp服务帐户)附加到gce实例,云功能,gke部署/服务等?

GCP拥有“服务帐户”,它被称为角色,被称为“作用域”,但是我不清楚如何附加它们并隐式授予对资源的访问权限(不传递秘密/密钥)。

2 个答案:

答案 0 :(得分:1)

对于VM,您需要先将其停止。您可以按照以下步骤操作:

  1. 转到https://console.cloud.google.com/iam-admin/serviceaccounts?project= {project-id}
  2. ,创建具有必要特权的服务帐户。
  3. 转到虚拟机列表。
  4. 停止VM
  5. 单击任何虚拟机名称。单击顶部的编辑。
  6. 向下滚动到“服务帐户”部分。
  7. 选择要与VM关联的服务帐户。

答案 1 :(得分:1)

对于Compute Engine,App Engine等服务,Google会自动创建一个default service account。创建实例或关闭实例时,您可以修改分配给默认服务帐户的权限,甚至可以更改使用的服务帐户。

默认服务帐户具有预定义的名称[PROJECT_NUMBER]-compute@developer.gserviceaccount.com

link将提供更多信息。

您可以从实例metadata访问默认服务帐户创建的凭据。这是Python中的示例。此示例加载用于访问Google云端存储的默认服务帐户凭据:

from google.auth import compute_engine
from google.cloud import storage
credentials = compute_engine.Credentials()
client = storage.Client(credentials=credentials, project=project)

一种常见的策略是使用应用程序默认凭据(ADC)自动定位凭据:

from google.cloud import storage
client = storage.Client()