使用 IAM 控管存取權

總覽

Live Stream API 會使用 身分與存取權管理 (IAM) 控管存取權。

您可以在專案層級設定 Live Stream API 的存取權控管機制。舉例來說,您可以授予開發人員權限,讓他們列出及取得專案中的所有事件。

如需 IAM 及其功能的詳細說明,請參閱 身分與存取權管理說明文件。特別是管理 IAM 政策一節。

每個 Live Stream API 方法都要求呼叫者具備必要權限,詳情請參閱「權限」和「角色」。

權限

本節概述 IAM 支援的 Live Stream API 權限。

所需權限

下表列出與 Live Stream API 相關的 IAM 權限。

資產方法名稱 所需權限
assets.create 父項位置的 livestream.assets.create,這是特定 Google Cloud 專案和資料位置組合。
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
夾扣方法名稱 所需權限
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 父項位置的 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 在輸入資源上。
集區方法名稱 所需權限
pools.get 集區資源的 livestream.pools.get
pools.patch 集區資源的 livestream.pools.patch

角色

下表列出 Live Stream API 身分與存取權管理角色,以及各角色具備的權限:

IAM 角色 權限

(roles/livestream.viewer)

具備直播資源的讀取權限。

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

livestream.clips.get

livestream.clips.list

livestream.dvrSessions.get

livestream.dvrSessions.list

livestream.events.get

livestream.events.list

livestream.inputs.get

livestream.inputs.list

livestream.locations.*

  • livestream.locations.get
  • livestream.locations.list

livestream.operations.get

livestream.operations.list

livestream.pools.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/livestream.editor)

具備直播資源的完整存取權。

livestream.*

  • livestream.assets.create
  • livestream.assets.delete
  • livestream.assets.get
  • livestream.assets.list
  • livestream.channels.create
  • livestream.channels.delete
  • livestream.channels.get
  • livestream.channels.list
  • livestream.channels.start
  • livestream.channels.stop
  • livestream.channels.update
  • livestream.clips.create
  • livestream.clips.delete
  • livestream.clips.get
  • livestream.clips.list
  • livestream.dvrSessions.create
  • livestream.dvrSessions.delete
  • livestream.dvrSessions.get
  • livestream.dvrSessions.list
  • livestream.dvrSessions.update
  • livestream.events.create
  • livestream.events.delete
  • livestream.events.get
  • livestream.events.list
  • livestream.inputs.create
  • livestream.inputs.delete
  • livestream.inputs.get
  • livestream.inputs.list
  • livestream.inputs.update
  • livestream.locations.get
  • livestream.locations.list
  • livestream.operations.cancel
  • livestream.operations.delete
  • livestream.operations.get
  • livestream.operations.list
  • livestream.pools.get
  • livestream.pools.update

resourcemanager.projects.get

resourcemanager.projects.list

如要進一步瞭解角色,請參閱「瞭解角色」。

存取 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 值區的存取權,請從服務帳戶中移除「直播服務代理人」角色,並以更精細的存取權取代。步驟如下:

  1. 前往 Google Cloud 控制台的「IAM」頁面 (「Permissions」分頁)。
  2. 找出具備「直播服務代理人」角色的服務帳戶,然後選取「編輯」按鈕。
  3. 從服務帳戶中刪除直播服務代理程式角色。
  4. 為每個個別 Cloud Storage 值區授予服務帳戶存取權:
    1. 前往「Cloud Storage Browser」(Cloud Storage 瀏覽器) 頁面。
    2. 按一下值區。
    3. 選取 [權限] 分頁標籤。
    4. 按一下「新增」。
    5. 在「新增主體」欄位中,輸入服務帳戶的名稱。
    6. 在「角色」下方,選取「Storage 物件管理員」
    7. 按一下 [儲存]。Live Stream API 現在可以存取桶。