gpt4 book ai didi

azure - Terraform azurerm 提供程序尝试使用错误的凭据进行注册

转载 作者:行者123 更新时间:2023-12-02 23:06:15 24 4
gpt4 key购买 nike

我尝试使用为服务主体授权而初始化的 azurerm 提供程序来运行 terraform,providers.tf 中包含以下内容(服务主体具有订阅的所有者访问权限并可在其他代码中使用):

provider "azurerm" {
features {}
subscription_id = "SSSSSSSS-SSSS-SSSS-SSSS-SSSSSSSSSSSS"
client_id = "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA"
tenant_id = "<MY_TENANT_ID>"
client_secret = "<MY_CLIENT_SECRET>"
}

但是,当我运行 terraform planterraform apply 时,无法报告完全不同的客户端 ID:

Error: Error ensuring Resource Providers are registered.[.... some lines of useless examples ....]Original Error: Cannnot register providers: Microsoft.ServiceFabricMesh, Microsoft.ManagedServices, Microsoft.DesktopVirtualization. Errors were: Cannot register provider Microsoft.ServiceFabricMesh with Azure Resource Manager: resources.ProvidersClient#Register: Failure responding to request: StatusCode=403 -- Original Error: autorest/azure: Service returned an error. Status=403 Code="AuthorizationFailed" Message="The client 'BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB' with object id 'BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB' does not have authorization to perform action 'Microsoft.ServiceFabricMesh/register/action' over scope '/subscriptions/SSSSSSSS-SSSS-SSSS-SSSS-SSSSSSSSSSSS' or the scope is invalid. If access was recently granted, please refresh your credentials.".

换句话说,虽然我告诉 terraform 使用服务主体“AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA”,但它使用“BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB”。

很明显,我的代码中没有任何内容引用 ID 为“BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB”的服务主体。

设置 ARM_* 环境变量对此行为没有任何影响。

知道这是怎么发生的吗?

更新:我使用的是 terraform 0.14.3 和 azurerm 2.41。还尝试了 azurerm 2.32 - 它的行为相同。

最佳答案

首先,您可以输出客户端 ID,以确保您使用的是正确的服务主体,该主体对您正在使用的订阅和租户具有适当的授权范围。

data "azurerm_client_config" "current" {
}

output "account_id" {
value = data.azurerm_client_config.current.client_id
}

此外,如果您使用服务主体凭据,请尝试重新生成您的 key 或服务主体。作为解决方法,您还可以跳过提供程序注册

provider "azurerm" {
skip_provider_registration = true
}

最后,尝试升级您的 terraform 和 azurerm 提供商以获得更好的体验。部分版本可能存在bug,引用this1this2 .

关于azure - Terraform azurerm 提供程序尝试使用错误的凭据进行注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65604570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com