Auf Ressourcen in einem anderen Projekt zugreifen

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:

  1. Verwenden Sie in Ihren DAGs die Standardverbindungen, die in Ihrer Umgebung vorkonfiguriert sind.

    Die Verbindung google_cloud_default wird beispielsweise von vielen Google Cloud Operatoren verwendet und automatisch konfiguriert, wenn Sie eine Umgebung erstellen.

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

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

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

  1. Folgen Sie der Anleitung Ressourcenbasierten Zugriff konfigurieren.
  2. 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:

  1. Folgen Sie der Anleitung Zugriff auf andere Ressourcen verwalten.
  2. 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