Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Terraform使用Azure服务主体进行身份验证失败 问题_Azure_Terraform_Terraform Provider Azure - Fatal编程技术网

Terraform使用Azure服务主体进行身份验证失败 问题

Terraform使用Azure服务主体进行身份验证失败 问题,azure,terraform,terraform-provider-azure,Azure,Terraform,Terraform Provider Azure,在Azure中创建服务主体后尝试使用Terraform plan或Terraform apply时,Terraform出现以下错误: provider.azurerm:未找到有效的未过期Azure CLI身份验证令牌。请运行az登录 复制步骤 通过az ad sp Create for rbac在Azure中创建服务主体 将服务主体配置作为提供程序块添加到.tf文件: 供应商azurerm{ 别名=tf_引导 客户id=55708466-3686-xxxx-xxxx-XXXXXXXXXX 客户_

在Azure中创建服务主体后尝试使用Terraform plan或Terraform apply时,Terraform出现以下错误:

provider.azurerm:未找到有效的未过期Azure CLI身份验证令牌。请运行az登录

复制步骤 通过az ad sp Create for rbac在Azure中创建服务主体

将服务主体配置作为提供程序块添加到.tf文件:

供应商azurerm{ 别名=tf_引导 客户id=55708466-3686-xxxx-xxxx-XXXXXXXXXX 客户_secret=88352837-xxxx-xxxx-xxxx-XXXXXXXXXX 承租人id=129a861e-a703-xxxx-xxxx-XXXXXXXXXX 订阅id=c2e9d518-xxxx-xxxx-xxxx-XXXXXXXXXX } 资源azurerm\u资源组开发{ name=dev rg 地点=美国东部 } 尝试运行terraform plan。

如果在中使用别名密钥,如问题所示,必须在每个数据或资源块中指定提供程序密钥

例如:

//定义了提供程序别名后。 资源azurerm\u资源组开发{ provider=azurerm.tf\u引导 name=dev rg 地点=美国东部 } 如果缺少某个资源或数据块的提供程序,则该块上的身份验证将失败

但是,请注意,在原始提供程序块中不指定别名密钥也是有效的。在这种情况下,不再需要在每个资源和数据块中指定提供者密钥;可以省略提供程序密钥

//未定义提供程序别名时。 资源azurerm\u资源组开发{ name=dev rg 地点=美国东部 }