访问权限控制和权限

本页面介绍了如何使用 Cloud Identity and Access Management (IAM) 控制 Memorystore for Memcached 的项目访问和权限。

概览

借助 Cloud IAM,您可以精细地控制对特定 Google Cloud 资源的访问权限,还可以防止意外访问这些资源。如需详细了解角色和权限,请参阅 Cloud IAM 文档

Memorystore for Memcached 提供了一组预定义角色,旨在帮您轻松控制对 Memcached 资源的访问权限。如果预定义角色未提供您所需的权限,您还可以创建自己的自定义角色。此外,旧版原初角色(Editor、Viewer 和 Owner)仍可供您使用,但这些角色提供的控制不如 Memorystore for Memcached 角色那样精细。具体而言,原初角色提供的是对整个 Google Cloud 资源的访问权限,而不仅仅是对 Memorystore for Memcached 的访问权限。如需详细了解原初角色,请参阅原初角色

权限和角色

本部分汇总了 Memorystore for Memcached 支持的各种权限和角色。

预定义角色

Memorystore for Memcached 提供了预定义角色,您可以使用这些角色为项目成员提供更精细的权限。您授予项目成员的角色决定了该成员可以执行的操作。项目成员可以是个人、群组或服务帐号

项目所有者可以向同一项目成员授予多个角色,并且可以随时更改这些角色。

范围越广的角色定义的权限范围越窄。例如,Memcached Editor 角色不但拥有 Memcached Viewer 角色的所有权限,而且还添加了 Memcached Editor 角色的若干权限。同样,Memcached Admin 角色不但拥有 Memcached Editor 角色的所有权限,而且还添加了一些专有权限。

原初角色(Owner、Editor、Viewer)提供对整个 Google Cloud 的权限。Memorystore for Memcached 专有角色仅提供 Memorystore for Memcached 权限,但以下 Google Cloud 权限除外,因为这些是 Google Cloud 常规使用所需的权限:

resourcemanager.projects.get
resourcemanager.projects.list

下表列出了适用于 Memorystore for Memcached 的预定义角色及其所含的 Memorystore for Memcached 权限:

角色 姓名 Memcached 权限 说明

roles/owner

所有者

memcache.*

对所有 Google Cloud 资源拥有完整访问权限和控制权;可以管理用户访问权限

roles/editor

编辑器 除以下权限以外的所有 memcache 权限: *.getIamPolicy.setIamPolicy 对所有 Google Cloud 和 Memcached 资源拥有读写权限(拥有完全控制权,但不能修改权限)

roles/viewer

查看者

memcache.*.get memcache.*.list

对所有 Google Cloud 资源(包括 Memcached 资源)拥有只读权限

roles/memcache.admin

Memcached Admin

memcache.*

对所有 Memorystore for Memcached 资源拥有完全控制权。

roles/memcache.editor

Memcached Editor 除以下权限以外的所有 memcache 权限

memcache.instances.create memcache.instances.delete

管理 Memorystore for Memcached 实例。无法创建或删除实例。

roles/memcache.viewer

Memcached Viewer 除以下权限以外的所有 memcache 权限

memcache.instances.create memcache.instances.delete memcache.instances.update memcache.operations.delete memcache.instances.applyParameters memcache.instances.updateParameters

拥有对所有 Memorystore for Memcached 资源的只读权限。

权限及其对应的角色

下表列出了 Memorystore for Memcached 支持的权限以及包含该权限的 Memorystore for Memcached 角色:

权限 Memcached 角色 传统角色

memcache.instances.list

Memcached Admin
Memcached Editor
Memcached Viewer
阅读者

memcache.instances.get

Memcached Admin
Memcached Editor
Memcached Viewer
阅读者

memcache.instances.create

Memcached Admin 写入者

memcache.instances.update

Memcached Admin
Memcached Editor
写入者

memcache.instances.delete

Memcached Admin 写入者

memcache.instances.applyParameters

Memcached Admin
Memcached Editor
写入者

memcache.instances.updateParameters

Memcached Admin
Memcached Editor
写入者

memcache.locations.list

Memcached Admin
Memcached Editor
Memcached Viewer
阅读者

memcache.locations.get

Memcached Admin
Memcached Editor
Memcached Viewer
阅读者

memcache.operations.list

Memcached Admin
Memcached Editor
Memcached Viewer
阅读者

memcache.operations.get

Memcached Admin
Memcached Editor
Memcached Viewer
阅读者

memcache.operations.delete

Memcached Admin
Memcached Editor
写入者

自定义角色

如果预定义角色不能满足您的独特业务需求,您可以使用指定的权限定义自己的自定义角色。在为 Memorystore for Memcached 创建自定义角色时,请务必同时包含 resourcemanager.projects.getresourcemanager.projects.list。如需了解详情,请参阅权限依赖项

Cloud Console 中常见任务所需的权限

为了让用户能够通过 Cloud Console 使用 Memorystore for Memcached,用户的角色必须包含 resourcemanager.projects.getresourcemanager.projects.list 权限。

下表提供了 Cloud Console 中一些常见任务所需的其他权限:

任务 其他必需权限
显示实例列表页面

memcache.instances.get
memcache.instances.list

创建和修改实例

memcache.instances.create
memcache.instances.get
memcache.instances.list
memcache.instances.update
memcache.instances.applyParameters
memcache.instances.updateParameters
compute.networks.list

删除实例

memcache.instances.delete
memcache.instances.get
memcache.instances.list

使用 Cloud Shell 连接到实例

memcache.instances.get
memcache.instances.list
memcache.instances.update

查看实例信息

memcache.instances.get
monitoring.timeSeries.list

gcloud 命令所需的权限

为了让用户能够通过 gcloud 命令使用 Memorystore for Memcached,用户的角色必须包含 resourcemanager.projects.getresourcemanager.projects.list 权限。

下表列出了调用 gcloud 命令的用户必须对各个 gcloud beta memcache 子命令拥有的权限:

命令 所需权限
gcloud beta memcache instances create

memcache.instances.get
memcache.instances.create

gcloud beta memcache instances delete

memcache.instances.delete

gcloud beta memcache instances update

memcache.instances.get
memcache.instances.update
memcache.instances.updateParameters

gcloud beta memcache instances list

memcache.instances.list

gcloud beta memcache instances describe

memcache.instances.get

gcloud beta memcache instances apply-parameters

memcache.instances.applyParameters

gcloud beta memcache operations list

memcache.operations.list

gcloud beta memcache operations describe

memcache.operations.get

gcloud beta memcache regions list

memcache.locations.list

gcloud beta memcache regions describe

memcache.locations.get

gcloud beta memcache zones list

memcache.locations.list

API 方法所需的权限

下表列出了用户在调用 Memorystore for Memcached API 中的每种方法或通过使用该 API 的 Google Cloud 工具(例如 Cloud Console 或 gcloud 命令行工具)执行任务时必须具备的权限:

方法 所需权限

locations.get

memcache.locations.get

locations.list

memcache.locations.list

instances.create

memcache.instances.create

instances.delete

memcache.instances.delete

instances.get

memcache.instances.get

instances.list

memcache.instances.list

instances.patch

memcache.instances.update

instances.updateParameters

memcache.instances.updateParameters

instances.applyParameters

memcache.instances.applyParameters

operations.get

memcache.operations.get

operations.list

memcache.operations.list

后续步骤