使用 IAM 控制访问权限

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

概览

Live Stream API 使用 Identity and Access Management (IAM) 进行访问权限控制。

您可以在项目层级为 Live Stream API 配置访问权限控制。例如,您可以授予开发者列出和获取项目中的所有事件的权限。

如需详细了解 IAM 及其功能,请参阅 IAM 文档。尤其应参阅管理 IAM 政策部分。

每种 Live Stream API 方法都要求调用方拥有必要的权限。如需了解详情,请参阅权限角色

权限

本部分汇总了 IAM 支持的 Live Stream API 权限。

所需权限

下表列出了与 Live Stream API 关联的 IAM 权限。

渠道方法名称 所需权限
channels.create 针对父级位置的 livestream.channels.create(特定 Google Cloud 项目和数据位置组合)。
channels.delete 针对频道资源的 livestream.channels.delete 权限。
channels.get 针对频道资源的 livestream.channels.get 权限。
channels.list 针对父级位置的 livestream.channels.list(特定 Google Cloud 项目和数据位置组合)。
channels.patch 针对频道资源的 livestream.channels.update 权限。
channels.start 针对频道资源的 livestream.channels.start 权限。
channels.stop 针对频道资源的 livestream.channels.stop 权限。
事件方法名称 所需权限
events.create 针对资源的父渠道的 livestream.events.create 权限。
events.delete 对活动资源拥有 livestream.events.delete 权限。
events.get 对活动资源拥有 livestream.events.get 权限。
events.list 针对资源的父渠道的 livestream.events.list 权限。
输入法名称 所需权限
inputs.create 父级位置上的 livestream.inputs.create(特定 Google Cloud 项目和数据位置组合)。
inputs.delete 针对输入资源的 livestream.inputs.delete 权限。
inputs.get 针对输入资源的 livestream.inputs.get 权限。
inputs.list 父级位置上的 livestream.inputs.list,即特定 Google Cloud 项目和数据位置组合。
inputs.patch 针对输入资源的 livestream.inputs.update 权限。

角色

下表列出了 Live Stream API IAM 角色,包括与每个角色相关联的权限:

Live Stream API 角色 权限
roles/livestream.viewer
  • livestream.channels.list
  • livestream.channels.get
  • livestream.events.list
  • livestream.events.get
  • livestream.inputs.list
  • livestream.inputs.get
roles/livestream.editor 所有 roles/livestream.viewer 权限,以及:
  • livestream.channels.create
  • livestream.channels.delete
  • livestream.channels.update
  • livestream.channels.start
  • livestream.channels.stop
  • livestream.events.create
  • livestream.events.delete
  • livestream.inputs.create
  • livestream.inputs.delete
  • livestream.inputs.update

如需详细了解角色,请参阅了解角色

访问 Cloud Storage

默认情况下,Live Stream API 可以访问您项目的所有 Cloud Storage 存储分区。当您创建第一个直播活动时,Live Stream API 使用以下命名惯例创建服务帐号:

service-PROJECT_NUMBER@gcp-sa-livestream.iam.gserviceaccount.com

PROJECT_NUMBER 是启用了 Live Stream API 的项目数量。此服务帐号会被授予直播服务代理角色,并有权执行以下操作:

  • 读取项目的 Cloud Storage 存储分区中的文件
  • 将文件上传到项目的 Cloud Storage 存储分区
  • 删除项目的 Cloud Storage 存储分区中的文件
  • 列出项目的 Cloud Storage 存储分区中的文件及其元数据

限制访问

如需限制对 Cloud Storage 存储分区的此类访问权限,请从服务帐号中移除 Live Stream Service Agent 角色,并将其替换为更精细的访问权限。请按照以下步骤操作:

  1. 转到 Google Cloud Console 中的 IAM 页面(权限标签页)。
  2. 找到具有直播服务代理角色的服务帐号,然后选择“修改”按钮。
  3. 从服务帐号中删除直播服务代理角色。
  4. 向服务帐号授予对每个 Cloud Storage 存储桶的访问权限:
    1. 转到 Cloud Storage 浏览器页面。
    2. 点击一个存储桶。
    3. 选择权限标签页。
    4. 点击添加
    5. 新的主帐号框中,输入服务帐号的名称。
    6. 角色下,选择 Storage Object Admin
    7. 点击保存。Live Stream API 现在可以访问该存储桶。