【问题标题】:Terraform "AuthorizationFailed" with Azure provider使用 Azure 提供程序的 Terraform “AuthorizationFailed”
【发布时间】:2020-08-31 02:24:14
【问题描述】:

我是 Azure 资源组的所有者,但没有订阅或管理组的权限。 在我的 .tf 文件中配置“azurerm”提供程序时,我添加了订阅 ID 和租户 ID(我不是该订阅的所有者)。

--------- 更新 ---------

我正在尝试使用 Terraform 应用 Linux 虚拟机,但在规划 .tf 文件时遇到了授权问题。

我已经使用 Azure CLI 列出了我的所有帐户(希望在下面的输出中连接第二个订阅):

我已经成功地使用 Azure CLI 和命令对订阅进行身份验证(它有效):

az account set --subscription="SUBSCRIPTION_ID"

这是我的默认和当前订阅:

此外,我还能够使用 Azure CLI 在该订阅的资源组中创建和管理资源。 但是,我在 .tf 文件中添加了准确的租户 ID 和准确的订阅 ID,但在“terraform 计划”期间仍然出现相同的凭据错误。

使用 Azure CLI 或 Azure 门户,我能够在资源组范围内创建和管理资源,尽管使用 terraform 我遇到了问题。

谢谢你:)

【问题讨论】:

  • 确保您登录到正确的订阅:az login --subscription %Subscription_ID%

标签: azure azure-active-directory terraform terraform-provider-azure


【解决方案1】:

根据你的故事,你只是在 azure provider 中设置了租户 id 和订阅 id,所以看起来你 authenticate via Azure CLI。无论您有用户帐户还是服务主体,资源组的所有者角色都足以在资源组中创建虚拟机。这样,您需要先登录到 Azure CLI。正如我提供的链接所示。

【讨论】:

  • 我已经点击链接并使用 Azure CLI 对订阅进行了身份验证(有效)。之后,我在 .tf 文件中添加了租户 ID 和订阅 ID,但在“terraform plan”期间仍然出现凭据错误。我已经更新了我打开的问题。
  • @YuvalPodoksik 您在 Terraform azurerm 提供程序中设置的订阅 ID 应该与您使用 CLI 登录的相同。您可以使用 CLI 命令 az account show 查看正确的订阅 ID。
  • 当然,我明白这一点。 terraform 中的订阅 ID 和租户 ID 与 Azure CLI 中列出的内容匹配。
  • @YuvalPodoksik 你确定是同一个你有权限吗?
  • 很遗憾,我敢肯定,再次更新了问题。
猜你喜欢
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
  • 2021-11-15
  • 2019-10-06
  • 2021-01-19
  • 2021-09-18
  • 1970-01-01
  • 2021-09-28
相关资源
最近更新 更多