azure - 如何使用 Terraform 为 Azure 服务主体创建客户端 key

标签 azure azure-active-directory terraform terraform-provider-azure azure-service-principal

我对 Azure 和 Terraform 相当陌生,正在尝试使用 Terraform 为 Azure 服务主体创建一个 secret 客户端。 我无法弄清楚这一点。

这就是我现在拥有的:

provider "azuread" {
  version = "=0.7.0"
  client_id = var.aws_client_id
  subscription_id = var.aws_subscription_id
  tenant_id = var.aws_tenant_id
  client_secret = var.aws_client_secret
}

# Create an application
resource "azuread_application" "app" {
  name = var.azurerd_app_name
}

# Create a service principal
resource "azuread_service_principal" "app" {
  application_id = azuread_application.app.application_id
}

这就是我正在尝试的(不太确定):

resource "random_string" "password" {
  length  = 32
  special = true
}

# Create Service Principal password
resource "azuread_service_principal_password" "app" {
  end_date             = "2299-12-30T23:00:00Z"                        # Forever
  service_principal_id = azuread_service_principal.app.id
  value                = random_string.password.result
}

这显然是行不通的。这不会给出任何错误,但是在 Azure 控制台上看不到任何 secret 。看起来这是为了将一些密码附加到服务主体,但我不太确定它在做什么。

请让我知道对此可以采取什么措施。任何帮助,将不胜感激。谢谢

最佳答案

实际上,azure_service_principal_password 运行良好,但密码未显示在门户中。

您可以使用azuread_application_password管理与 Azure AD 中的应用程序关联的密码。请参阅注意,确保应用程序具有提到的权限。

关于azure - 如何使用 Terraform 为 Azure 服务主体创建客户端 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63028517/

相关文章:

c# - 使用 Azure Bot Framework 的日志文件去了哪里?

mongodb - 如何引用另一个集合中的数据?

azure - 在 Azure 中,如何使两个事件目录共享同一个应用程序?

azure - 将客户端应用程序添加到 Azure Active Directory 应用程序在 "Expose Api" Blade 中失败

azure - 在 Azure Active Directory 中批量创建用户

node.js - 在服务器端 NodeJS Application Insights 事件中添加经过身份验证的用户 ID 信息

Azure ARM 在复制 block 中部署具有多个访问策略的 keyVault

当不存在循环时,terraform destroy 会产生循环错误

amazon-web-services - Terraform - 所需字符串列表(AWS 中的 cidr_blocks)

provisioning - Terraform,寻找在命令中使用双引号的简单方法?