Terraform Azuread 提供商授权方错误
Terraform Azuread provider Authorizer Error
我的 GitLab CI/CD 管道抛出 Terraform Azuread 提供商授权错误,这已成为我的主要障碍,我根本找不到解决方法。
我的 Terraform 配置包括一个 data.tf 文件,其中包含以下单行条目:
data "azuread_client_config" "current" {}
我还有一个 provider.tf 文件,其内容包括以下 azuread 提供程序块:
provider "azuread" {
tenant_id = "#TenantID#"
use_cli = "false"
}
运行 GitLab CI/CD 管道,它抛出以下错误:
Error: no Authorizer could be configured, please check your configuration
with provider ["registry.terraform.io/hashicorp/azuread"],
on provider.tf line 29, in provider "azuread":
29: provider "azuread" {
如果我从我的 terraform 配置中排除 data.tf 文件或注释掉它的单行条目,管道 运行s 不会抛出任何错误。在包含 data.tf 文件后,我做错了什么,或者我需要做什么才能成功获取管道 运行?
数据来源:azuread_client_config
使用此数据源访问 AzureAD 提供程序的配置。
#这是在通过 Azure CLI 进行 Terraform 身份验证时
data "azuread_client_config" "current" {}
output "object_id" {
value = data.azuread_client_config.current.object_id
}
#配置 Azure Active Directory 提供程序
provider "azuread" {
# NOTE: Environment Variables can also be used for Service Principal authentication
# client_id = "..."
# client_secret = "..."
# tenant_id = "..."
}
如果您在 provider.tf 文件中使用 provider azuread {}
,建议您从 data.tf
文件中删除 data "azuread_client_config" "current" {}
行。因为您已经使用 Service Principle 进行身份验证,所以没有必要使用 azuread 的数据源。
关于 Azure Active Directory Provider
支持的 Data Sources
和 Resources
,您也可以参考此 Documention
我的 GitLab CI/CD 管道抛出 Terraform Azuread 提供商授权错误,这已成为我的主要障碍,我根本找不到解决方法。
我的 Terraform 配置包括一个 data.tf 文件,其中包含以下单行条目:
data "azuread_client_config" "current" {}
我还有一个 provider.tf 文件,其内容包括以下 azuread 提供程序块:
provider "azuread" {
tenant_id = "#TenantID#"
use_cli = "false"
}
运行 GitLab CI/CD 管道,它抛出以下错误:
Error: no Authorizer could be configured, please check your configuration
with provider ["registry.terraform.io/hashicorp/azuread"],
on provider.tf line 29, in provider "azuread":
29: provider "azuread" {
如果我从我的 terraform 配置中排除 data.tf 文件或注释掉它的单行条目,管道 运行s 不会抛出任何错误。在包含 data.tf 文件后,我做错了什么,或者我需要做什么才能成功获取管道 运行?
数据来源:azuread_client_config
使用此数据源访问 AzureAD 提供程序的配置。
#这是在通过 Azure CLI 进行 Terraform 身份验证时
data "azuread_client_config" "current" {}
output "object_id" {
value = data.azuread_client_config.current.object_id
}
#配置 Azure Active Directory 提供程序
provider "azuread" {
# NOTE: Environment Variables can also be used for Service Principal authentication
# client_id = "..."
# client_secret = "..."
# tenant_id = "..."
}
如果您在 provider.tf 文件中使用 provider azuread {}
,建议您从 data.tf
文件中删除 data "azuread_client_config" "current" {}
行。因为您已经使用 Service Principle 进行身份验证,所以没有必要使用 azuread 的数据源。
关于 Azure Active Directory Provider
支持的Data Sources
和 Resources
,您也可以参考此 Documention