google 云与 AWS 服务角色
google cloud vs aws service roles
我来自 AWS,不确定如何使用 gcp 执行此操作。
在 AWS 中,我可以创建 EC2 实例、Lambda、ECS 等服务角色。我将策略附加到该角色以赋予其所需的访问权限。然后我将角色附加到 EC2 实例、lambda 等。没有使用静态密钥,没有传递秘密。
我如何使用 gcp 执行此操作?如何将角色(或者可能是 gcp 服务帐户?)附加到 gce 实例、云函数、gke deployment/service 等?
GCP 有 "service accounts" 和它称为角色的东西和叫做 "scopes" 的东西但我不清楚如何附加它们并隐式授予对资源的访问权限(不传递 secrets/keys).
对于 VM,您需要先将其停止。您可以按照以下步骤操作:
- 转到 https://console.cloud.google.com/iam-admin/serviceaccounts?project={project-id}
创建一个具有必要权限的服务帐户
- 转到虚拟机列表。
- 停止虚拟机
- 单击虚拟机名称。单击顶部的编辑。
- 向下滚动到服务帐户部分。
- 选择要关联到 VM 的服务帐户。
对于 Compute Engine、App Engine 等服务,Google 会自动创建一个 default service account。当您创建实例或实例关闭时,您可以修改分配给默认服务帐户的权限,甚至更改使用的服务帐户。
默认服务帐户有一个预定义的名称[PROJECT_NUMBER]-compute@developer.gserviceaccount.com
此 link 将提供更多信息。
您可以从实例 metadata 访问默认服务帐户创建的凭据。这是 Python 中的示例。此示例加载用于访问 Google Cloud Storage:
的默认服务帐户凭据
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()
我来自 AWS,不确定如何使用 gcp 执行此操作。
在 AWS 中,我可以创建 EC2 实例、Lambda、ECS 等服务角色。我将策略附加到该角色以赋予其所需的访问权限。然后我将角色附加到 EC2 实例、lambda 等。没有使用静态密钥,没有传递秘密。
我如何使用 gcp 执行此操作?如何将角色(或者可能是 gcp 服务帐户?)附加到 gce 实例、云函数、gke deployment/service 等?
GCP 有 "service accounts" 和它称为角色的东西和叫做 "scopes" 的东西但我不清楚如何附加它们并隐式授予对资源的访问权限(不传递 secrets/keys).
对于 VM,您需要先将其停止。您可以按照以下步骤操作:
- 转到 https://console.cloud.google.com/iam-admin/serviceaccounts?project={project-id} 创建一个具有必要权限的服务帐户
- 转到虚拟机列表。
- 停止虚拟机
- 单击虚拟机名称。单击顶部的编辑。
- 向下滚动到服务帐户部分。
- 选择要关联到 VM 的服务帐户。
对于 Compute Engine、App Engine 等服务,Google 会自动创建一个 default service account。当您创建实例或实例关闭时,您可以修改分配给默认服务帐户的权限,甚至更改使用的服务帐户。
默认服务帐户有一个预定义的名称[PROJECT_NUMBER]-compute@developer.gserviceaccount.com
此 link 将提供更多信息。
您可以从实例 metadata 访问默认服务帐户创建的凭据。这是 Python 中的示例。此示例加载用于访问 Google Cloud Storage:
的默认服务帐户凭据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()