授予受限权限以执行导入和导出操作

本页面记录了您必须应用于用户帐号的最低 IAM 权限,以便用户可以导入或导出 RDB 备份。如果您不想将广泛的 IAM 角色及其关联权限授予某个用户帐号,则应在此类场景中使用这些最低权限。

如果您需要同时启用导入和导出的简单权限,请对需要导入或导出的用户帐号应用 Cloud Memorystore Redis Admin 角色和 Storage Admin 角色。

导入和导出所需的最低权限

您必须将下面列出的权限添加到为用户帐号指定的自定义角色,以便以最低权限执行导入和导出操作。如需了解如何创建自定义角色,请参阅创建自定义角色

此外,您还需要为实例的服务帐号创建另外一个自定义角色,并将其应用于 Cloud Storage 存储分区的存储分区级层权限。

如需查找实例的服务帐号,请运行以下命令并记下 persistenceIamIdentity 下列出的服务帐号:

gcloud redis instances describe [INSTANCE_ID] --region=[REGION]

该服务帐号将采用以下格式:“xxxxxxxxxxxx-compute@developer.gserviceaccount.com”。

服务帐号所需的权限

请注意,您只需在存储分区级层(而不是整个项目范围内)授予服务帐号的存储权限。如需查看说明,请参阅将成员添加到存储分区级层政策中

为您的服务帐号授予存储分区层级权限后,您可以忽略如下消息:“Memorystore 无法验证服务帐号 xxxxxxxxxxxx-compute@developer.gserviceaccount.com 是否具有导入/导出所需的权限。如需有关验证或更新权限的帮助,请与项目管理员联系。如需了解所需的权限,请参阅导入/导出权限文档。”如果您将下面列出的权限应用于用户帐号和服务帐号的自定义角色,则导入/导出将成功。

服务帐户的自定义角色的权限 使用 gcloud 导入 使用 gcloud 导出 使用 Cloud Console 导入 使用 Cloud Console 导出
storage.buckets.get
storage.objects.get X X
storage.objects.create X X
storage.objects.delete X 可选。
(授予覆盖现有 RDB 文件的权限)。
X 可选。
(授予覆盖现有 RDB 文件的权限)。

用户帐号所需的权限

用户帐号的自定义角色的权限 使用 gcloud 导入 使用 gcloud 导出 使用 Cloud Console 导入 使用 Cloud Console 导出
resourcemanager.projects.get X X
redis.instances.get
redis.instances.list X X X X
redis.instances.import X X
redis.instances.export X X
redis.operations.get X X
redis.operations.list X X
redis.operations.cancel
storage.buckets.list X X
storage.buckets.get X X
storage.objects.list X X
storage.objects.get X X

后续步骤