Zugriffssteuerung

Auf dieser Seite werden die Möglichkeiten der Zugriffssteuerung in Cloud Composer beschrieben und es wird erklärt, wie Rollen zugewiesen werden.

Übersicht

Cloud Composer verwendet für die Zugriffssteuerung Identitäts- und Zugriffsverwaltung (IAM).

Eine ausführliche Beschreibung von IAM und den entsprechenden Funktionen finden Sie in der IAM-Dokumentation.

Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die Berechtigungen für die Airflow-Weboberfläche auch über den Zugriff hinaus steuern. Weitere Informationen finden Sie unter Rollenbasierte Zugriffssteuerung von Airflow.

Informationen zu Dienstkonten für Cloud Composer-Umgebungen

Beim Erstellen einer Umgebung geben Sie ein Dienstkonto an. Dieses Dienstkonto führt GKE-Knoten Ihrer Cloud Composer-Umgebung aus.

Standardmäßig werden Cloud Composer-Umgebungen mit dem Compute Engine-Standarddienstkonto ausgeführt. Dieses von Google verwaltete Dienstkonto verfügt über umfassende Berechtigungen, in der Regel die grundlegende Rolle Bearbeiter.

Wir empfehlen, ein nutzerverwaltetes Dienstkonto für Cloud Composer-Umgebungen einzurichten. Weisen Sie diesem Konto eine für Cloud Composer spezifische Rolle zu. Geben Sie dieses Dienstkonto dann beim Erstellen neuer Umgebungen an.

Informationen zu Rollen für Cloud Composer-Nutzer

Zum Ausführen eines Umgebungsvorgangs muss ein Nutzer ausreichende Berechtigungen haben. Wenn Sie beispielsweise eine neue Umgebung erstellen möchten, benötigen Sie die Berechtigung composer.environments.create.

Bei Cloud Composer werden einzelne Berechtigungen in Rollen gruppiert. Sie können diese Rollen den Mitgliedern Ihres Projekts zuweisen.

Wenn Sie die Rolle Projektbearbeiter haben, können Sie alle Umgebungsvorgänge ausführen. Diese Rolle verfügt jedoch über umfassende Berechtigungen. Für Nutzer, die mit Umgebungen arbeiten, empfehlen wir die Verwendung von Rollen, die für Cloud Composer spezifisch sind. Auf diese Weise können Sie den Umfang der Berechtigungen einschränken und Mitgliedern Ihres Projekts verschiedene Zugriffsebenen zuweisen. Beispielsweise kann ein Nutzer Berechtigungen zum Erstellen, Aktualisieren, Aktualisieren und Löschen von Umgebungen haben, während ein anderer Nutzer nur Umgebungen ansehen und auf die Airflow-Weboberfläche zugreifen kann.

Einem von Nutzern verwalteten Dienstkonto Rollen zuweisen

Für ein nutzerverwaltetes Dienstkonto, das Cloud Composer-Umgebungen ausführt:

  • Weisen Sie für eine öffentliche IP-Konfiguration die Rolle Composer-Worker (composer.worker) zu.
  • Für eine private IP-Konfiguration:
    1. Weisen Sie die Rolle Composer-Worker (composer.worker) zu.
    2. Weisen Sie die Rolle Dienstkontonutzer (iam.serviceAccountUser) zu.

Nutzern Rollen zuweisen

Abhängig von der Zugriffsebene, die Sie für Cloud Composer-Umgebungen bereitstellen möchten, erteilen Sie Mitgliedern Ihres Projekts die folgenden Berechtigungen.

Umgebungen und Umgebungs-Buckets verwalten

Für einen Nutzer, der Umgebungen anzeigen, erstellen, aktualisieren, aktualisieren und löschen, Objekte (z. B. DAG-Dateien) in den Umgebungs-Buckets verwalten und die Airflow-Weboberfläche aufrufen kann:

  1. Weisen Sie die Rolle Administrator für Umgebung und Storage-Objekte (composer.environmentAndStorageObjectAdmin) zu.
  2. Weisen Sie die Rolle Dienstkontonutzer (iam.serviceAccountUser) zu.

Umgebungen verwalten

Für einen Nutzer, der Umgebungen anzeigen, erstellen, aktualisieren, aktualisieren und löschen kann, und außerdem auf die Airflow-Weboberfläche zugreifen:

  1. Weisen Sie die Rolle Composer-Administrator (composer.admin) zu.
  2. Weisen Sie die Rolle Dienstkontonutzer (iam.serviceAccountUser) zu.

Umgebungen ansehen und Umgebungs-Buckets verwalten

Für einen Nutzer, der Umgebungen aufrufen kann, rufen Sie die Airflow-Weboberfläche auf und verwalten Objekte in den Umgebungs-Buckets (z. B. zum Hochladen neuer DAG-Dateien):

  1. Weisen Sie die Rolle Umgebungsnutzer- und Storage-Objekt-Betrachter (composer.environmentAndStorageObjectViewer) zu.
  2. Weisen Sie die Rolle Storage-Objekt-Administrator (storage.objectAdmin) zu.

Umgebungen und Umgebungs-Buckets aufrufen

Gewähren Sie einem Nutzer, der Umgebungen ansehen kann, die Airflow-Weboberfläche und die Objekte in Umgebungs-Buckets. Weisen Sie dazu den Umgebungsnutzer- und Storage-Objekt-Betrachter (composer.environmentAndStorageObjectViewer) zu. .

Umgebungen ansehen

Weisen Sie einem Nutzer, der Umgebungen ansehen und auf die Airflow-Weboberfläche zugreifen kann, die Rolle Composer-Nutzer (composer.user) zu.

Berechtigungen zur Verwendung von gcloud mit Umgebungen zuweisen

Die folgenden Berechtigungen sind erforderlich, um das gcloud-Befehlszeilentool mit Cloud Composer-Umgebungen zu verwenden, z. B. um Befehle der Airflow-Befehlszeile auszuführen.

Wenn Sie Umgebungen oder Umgebungs-Buckets mit gcloud composer-Befehlen verwalten möchten, benötigen Sie auch eine Rolle mit ausreichenden Berechtigungen.

Sie benötigen die folgenden Berechtigungen, um gcloud mit Cloud Composer-Umgebungen zu verwenden:

  • composer.environments.get
  • container.clusters.get
  • container.clusters.list
  • container.clusters.getCredentials

Rollen

Rolle Titel Beschreibung Berechtigungen Niedrigste Ressource
roles/composer.ServiceAgentV2Ext Dienst-Agent-Erweiterung für die Cloud Composer v2 API Die Dienst-Agent-Erweiterung für die Cloud Composer v2 API ist eine zusätzliche Rolle, die zum Verwalten von Composer v2-Umgebungen erforderlich ist.
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
roles/composer.admin Composer-Administrator Bietet uneingeschränkte Kontrolle über Cloud Composer-Ressourcen.
  • composer.*
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Projekt
roles/composer.environmentAndStorageObjectAdmin Administrator für Umgebung und Storage-Objekte Bietet uneingeschränkte Kontrolle über Cloud Composer-Ressourcen und die Objekte in allen Projekt-Buckets.
  • composer.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.*
Projekt
roles/composer.environmentAndStorageObjectViewer Umgebungsnutzer und Betrachter von Storage-Objekten Bietet die Berechtigung zum Auflisten und Abrufen von Cloud Composer-Umgebungen und -Vorgängen. Bietet Lesezugriff auf Objekte in allen Projekt-Buckets.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • storage.objects.get
  • storage.objects.list
Projekt
roles/composer.sharedVpcAgent Composer-Agent für freigegebene VPC Rolle, die dem Dienstkonto des Composer-Agents im Hostprojekt der freigegebenen VPC zugewiesen wurde
  • compute.networks.access
  • compute.networks.addPeering
  • compute.networks.get
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.networks.removePeering
  • compute.networks.updatePeering
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regions.*
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.zones.*
roles/composer.user Composer-Nutzer Berechtigung zum Auflisten und Abrufen von Cloud Composer-Umgebungen und -Vorgängen.
  • composer.environments.get
  • composer.environments.list
  • composer.imageversions.*
  • composer.operations.get
  • composer.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
Projekt
roles/composer.worker Composer-Worker Berechtigung zum Ausführen einer VM in einer Cloud Composer-Umgebung. Für Dienstkonten bestimmt.
  • artifactregistry.*
  • cloudbuild.builds.create
  • cloudbuild.builds.get
  • cloudbuild.builds.list
  • cloudbuild.builds.update
  • cloudbuild.workerpools.use
  • container.*
  • containeranalysis.occurrences.create
  • containeranalysis.occurrences.delete
  • containeranalysis.occurrences.get
  • containeranalysis.occurrences.list
  • containeranalysis.occurrences.update
  • logging.logEntries.create
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.*
  • monitoring.timeSeries.*
  • pubsub.schemas.attach
  • pubsub.schemas.create
  • pubsub.schemas.delete
  • pubsub.schemas.get
  • pubsub.schemas.list
  • pubsub.schemas.validate
  • pubsub.snapshots.create
  • pubsub.snapshots.delete
  • pubsub.snapshots.get
  • pubsub.snapshots.list
  • pubsub.snapshots.seek
  • pubsub.snapshots.update
  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.list
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.detachSubscription
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.topics.publish
  • pubsub.topics.update
  • pubsub.topics.updateTag
  • remotebuildexecution.blobs.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • source.repos.get
  • source.repos.list
  • storage.buckets.create
  • storage.buckets.get
  • storage.buckets.list
  • storage.objects.*
Projekt

Einfache Rollen

Rolle Titel Beschreibung Berechtigungen Niedrigste Ressource
roles/owner Inhaber Einfache Rolle, die die vollständige Kontrolle über Cloud Composer-Ressourcen ermöglicht. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actAs
Projekt
roles/editor Editor Einfache Rolle, die die vollständige Kontrolle über Cloud Composer-Ressourcen ermöglicht. composer.operations.list
composer.operations.get
composer.operations.delete
composer.environments.list
composer.environments.get
composer.environments.delete
composer.environments.update
composer.environments.create
iam.serviceAccounts.actAs
Projekt
roles/reader Betrachter Einfache Rolle, mit der Nutzer Cloud Composer-Ressourcen auflisten und abrufen können. composer.operations.list
composer.operations.get
composer.environments.list
composer.environments.get
Projekt

Berechtigungen

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die der Aufrufer haben muss, um die einzelnen API-Methoden in der Cloud Composer API aufzurufen oder um Aufgaben mit Google Cloud-Tools auszuführen, die die API verwenden (z. B. die Google Cloud Console oder das Cloud SDK) ).

Methode Berechtigung
environments.create composer.environments.create und iam.serviceAccounts.actAs für das Dienstkonto der Umgebung.
environments.delete composer.environments.delete
environments.get composer.environments.get
environments.list composer.environments.list
environments.update composer.environments.update
operations.delete composer.operations.delete
operations.get composer.operations.get
operations.list composer.operations.list

Nächste Schritte