概览
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 权限。
素材资源方法名称 | 所需权限 |
---|---|
assets.create
|
父级位置(即特定的 Google Cloud 项目和数据位置组合)上的 livestream.assets.create 权限。 |
assets.delete |
针对资产资源的 livestream.assets.delete 权限。 |
assets.get |
针对资产资源的 livestream.assets.get 权限。 |
assets.list
|
针对父级位置的 livestream.assets.list ,该命名空间
是特定的 Google Cloud 项目和数据位置
组合 |
渠道方法名称 | 所需权限 |
---|---|
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 权限。 |
Clips 方法名称 | 所需权限 |
---|---|
channels.clips.create
|
资源父级渠道的 livestream.clips.create 。 |
channels.clips.delete |
剪辑资源的 livestream.clips.delete 。 |
channels.clips.get |
剪辑资源的 livestream.clips.get 。 |
channels.clips.list
|
资源父级渠道的 livestream.clips.list 。 |
事件方法名称 | 所需权限 |
---|---|
channels.events.create
|
资源父级渠道的 livestream.events.create 。 |
channels.events.delete |
针对事件资源的 livestream.events.delete 权限。 |
channels.events.get |
针对事件资源的 livestream.events.get 权限。 |
channels.events.list
|
资源父级渠道的 livestream.events.list 。 |
输入方法名称 | 所需权限 |
---|---|
inputs.create
|
父级位置(即特定的 Google Cloud 项目和数据位置组合)上的 livestream.inputs.create 权限。 |
inputs.delete |
针对输入资源的 livestream.inputs.delete 。 |
inputs.get |
针对输入资源的 livestream.inputs.get 。 |
inputs.list
|
父级位置(即特定的 Google Cloud 项目和数据位置组合)上的 livestream.inputs.list 权限。 |
inputs.patch |
针对输入资源的 livestream.inputs.update 权限。 |
Pools 方法名称 | 所需权限 |
---|---|
pools.get |
对池塘资源的 livestream.pools.get 。 |
pools.patch |
对池塘资源的 livestream.pools.patch 。 |
角色
下表列出了 Live Stream API IAM 角色,包括与每个角色关联的权限:
IAM 角色 | 权限 |
---|---|
Live Stream Viewer( 拥有对直播资源的读取权限。 |
|
Live Stream Editor( 拥有对直播资源的完整访问权限。 |
|
如需详细了解角色,请参阅了解角色。
对 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 存储分区的这种访问权限,请移除此直播 Service Agent 角色,并将其替换为其他角色 以及精细控制访问权限请按照以下步骤操作:
- 前往 Google Cloud 控制台中的 IAM 页面(权限标签页)。
- 找到具有 Live Stream Service Agent 角色的服务账号,然后选择 修改按钮。
- 从服务账号中删除直播服务代理角色。
- 向服务账号授予对每个 Cloud Storage 存储分区的访问权限:
- 转到 Cloud Storage 浏览器页面。
- 点击一个存储分区。
- 选择权限标签页。
- 点击添加。
- 在新的主账号字段中,输入服务账号的名称。
- 在角色下,选择 Storage Object Admin。
- 点击保存。Live Stream API 现在可以访问 存储桶。