【发布时间】:2020-06-05 21:21:09
【问题描述】:
我们正在使用 Terraform 来构建我们的云基础架构。以前,我们创建了一些没有 Terraform 的服务主体,这些主体现在正在生产中使用,并且无法更改。现在我们想转移到 Terraform 来创建该服务主体,但我们无法导入以前的主体,同时保留使用 random_string 创建新主体的结构。
resource "azuread_service_principal_password" "service-images" {
for_each = toset(var.profiles)
service_principal_id = azuread_service_principal.service-images[each.value].id
end_date = "2222-01-01T23:00:00Z"
value = random_string.images_password[each.value].result
}
resource "random_string" "images_password" {
for_each = toset(var.profiles)
length = 32
special = true
}
当我们创建一个新的服务主体时(通过向 var.profiles 列表添加一个元素)它工作正常,但是当它是一个已经使用的服务主体时,我们担心 Terraform 会破坏以前的值并在生产中停止.
另外,Terraform 似乎有一个 azuread_service_principal_password 的导入接口:
terraform import azuread_service_principal_password.test 00000000-0000-0000-0000-000000000000/11111111-1111-1111-1111-111111111111
第一部分是 ServicePrincipalObjectId,第二部分是 ServicePrincipalPasswordKeyId,但是我在 Azure 门户上找不到后一个值(它在哪里?)。
你会怎么做?
【问题讨论】:
-
我不清楚你想要什么。您的意思是为现有服务主体创建一个新密码?
-
我想导入/保留旧配置文件的密码,并为新配置文件生成新密码,对新旧服务主体使用相同的代码库
标签: azure azure-active-directory terraform terraform-provider-azure