Zugriffssteuerung mit IAM

Übersicht

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

Sie können die Zugriffssteuerung für die Transcoder API auf Projektebene konfigurieren. Beispielsweise können Sie Entwicklern Zugriff zum Auflisten und Abrufen aller Jobs 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 Transcoder API-Methode die erforderlichen Berechtigungen haben. Weitere Informationen finden Sie unter Berechtigungen und Rollen.

Berechtigungen

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

Erforderliche Berechtigungen

In den folgenden Tabellen sind die IAM-Berechtigungen aufgeführt, die der Transcoder API zugeordnet sind.

Jobmethode Erforderliche Berechtigungen
jobs.create transcoder.jobs.create für das übergeordnete Google Cloud-Projekt.
jobs.delete transcoder.jobs.delete für das übergeordnete Google Cloud-Projekt.
jobs.get transcoder.jobs.get für das übergeordnete Google Cloud-Projekt.
jobs.list transcoder.jobs.list für das übergeordnete Google Cloud-Projekt.
Jobvorlagenmethode Erforderliche Berechtigungen
jobTemplates.create transcoder.jobTemplates.create für das übergeordnete Google Cloud-Projekt.
jobTemplates.delete transcoder.jobTemplates.delete für das übergeordnete Google Cloud-Projekt.
jobTemplates.get transcoder.jobTemplates.get für das übergeordnete Google Cloud-Projekt.
jobTemplates.list transcoder.jobTemplates.list für das übergeordnete Google Cloud-Projekt.

Rollen

Die folgende Tabelle enthält die IAM-Rollen der Transcoder API sowie die mit jeder Rolle verknüpften Berechtigungen:

IAM-Rolle Berechtigungen

(roles/transcoder.viewer)

Betrachter aller Transcoder-Ressourcen

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobs.get

transcoder.jobs.list

(roles/transcoder.admin)

Uneingeschränkter Zugriff auf alle Transcoder-Ressourcen

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobs.create
  • transcoder.jobs.delete
  • transcoder.jobs.get
  • transcoder.jobs.list

Die Rollen roles/owner und roles/editor gewähren die mit der Rolle roles/transcoder.admin verknüpften Berechtigungen. Die Rolle roles/viewer gewährt Berechtigungen, die mit der Rolle roles/transcoder.viewer verbunden sind.

Die Rollen roles/owner, roles/editor und roles/viewer enthalten auch Berechtigungen für andere Google Cloud-Dienste. Weitere Informationen zu Rollen finden Sie hier.

Zugriff auf Cloud Storage und Pub/Sub

Standardmäßig hat die Transcoder API Zugriff auf alle Cloud Storage-Buckets und Pub/Sub-Themen Ihres Projekts. Wenn Sie Ihren ersten Job erstellen, erstellt die Transcoder API ein Dienstkonto mit der folgenden Namenskonvention:

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

PROJECT_NUMBER ist die Projektnummer Ihres Projekts mit aktivierter Transcoder API. Diesem Dienstkonto wurde die Rolle des Transcoder-Dienst-Agents zugewiesen und verfügt über die folgenden Berechtigungen:

  • Dateien in die Cloud Storage-Buckets Ihres Projekts herunterladen und hochladen
  • Statusaktualisierungen in Pub/Sub-Themen Ihres Projekts veröffentlichen

Zugriff einschränken

Entfernen Sie die Rolle „Transcoder-Dienst-Agent“ aus dem Dienstkonto und ersetzen Sie diese durch einen differenzierteren Zugriff. Gehen Sie so vor:

  1. Gehen Sie zur Seite IAM (Tab Berechtigungen) in der Google Cloud Console.
  2. Suchen Sie das Dienstkonto mit der Transcoder-Dienst-Agent-Rolle und wählen Sie die Schaltfläche „Bearbeiten“ aus.
  3. Löschen Sie die Rolle „Transcoder-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 Add.
    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 Transcoder API hat jetzt Zugriff auf den Bucket.
  5. (Optional) Gewähren Sie für jedes konfigurierte Pub/Sub-Thema Zugriff auf das Dienstkonto:
    1. Zur Seite Pub/Sub-Themen
    2. Klicken Sie auf ein Thema.
    3. Wählen Sie den Tab Berechtigungen aus.
    4. Klicken Sie auf Hauptkonto hinzufügen.
    5. Geben Sie im Feld Neue Hauptkonten den Namen des Dienstkontos ein.
    6. Wählen Sie unter Rolle die Option Pub/Sub-Publisher aus.
    7. Klicken Sie auf Speichern. Die Transcoder API hat jetzt Zugriff auf das Thema.