使用 IAM 进行访问权限控制

本文档介绍 Pub/Sub Lite 的访问权限控制选项。Pub/Sub Lite 使用 Identity and Access Management 进行访问权限控制。

要向用户或应用授予 Pub/Sub Lite 资源的访问权限,请向应用使用的用户或服务账号授予至少一个预定义自定义角色。这些角色包括对 Pub/Sub Lite 资源执行特定操作的权限。

预定义角色

下表列出了可让您访问 Pub/Sub Lite 资源的预定义角色:

角色 名称 说明 权限
roles/pubsublite.admin Pub/Sub Lite Admin 拥有对精简版主题和精简版订阅的完整访问权限。 pubsublite.*
roles/pubsublite.editor Pub/Sub Lite Editor 修改精简版主题和精简版订阅,向精简版主题发布消息,以及接收来自精简版订阅的消息。 pubsublite.*
roles/pubsublite.publisher Pub/Sub Lite Publisher 向精简版主题发布消息。
  • pubsublite.topics.getPartitions
  • pubsublite.topics.publish
  • pubsublite.locations.openKafkaStream
  • roles/pubsublite.subscriber Pub/Sub Lite Subscriber 接收来自精简版订阅的消息。
    • pubsublite.operations.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.seek
    • pubsublite.subscriptions.setCursor
    • pubsublite.subscriptions.subscribe
    • pubsublite.topics.computeHeadCursor
    • pubsublite.topics.computeMessageStats
    • pubsublite.topics.computeTimeCursor
    • pubsublite.topics.getPartitions
    • pubsublite.topics.subscribe
    • pubsublite.locations.openKafkaStream
    roles/pubsublite.viewer Pub/Sub Lite Viewer 查看精简版主题和精简版订阅。
    • pubsublite.operations.get
    • pubsublite.operations.list
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.getCursor
    • pubsublite.subscriptions.list
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions

    自定义角色

    自定义角色可以包含您指定的任何权限。您可以创建包含执行特定管理操作权限的自定义角色,例如更新精简版主题或删除精简版订阅。如需创建自定义角色,请参阅创建和管理自定义角色

    下表列出了自定义角色示例:

    说明 权限
    创建和管理精简版预留。
    • pubsublite.reservations.create
    • pubsublite.reservations.update
    • pubsublite.reservations.get
    • pubsublite.reservations.list
    • pubsublite.reservations.delete
    创建和管理精简版主题。
    • pubsublite.topics.create
    • pubsublite.topics.update
    • pubsublite.topics.get
    • pubsublite.topics.getPartitions
    • pubsublite.topics.list
    • pubsublite.topics.listSubscriptions
    • pubsublite.topics.delete
    创建和管理精简版订阅。
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    • pubsublite.subscriptions.update
    • pubsublite.subscriptions.get
    • pubsublite.subscriptions.list
    • pubsublite.subscriptions.delete
    创建精简版主题和精简版订阅。
    • pubsublite.topics.create
    • pubsublite.subscriptions.create
    • pubsublite.topics.subscribe
    修改精简版主题和精简版订阅。
    • pubsublite.topics.update
    • pubsublite.subscriptions.update
    删除精简版主题和精简版订阅。
    • pubsublite.topics.delete
    • pubsublite.subscriptions.delete

    授予角色

    您可以授予角色在项目级层访问 Pub/Sub Lite 资源的权限。例如,您可以授予服务帐号查看项目中任何精简版主题的权限,但无法授予服务帐号查看单个精简版主题的权限。

    如需针对项目授予角色,您可以使用 Google Cloud 控制台或 Google Cloud CLI。

    控制台

    如需向用户、服务账号或其他成员授予角色,请按以下步骤操作:

    1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM

    1. 点击添加

    2. 输入用户、服务账号或其他成员的电子邮件地址。

    3. 选择角色。

    4. 点击保存

    gcloud

    如需向用户、服务账号或其他成员授予角色,请运行 gcloud projects add-iam-policy-binding 命令:

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=MEMBER \
    --role=ROLE_ID
    

    替换以下内容:

    您还可以获取当前 IAM 政策的 JSON 或 YAML 文件,向该文件添加多个角色或成员,然后更新该政策。如需读取和管理政策,请使用 Google Cloud CLI、IAM API 或 IAM。如需了解详情,请参阅以编程方式控制访问权限

    后续步骤