本文說明如何以程式輔助方式向 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):
-
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
如果您使用本機殼層,請為使用者帳戶建立本機驗證憑證:
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 總覽」一文。
後續步驟
- 瞭解Google Cloud 驗證方式。
- 查看驗證用途清單。