为 Google Cloud Data Store 服务帐户配置 IAM 细化权限
本节说明 Google Cloud 数据存储正常运行所需的步骤及 API 权限策略。这些权限可帮助您执行 Google Cloud 数据存储所要求的操作。提供使用此程序,您可以帮助服务帐户获取对 GCP API 的控制权并进行交互,从而将 GCP 云用作数据存储。
这里最重要的步骤是在项目级别创建服务帐户、创建自定义角色,然后将其与服务帐户关联。角色包含一组权限,允许 API 对 Google 云资源执行特定操作。必须在 VSB 云代理上安装 Arcserve UDP 代理的项目下创建服务帐户和自定义角色。
可以使用 Google 控制台创建该帐户并分配所需的权限。
请按下列步骤操作:
- 以管理员身份登录到 Google Cloud 控制台。
- 在“Welcome”(欢迎)屏幕上,单击“Create or select a project”(创建或选择项目)。
- 在“Select a resource”(选择资源)屏幕上,执行以下操作之一:
- 从现有项目列表中,选择您要在其中创建存储桶的项目。
- 如果您没有现有项目或想要创建新项目,请执行以下操作:
- 单击右上角的“New project”(新建项目)按钮。
-
- 键入以下详细信息并单击“Create”(创建):
- Project name(项目名称): 键入项目的名称。项目名称必须以字母开头,并且可以包含字母、数字和连字符。
- Organization(组织): 如果您的 Google Cloud 帐户与某个组织相关联,请从下拉列表中选择相应的组织。
- Location(位置): 位置用于指定将在其下创建新项目的 Google Cloud 资源层次结构节点。
- 项目即被创建并列在表中。
- 打开所需的项目。
- 验证在选定项目后是否显示了所需的项目显示板。
- 要使 Google Cloud 数据存储成功,必须为项目启用 云存储 API 。要启用此 API,请执行以下步骤:
- 在项目显示板中,从左上角的导航菜单中,转到“API & Services ”(API 与服务)>“ Enable APIs & Services”(启用 API 与服务)。
- 在“Search”(搜索)框中,输入“Cloud Storage API”(云存储 API),然后从表中选择 API(如果尚未启用,请单击“Enable API”(启用 API))。
- 单击 Google 控制台右上角的“Activate Cloud Shell”(激活云 Shell)图标
。 - 底部会打开一个 Cloud Shell 终端,如下图所示。
-
- 验证 shell 是否已设置为所需项目。如果未设置,请使用“gcloud config set project [项目 ID]”命令设置所需的项目。
- 将以下命令复制到记事本中,将 ROLE_NAME 编辑为所需值,并从记事本文件中复制整个命令并粘贴到 Cloud Shell 终端提示符中,然后按 Enter 键。
- 该命令将请求进行授权。键入 Y 以授权执行该命令,然后按 Enter 键。
- 该命令将在项目中创建一个名为 ROLE_NAME 的自定义角色(例如:udpvsbroles 或 UDPVSBRroles1),并授予其创建和管理实例的权限。角色的全名列在上述命令的输出中,格式如下:
- 创建自定义角色后,关闭 Cloud Shell 并返回到项目显示板。
- 从左侧导航菜单中,选择“IAM and Admin”(IAM 与管理),然后选择“Roles”(角色)。
-
- 验证您之前刚刚在 Cloud Shell 中创建的角色是否在此列出。
- 单击角色并验证是否列出了所有权限。
复制
gcloud iam roles create ROLE_NAME --project=$(echo $DEVSHELL_PROJECT_ID) --permissions=storage.bucketOperations.cancel,storage.bucketOperations.get,storage.bucketOperations.list,storage.buckets.create,storage.buckets.delete,storage.buckets.get,storage.buckets.list,storage.buckets.update,storage.folders.create,storage.folders.delete,storage.folders.get,storage.folders.list,storage.folders.rename,storage.managedFolders.create,storage.managedFolders.delete,storage.managedFolders.get,storage.managedFolders.list,storage.multipartUploads.abort,storage.multipartUploads.create,storage.multipartUploads.list,storage.multipartUploads.listParts,storage.objects.create,storage.objects.delete,storage.objects.get,storage.objects.list,storage.objects.move,storage.objects.updateprojects/PROJECT_ID/roles/ROLE_NAME
创建角色后,必须将该角色与服务帐户用户关联。有关详细信息,请参阅“创建服务帐户和私钥”。