Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird beschrieben, wie Sie auf Ressourcen zugreifen, die sich in einem anderen Google Cloud Projekt als Ihrer Managed Airflow-Umgebung befinden.
Wenn Sie ein Dienstkonto aus einem Projekt verwenden möchten, um Umgebungen in einem anderen Projekt auszuführen, lesen Sie den Abschnitt Dienstkonto aus einem anderen Projekt verwenden.
Wenn Sie Airflow-Operatoren verwenden möchten, um mit Managed Airflow Umgebungen zu interagieren, einschließlich Umgebungen in anderen Projekten, lesen Sie den Abschnitt DAGs in anderen Umgebungen und Projekten auslösen.
Wir empfehlen, auf Ressourcen in anderen Google Cloud Projekten so zuzugreifen:
Verwenden Sie in Ihren DAGs die Standardverbindungen, die in Ihrer Umgebung vorkonfiguriert sind.
Die Verbindung
google_cloud_defaultwird beispielsweise von vielen Google Cloud Operatoren verwendet und automatisch konfiguriert, wenn Sie eine Umgebung erstellen.Gewähren Sie dem Dienstkonto Ihrer Umgebung zusätzliche IAM-Berechtigungen und ‑Rollen, damit es auf Ressourcen in einem anderen Projekt zugreifen kann.
Dienstkonto Ihrer Umgebung ermitteln
So ermitteln Sie das Dienstkonto Ihrer Umgebung:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Das Dienstkonto Ihrer Umgebung ist im Feld Dienstkonto aufgeführt.
Der Wert ist eine E-Mail-Adresse wie
service-account-name@example-project.iam.gserviceaccount.com.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="get(config.nodeConfig.serviceAccount)"
Der Wert ist eine E-Mail-Adresse wie service-account-name@example-project.iam.gserviceaccount.com.
IAM-Rollen und ‑Berechtigungen für den Zugriff auf Ressourcen in einem anderen Projekt gewähren
Das Dienstkonto Ihrer Umgebung benötigt Berechtigungen für den Zugriff auf Ressourcen in einem anderen Projekt. Diese Rollen und Berechtigungen können je nach Ressource, auf die Sie zugreifen möchten, unterschiedlich sein.
Auf eine bestimmte Ressource zugreifen
Wir empfehlen, Rollen und Berechtigungen für bestimmte Ressourcen zu gewähren, z. B. für einen einzelnen Cloud Storage-Bucket in einem anderen Projekt. Bei diesem Ansatz verwenden Sie ressourcenbasierten Zugriff mit bedingten Rollenbindungen.
So greifen Sie auf eine bestimmte Ressource zu:
- Folgen Sie der Anleitung Ressourcenbasierten Zugriff konfigurieren.
- Geben Sie beim Gewähren von Rollen und Berechtigungen das Dienstkonto Ihrer Umgebung als Hauptkonto an.
Auf einen Ressourcentyp zugreifen
Alternativ können Sie Rollen und Berechtigungen basierend auf dem Ressourcentyp gewähren, z. B. für alle Cloud Storage-Buckets in einem anderen Projekt.
So greifen Sie auf einen Ressourcentyp zu:
- Folgen Sie der Anleitung Zugriff auf andere Ressourcen verwalten.
- Geben Sie beim Gewähren von Rollen und Berechtigungen das Dienstkonto Ihrer Umgebung als Hauptkonto an.
Nachdem Sie die erforderlichen Berechtigungen und Rollen gewährt haben, können Sie mit denselben Airflow-Standardverbindungen, die Sie für den Zugriff auf Ressourcen in dem Projekt verwenden, in dem sich Ihre Umgebung befindet, auf Ressourcen in einem anderen Projekt zugreifen.
Nächste Schritte
- Zugriffssteuerung mit IAM
- Airflow-Verbindungen verwalten
- Beschränkungen von Ressourcenstandorten konfigurieren