Zugriffssteuerung mit IAM

Übersicht

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 zum Auflisten und Abrufen aller Ereignisse in einem Projekt gewähren.

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 Live Stream API-Methode die erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Berechtigungen und Rollen.

Berechtigungen

In diesem Abschnitt werden die von IAM unterstützten Berechtigungen für die Live Stream API 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 Speicherort, also eine bestimmte Kombination aus Google Cloud-Projekt und Speicherort.
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 Speicherort, also eine bestimmte Kombination aus Google Cloud-Projekt und Speicherort.
Name der Channels-Methode Erforderliche Berechtigungen
channels.create livestream.channels.create für den übergeordneten Speicherort, also eine bestimmte Kombination aus Google Cloud-Projekt und Speicherort.
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 Speicherort, also eine bestimmte Kombination aus Google Cloud-Projekt und Speicherort.
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 Channel der Ressource.
channels.clips.delete livestream.clips.delete für die Clipressource.
channels.clips.get livestream.clips.get für die Clipressource.
channels.clips.list livestream.clips.list für den übergeordneten Kanal der Ressource.
Name der Ereignismethode Erforderliche Berechtigungen
channels.events.create livestream.events.create für den übergeordneten Channel der 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 Channel der Ressource.
Name der Eingabemethode Erforderliche Berechtigungen
inputs.create livestream.inputs.create für den übergeordneten Speicherort, also eine bestimmte Kombination aus Google Cloud-Projekt und Speicherort.
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 Speicherort, also eine bestimmte Kombination aus Google Cloud-Projekt und Speicherort.
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 und die 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 deines Projekts. Wenn du dein erstes Livestreaming-Ereignis erstellst, wird mit der Live Stream API ein Dienstkonto mit der folgenden Namenskonvention erstellt:

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

PROJECT_NUMBER ist die Nummer Ihres Projekts, für das die Live Stream API aktiviert ist. Dieses Dienstkonto hat die Rolle „Livestream-Dienst-Agent“ und verfügt über die folgenden Berechtigungen:

  • Dateien in den Cloud Storage-Buckets Ihres Projekts lesen
  • Dateien in die Cloud Storage-Buckets Ihres Projekts hochladen
  • Dateien in den Cloud Storage-Buckets Ihres Projekts löschen
  • Dateien und ihre Metadaten in den Cloud Storage-Buckets Ihres Projekts auflisten

Zugriff einschränken

Wenn du diesen Zugriff auf deine Cloud Storage-Buckets einschränken möchtest, entferne die Rolle „Livestream-Dienst-Agent“ aus dem Dienstkonto und ersetze sie durch einen differenzierteren 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 „Livestream-Dienst-Agent“ und wählen Sie die Schaltfläche „Bearbeiten“ aus.
  3. Lösche die Rolle „Livestream-Dienst-Agent“ aus dem Dienstkonto.
  4. Gewähren Sie Zugriff auf das Dienstkonto für jeden einzelnen Cloud Storage-Bucket:
    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.