驗證 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. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

    gcloud init

    若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  2. 如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:

    gcloud auth application-default login

    如果您使用 Cloud Shell,則不需要執行這項操作。

    如果系統傳回驗證錯誤,且您使用外部識別資訊提供者 (IdP),請確認您已 使用聯合身分登入 gcloud CLI

    登入畫面會隨即顯示。登入後,您的憑證會儲存在 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 總覽」一文。

後續步驟