Terraform Azuread提供程序授权程序错误



我的GitLab CI/CD管道抛出Terraform Azuread提供商授权程序错误,这已成为我的主要障碍,我根本找不到解决方法。

我的Terraform配置包括一个数据.tf文件,该文件具有以下单行条目:

data "azuread_client_config" "current" {}

我还有一个提供者.tf文件,其内容包括以下azured提供者块:

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" {

如果我将data.tf文件从我的terraform配置中排除,或者注释掉它的单行条目,那么管道运行时不会引发任何错误。我做错了什么,或者在包含data.tf文件后,我需要做什么才能成功运行管道?

数据源:azuread_client_config

使用此数据源可以访问AzureAD提供程序的配置。

#这是Terraform通过Azure CLI进行身份验证时

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提供程序支持的Data SourcesResources文档

相关内容

  • 没有找到相关文章