存取其他專案中的資源

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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

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

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

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

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

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

判斷環境的服務帳戶

如要判斷環境的服務帳戶,請執行下列操作:

主控台

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

    前往「環境」

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

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

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

    這個值是電子郵件地址,例如 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 連線,存取其他專案中的資源。

後續步驟