驗證 Dataform

本文說明如何以程式輔助方式向 Dataform 進行驗證。向 Dataform 進行驗證的方法,取決於您用來存取 API 的介面,以及執行程式碼的環境。

如要進一步瞭解 Google Cloud 驗證,請參閱「驗證方式」。

API 存取權

Dataform 支援程式輔助存取。您可以透過下列方式存取 API:

用戶端程式庫

Dataform 用戶端程式庫提供高階語言支援,可透過程式輔助方式向 Dataform 進行驗證。為驗證向 Google Cloud API 發出的呼叫,用戶端程式庫支援應用程式預設憑證 (ADC)。程式庫會在定義的一組位置中尋找憑證,並使用這些憑證驗證向 API 發出的要求。有了 ADC,您可以在各種環境 (例如本機開發環境或正式環境),為應用程式提供憑證,不用修改應用程式程式碼。

REST

您可以使用 gcloud CLI 憑證或應用程式預設憑證,向 Dataform API 進行驗證。如要進一步瞭解 REST 要求的驗證機制,請參閱「使用 REST 進行驗證」。如要瞭解憑證類型,請參閱「gcloud CLI 憑證和 ADC 憑證」。

為 Dataform 設定驗證機制

驗證機制的設定方式取決於執行程式碼的環境。

以下是最常用的驗證機制設定方式。如要瞭解更多驗證選項和相關資訊,請參閱「驗證方式」。

適用於本機開發環境

您可以透過下列方式,為本機開發環境設定憑證:

用戶端程式庫或第三方工具

在本機環境中設定應用程式預設憑證 (ADC)

  1. Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  2. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    登入畫面會隨即顯示。登入後,您的憑證會儲存在 ADC 使用的本機憑證檔案中。

如要進一步瞭解如何在本機環境中使用 ADC,請參閱「為本機開發環境設定 ADC」。

透過指令列發出 REST 要求

透過指令列發出 REST 要求時,只要在用於傳送要求的指令中加入 gcloud auth print-access-token,即可使用 gcloud CLI 憑證。

下列範例會列出指定專案的服務帳戶。您可以將相同模式用於任何 REST 要求。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您的 Google Cloud 專案 ID。

如要傳送要求,請展開以下其中一個選項:

 

如要進一步瞭解如何使用 REST 和 gRPC 進行驗證,請參閱「使用 REST 進行驗證」。如要瞭解本機 ADC 憑證與 gcloud CLI 憑證的差異,請參閱「gcloud CLI 驗證設定和 ADC 設定」。

服務帳戶模擬

在多數情況下,您可以使用使用者憑證,從本機開發環境進行驗證。如果無法這麼做,或者需要測試指派給服務帳戶的權限,可以使用服務帳戶模擬功能。您必須具備 iam.serviceAccounts.getAccessToken 權限,這項權限包含在服務帳戶權杖建立者 (roles/iam.serviceAccountTokenCreator) 身分與存取權管理角色中。

您可以使用 gcloud config set 指令,設定 gcloud CLI 來使用服務帳戶模擬功能:

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

對於特定語言,您可以使用服務帳戶模擬功能建立本機 ADC 檔案,供用戶端程式庫使用。這種做法僅適用於 Go、Java、Node.js 和 Python 用戶端程式庫,不適用於其他語言。如要使用服務帳戶模擬功能設定本機 ADC 檔案,請搭配 gcloud auth application-default login 指令使用 --impersonate-service-account 旗標

gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL

如要進一步瞭解服務帳戶模擬功能,請參閱「使用服務帳戶模擬功能」。

Dataform 的存取權控管

向 Dataform 進行驗證後,您必須獲得授權才能存取 Google Cloud 資源。Dataform 會使用 Identity and Access Management (IAM) 進行授權。

如要進一步瞭解 Dataform 的角色,請參閱「使用 IAM 控管存取權」一文;如要進一步瞭解 IAM 和授權,請參閱「IAM 總覽」一文。

後續步驟