Zugriffssteuerung mit IAM

Überblick

Die Live Stream API verwendet für die Zugriffssteuerung die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM).

Sie können die Zugriffssteuerung für die Live Stream API auf Projektebene konfigurieren. Beispielsweise können Sie Entwicklern Zugriff gewähren, um alle Ereignisse in einem Projekt aufzulisten und abzurufen.

Eine ausführliche Beschreibung von IAM und den entsprechenden Funktionen finden Sie in der IAM-Dokumentation. Lesen Sie insbesondere den Abschnitt IAM-Richtlinien verwalten.

Der Aufrufer muss für jede Methode der Live Stream API die erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Berechtigungen und Rollen.

Berechtigungen

In diesem Abschnitt werden die von IAM unterstützten Live Stream API-Berechtigungen zusammengefasst.

Erforderliche Berechtigungen

In den folgenden Tabellen sind die IAM-Berechtigungen aufgeführt, die mit der Live Stream API verknüpft sind.

Name der Asset-Methode Erforderliche Berechtigungen
assets.create livestream.assets.create für den übergeordneten Standort, der eine bestimmte Kombination aus Google Cloud-Projekt und Datenspeicherort ist.
assets.delete livestream.assets.delete für die Asset-Ressource.
assets.get livestream.assets.get für die Asset-Ressource.
assets.list livestream.assets.list für den übergeordneten Standort, der eine bestimmte Kombination aus Google Cloud-Projekt und Datenspeicherort ist.
Methodenname des Channels Erforderliche Berechtigungen
channels.create livestream.channels.create für den übergeordneten Standort, der eine bestimmte Kombination aus Google Cloud-Projekt und Datenspeicherort ist.
channels.delete livestream.channels.delete für die Kanalressource.
channels.get livestream.channels.get für die Kanalressource.
channels.list livestream.channels.list für den übergeordneten Standort, der eine bestimmte Kombination aus Google Cloud-Projekt und Datenspeicherort ist.
channels.patch livestream.channels.update für die Kanalressource.
channels.start livestream.channels.start für die Kanalressource.
channels.stop livestream.channels.stop für die Kanalressource.
Name der Clips-Methode Erforderliche Berechtigungen
channels.clips.create livestream.clips.create für den übergeordneten Kanal für die Ressource.
channels.clips.get livestream.clips.get für die Clipressource.
channels.clips.list livestream.clips.list für den übergeordneten Kanal für die Ressource.
Name der Ereignismethode Erforderliche Berechtigungen
channels.events.create livestream.events.create für den übergeordneten Kanal für die Ressource.
channels.events.delete livestream.events.delete für die Ereignisressource.
channels.events.get livestream.events.get für die Ereignisressource.
channels.events.list livestream.events.list für den übergeordneten Kanal für die Ressource.
Name der Eingabemethode Erforderliche Berechtigungen
inputs.create livestream.inputs.create für den übergeordneten Standort, der eine bestimmte Kombination aus Google Cloud-Projekt und Datenspeicherort ist.
inputs.delete livestream.inputs.delete für die Eingaberessource.
inputs.get livestream.inputs.get für die Eingaberessource.
inputs.list livestream.inputs.list für den übergeordneten Standort, der eine bestimmte Kombination aus Google Cloud-Projekt und Datenspeicherort ist.
inputs.patch livestream.inputs.update für die Eingaberessource.
Name der Pools-Methode Erforderliche Berechtigungen
pools.get livestream.pools.get für die Poolressource.
pools.patch livestream.pools.patch für die Poolressource.

Rollen

In der folgenden Tabelle sind die IAM-Rollen der Live Stream API einschließlich der mit jeder Rolle verknüpften Berechtigungen aufgeführt:

IAM-Rolle Berechtigungen

(roles/livestream.viewer)

Lesezugriff auf Livestream-Ressourcen.

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

livestream.clips.get

livestream.clips.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)

Vollständiger Zugriff auf Livestream-Ressourcen.

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.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

Weitere Informationen zu Rollen finden Sie hier.

Zugriff auf Cloud Storage

Standardmäßig hat die Live Stream API Zugriff auf alle Cloud Storage-Buckets Ihres Projekts. Wenn Sie Ihr erstes Livestreaming-Ereignis erstellen, erstellt die Live Stream API ein Dienstkonto mit der folgenden Namenskonvention:

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

PROJECT_NUMBER ist die Nummer Ihres Projekts mit aktivierter Live Stream API. Diesem Dienstkonto wird die Rolle des Livestream-Dienst-Agents und die folgenden Berechtigungen gewährt:

  • Dateien in den Cloud Storage-Buckets des Projekts lesen
  • Dateien in die Cloud Storage-Buckets des Projekts hochladen
  • Dateien in den Cloud Storage-Buckets des Projekts löschen
  • Dateien und zugehörige Metadaten in den Cloud Storage-Buckets des Projekts auflisten

Zugriff einschränken

Wenn Sie diesen Zugriff auf Ihre Cloud Storage-Buckets beschränken möchten, entfernen Sie die Rolle des Livestream-Dienst-Agents aus dem Dienstkonto und ersetzen Sie sie durch einen detaillierteren Zugriff. Gehen Sie so vor:

  1. Rufen Sie in der Google Cloud Console die Seite IAM (Tab Berechtigungen) auf.
  2. Suchen Sie das Dienstkonto mit der Rolle „Live-Stream-Dienst-Agent“ und klicken Sie auf die Schaltfläche „Bearbeiten“.
  3. Löschen Sie die Rolle „Live Stream Service Agent“ aus dem Dienstkonto.
  4. Gewähren Sie jedem einzelnen Cloud Storage-Bucket Zugriff auf das Dienstkonto:
    1. Zum Cloud Storage-Browser
    2. Klicken Sie auf einen Bucket.
    3. Wählen Sie den Tab Berechtigungen aus.
    4. Klicken Sie auf Hinzufügen.
    5. Geben Sie im Feld Neue Hauptkonten den Namen des Dienstkontos ein.
    6. Wählen Sie unter Rolle die Rolle Storage-Objekt-Administrator aus.
    7. Klicken Sie auf Speichern. Die Live Stream API hat jetzt Zugriff auf den Bucket.