Running terraform command: init with args: () kwargs: {'no_color': None, 'backend_config': {'container_name': 'xyz', 'key': 'terraform.tfstate', 'storage_account_name': 'xyz', 'use_msi': 'true', 'client_id': '***', 'subscription_id': '***', 'tenant_id': '***', 'msi_endpoint': 'http://a.b.c.d:8081/msi/token'}}
在下面查看错误
I验证了功能应用程序能够击中MSI端点。在运行Terraform代码之前,我需要访问存储帐户以获取一些配置,并能够使用托管身份来获取该配置。我可以看到我们要击中msi-endpoint的日志以获取令牌以访问存储帐户。
使用Azure AD用户分配的托管身份实体地Terraform
aissue似乎与您进行身份验证的方式检查所有所提供的环境变量都以正确的输入分配。
为每个therraform文档用户托管的身份证也应在贡献者级别上需要必要的许可,以便它能够提供所需的条件。
此外,还使用最新版本的Terraform提供商检查您的任何功能,都可以避免任何功能。
采样配置具有适当的输入:
provider "azurerm" {
features {}
subscription_id = "subscription_id"
}
terraform {
backend "azurerm" {
resource_group_name = "vinay-rg"
storage_account_name = "testsasdasfaspp"
container_name = "test"
key = "terraform.tfstate"
use_msi = true
client_id = "client_id"
subscription_id = "subscription_id"
tenant_id = "tenant_id"
msi_endpoint = "URL"
}
}
如果问题仍然存在,您可以使用命令检查登录名
az account show
然后使用命令清除它们
az logout
使用Terraform在Azure上使用Terraform的VM驱逐VM失败 - 堆栈溢出
jahnavi
回答了
Quadroid
回答