如何使用Terraform为AzureAD应用程序创建AccessKey

时间:2018-09-07 10:24:31

标签: azure-active-directory terraform

我目前正在使用Terraform来设置我的Azure基础结构,并且目前正在想如何使用Terraform为AzureAD应用程序创建AccessKeys。

我使用如下的azurerm提供程序创建了AzureAD应用程序:

resource "azurerm_azuread_application" "test" {
  name                       = "App"
  homepage                   = "localhost:8042"
  available_to_other_tenants = false
  oauth2_allow_implicit_flow = false
}

我可以在我的广告中找到此应用程序,并可以使用AzurePortal UI创建密钥。但是我怎么能使用terraform创建这样的密钥呢?

1 个答案:

答案 0 :(得分:0)

门户中AD应用程序的密钥也是服务主体的密码。如果创建应用程序,它将自动创建服务主体。有关Azure广告应用程序和服务主体的更多详细信息,请参阅此link。此外,您可以在门户网站 Azure Active Directory -> 企业应用程序中找到服务主体,其名称与AD App相同。

所以您可以使用azurerm_azuread_service_principal_password来完成。

resource "azurerm_azuread_application" "test" {
  name                       = "example"
  homepage                   = "http://homepage"
  identifier_uris            = ["http://uri"]
  reply_urls                 = ["http://replyurl"]
  available_to_other_tenants = false
  oauth2_allow_implicit_flow = true
}

resource "azurerm_azuread_service_principal" "test" {
  application_id = "${azurerm_azuread_application.test.application_id}"
}

resource "azurerm_azuread_service_principal_password" "test" {
  service_principal_id = "${azurerm_azuread_service_principal.test.id}"
  value                = "VT=uSgbTanZhyz@%nL9Hpd+Tfay_MRV#"
  end_date             = "2020-01-01T01:02:03Z"
}