gpt4 book ai didi

azure - 使用 Pulumi 中的服务原理通过 Azure 进行身份验证

转载 作者:行者123 更新时间:2023-12-04 08:04:39 25 4
gpt4 key购买 nike

我有一个 Pulumi - 程序,可以在我的开发机上正常运行。配置存储在 Azure 中,创建的资源也存储在 Azure 中。

为了运行它,我设置了以下环境变量:

SET ARM_SUBSCRIPTION_ID=<id>

在本地,我使用 az login 登录 Azure,然后它会要求我提供凭据。之后,我可以使用 pulumi up 更新 Azure 中的更改。这一切都可以正常工作,没有任何问题。

现在我想使用发布管道在 Azure Devops 中实现同样的目标。我使用“Azure CLI”- 任务并正确配置了 ARM 连接。该任务包含 pulumi up -sdevelopment --yes (其中“develop”是我的 pulumi-stack)

我可以在日志中看到 Azure 登录按预期工作,但 pulumi 抛出以下错误:错误:

Error building AzureRM Client: Authenticating using the Azure CLI is only supported as a User (not a Service Principal). To authenticate to Azure using a Service Principal, you can use the separate 'Authenticate using a Service Principal' auth method - instructions for which can be found here: https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/service_principal_client_secret

虽然错误非常清楚,甚至包含解决此问题的解决方案的网址:这并不能真正帮助我,因为我不直接使用 terraform,而是使用 pulumi。

TL;DR:如何配置 pulumi cli 以使用 Azure 服务主体身份验证?

最佳答案

有两个选项可配置 Pulumi 以通过服务主体进行身份验证:

  1. 设置环境变量 ARM_CLIENT_IDARM_CLIENT_SECRETARM_TENANT_IDARM_SUBSCRIPTION_ID

  2. 使用配置来设置它们

    pulumi config set azure:clientId <clientID>
    pulumi config set azure:clientSecret <clientSecret> --secret
    pulumi config set azure:tenantId <tenantID>
    pulumi config set azure:subscriptionId <subscriptionId>

引用:Service Principal Authentication

关于azure - 使用 Pulumi 中的服务原理通过 Azure 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66278058/

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