我来自AWS,不确定如何使用gcp。
在AWS中,我可以创建EC2实例,Lambda,ECS等服务角色。我将策略附加到该角色以为其提供所需的访问权限。然后,我将该角色附加到EC2实例,lambda等。不使用静态密钥,也不传递秘密。
我该如何使用gcp?如何将角色(或可能是gcp服务帐户)附加到gce实例,云功能,gke部署/服务等?
GCP拥有“服务帐户”,它被称为角色,被称为“作用域”,但是我不清楚如何附加它们并隐式授予对资源的访问权限(不传递秘密/密钥)。
答案 0 :(得分:1)
对于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()