本文档介绍了如何以编程方式向 Dataform 进行身份验证。如何向 Dataform 进行身份验证取决于您用于访问 API 的界面以及运行代码的环境。
如需详细了解 Google Cloud 身份验证,请参阅身份验证概览。
API 访问权限
Dataform 支持程序化访问。您可以通过以下方式访问 API:
客户端库
Dataform 客户端库提供了以编程方式向 Dataform 进行身份验证的高级语言支持。 为了对 API 的调用进行身份验证,客户端库支持应用默认凭据 (ADC);也就是说,客户端库会在一组指定的位置查找凭据,并使用这些凭据对发送到 API 的请求进行身份验证。 Google Cloud 借助 ADC,您可以在各种环境(例如本地开发或生产环境)中为您的应用提供凭据,而无需修改应用代码。
REST
您可以使用 gcloud CLI 凭据或使用应用默认凭据向 Dataform API 进行身份验证。如需详细了解 REST 请求身份验证,请参阅使用 REST 时进行身份验证。如需了解凭据类型,请参阅 gcloud CLI 凭据和 ADC 凭据。
为 Dataform 设置身份验证
设置身份验证的方式取决于代码在其中运行的环境。
以下是最常用的身份验证设置选项。如需了解有关身份验证的更多选项和信息,请参阅身份验证方法。
对于本地开发环境
您可以通过以下方式为本地开发环境设置凭据:
客户端库或第三方工具
在本地环境中设置应用默认凭据 (ADC):
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
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.
登录屏幕随即出现。在您登录后,您的凭据会存储在 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
权限,该权限包含在 Service Account Token Creator (roles/iam.serviceAccountTokenCreator
) IAM 角色中。
您可以使用 gcloud config set
命令将 gcloud CLI 设置为使用服务账号模拟:
gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL
对于某些语言,您可以使用服务账号模拟创建本地 ADC 文件,供客户端库使用。只有 Go、Java、Node.js 和 Python 客户端库支持此方法,而其他语言不支持此方法。如需使用服务账号模拟设置本地 ADC 文件,请将 --impersonate-service-account
标志与 gcloud auth application-default login
命令结合使用:
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 身份验证方法。
- 请参阅身份验证使用场景列表。