存取其他專案中的資源

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

本頁面說明如何存取位於 Cloud Composer 環境以外的Google Cloud 專案資源。

如果您想使用某個專案中的服務帳戶,在另一個專案中執行環境,請參閱「使用其他專案中的服務帳戶」。

如要使用 Airflow 運算子與 Cloud Composer 環境互動,包括其他專案中的環境,請參閱「在其他環境和專案中觸發 DAG」一文。

建議您以以下方式存取其他 Google Cloud 專案中的資源:

  1. 在 DAG 中,使用環境中預先設定的預設連線。

    舉例來說,許多Google Cloud 運算子都會使用 google_cloud_default 連線,而且在您建立環境時會自動設定。

  2. 將額外的 IAM 權限和角色授予環境的服務帳戶,讓該帳戶能夠存取其他專案中的資源。

判斷環境的服務帳戶

如要判斷環境的服務帳戶,請按照下列步驟操作:

主控台

  1. 前往 Google Cloud 控制台的「Environments」頁面。

    前往「環境」

  2. 在環境清單中,按一下環境名稱。「環境詳細資料」頁面隨即開啟。

  3. 前往「環境設定」分頁。

  4. 環境的服務帳戶會列在「Service account」欄位中。

    值是電子郵件地址,例如 service-account-name@example-project.iam.gserviceaccount.com

gcloud

gcloud composer environments describe ENVIRONMENT_NAME \
    --location LOCATION \
    --format="get(config.nodeConfig.serviceAccount)"

值是電子郵件地址,例如 service-account-name@example-project.iam.gserviceaccount.com

授予 IAM 角色和權限,以便存取其他專案中的資源

環境的服務帳戶需要存取其他專案資源的權限。這些角色和權限可能會因您要存取的資源而異。

存取特定資源

建議您為特定資源 (例如位於不同專案中的單一 Cloud Storage 值區) 授予角色和權限。在這種方法中,您會使用資源型存取權搭配條件式角色繫結。

如要存取特定資源,請按照下列步驟操作:

  1. 請按照設定以資源為基礎的存取權指南操作。
  2. 授予角色和權限時,請將環境的服務帳戶指定為實體。

存取資源類型

您也可以根據資源類型 (例如位於其他專案中的所有 Cloud Storage 值區) 授予角色和權限。

如要存取資源類型,請按照下列步驟操作:

  1. 請按照管理其他資源的存取權指南操作。
  2. 授予角色和權限時,請將環境的服務帳戶指定為實體。

授予必要權限和角色後,您就可以使用與環境所在專案相同的預設 Airflow 連線,存取其他專案中的資源。

後續步驟