使用令牌在 Linux 上使用 Terraform 编写 Azure 身份验证脚本

Scripting Azure authentication with Terraform on Linux using a token

az login
terraform init
terraform validate
terraform apply
az login -u <username> -p <password>

你提供了 azure-pipelines 标签,所以不确定这是否意味着你正在使用 Azure DevOps。

如果是这样,那将使它变得更容易,因为您可以 create a service connection within ADO (which will create a service principal in AAD in the background) that you can use to run your pipeline so you won't have to run az login within your scripts. You can check out Charles Zipp's ADO pipeline task for Terraform 我发现它比 Microsoft 的 Terraform 任务更灵活。如果您设置管道,则可以在管道(甚至服务连接)上设置访问控制,以仅允许您想要的人 运行 管道。

如果您不使用 ADO 而只是想 运行 在本地进行操作,那么您需要 create a service principal and provide the credentials in the provider block 正如@AnsumanBal-MT 在对您的问题的评论中提到的那样。