设置Google Cloud NetApp Volumes
NetApp Console需要通过 Google Cloud 服务帐户获得正确的权限。
完成以下任务,以便 NetApp Console 可以访问您的 Google Cloud 项目。
|
|
您可以使用 Google Cloud 控制台或 gcloud CLI 执行这些任务。要使用 gcloud CLI,您必须先"已安装 Google Cloud CLI"。 |
-
如果您还没有服务帐户,请创建一个新的。
-
允许冒充他人访问。
-
在共享项目中授予 IAM 角色。
设置服务帐户
|
|
Google Cloud 项目权限更改可能需要几分钟才能生效。 |
-
在 Google Cloud 控制台中, "前往服务帐户页面" 。
-
单击*选择项目*,选择您的项目,然后单击*打开*。
-
要创建服务帐户,请执行以下操作:
-
点击*创建服务帐户*。
-
输入服务帐户名称(友好显示名称)和描述。
Google Cloud Console 根据此名称生成服务帐户 ID。如有必要,请编辑 ID - 您以后无法更改 ID。
-
点击“创建并继续”。
-
在角色列表中,选择 Google Cloud NetApp Volumes Admin 或 Google Cloud NetApp Volumes Viewer 角色。
-
选择*继续*。
或者,您可以使用 gcloud CLI 分配角色:
gcloud projects add-iam-policy-binding <YOUR_PROJECT_ID> --member="serviceAccount:<YOUR_SA_EMAIL>" --role="roles/netapp.admin" -
授予此服务帐户模拟访问权限:credentials-sa@wf-production-netapp.iam.gserviceaccount.com。有关详细信息,请参阅 "创建自签名 JSON Web Token (JWT)"。
NetApp拥有的服务帐户用于请求一个短期访问令牌,该令牌允许您以该服务帐户的身份进行操作,而无需访问其私钥。
或者,您可以使用 gcloud CLI 授予模拟访问权限:
gcloud iam service-accounts add-iam-policy-binding <YOUR_SA_EMAIL> --member="serviceAccount:credentials-sa@wf-production-netapp.iam.gserviceaccount.com" --role="roles/iam.serviceAccountTokenCreator" --project=<YOUR_PROJECT_ID>+
对于暂存环境,请使用 credentials-sa@wf-staging-netapp.iam.gserviceaccount.com`而不是生产服务帐户。将上述命令中的 `--member`参数值替换为 `serviceAccount:credentials-sa@wf-staging-netapp.iam.gserviceaccount.com。-
点击页面底部的“完成”按钮,然后继续下一步。
-
共享 VPC
在将使用服务帐户的每个其他 Google Cloud 项目中,请执行以下操作:
-
在_IAM 页面_中,从项目下拉菜单中选择共享 VPC 主机项目。
-
单击“添加主体”。
-
在“新主体”字段中,输入您的服务帐户的电子邮件地址。
-
从“选择角色”下拉菜单中,选择“* Google Cloud NetApp Volumes管理员*”角色。
-
单击“保存”。
或者,您可以使用 gcloud CLI 添加 IAM 策略绑定:
gcloud projects add-iam-policy-binding <SHARED_VPC_HOST_PROJECT_ID> --member="serviceAccount:<YOUR_SA_EMAIL>" --role="roles/netapp.admin"
详细步骤请参考Google Cloud文档:
故障排除
如果遇到错误,可能会强制执行 iam.disableCrossProjectServiceAccountUsage 策略。要解决此问题,请执行以下操作:
-
在 Google Cloud 控制台中,转到 "组织政策页面"。
-
找到“禁用跨项目服务帐户使用”策略并将其禁用。