gpt4 book ai didi

azure - 使用 Terraform 添加 AD 组作为现有企业应用程序的成员

转载 作者:行者123 更新时间:2023-12-03 06:54:15 25 4
gpt4 key购买 nike

现在我正在通过 Terraform 很好地配置 AD 安全组:

resource "azuread_group" "my_group" {
display_name = "Test_Group_Terraform"
owners = ["<hardcoded user>"]
security_enabled = true
}

我正在尝试弄清楚如何将该组分配为现有企业应用程序的成员。

根据https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/app_role_assignment#example-usage我应该使用类似的东西

resource "azuread_app_role_assignment" "example" {
app_role_id = azuread_service_principal.internal.app_role_ids["Admin.All"]
principal_object_id = azuread_group.example.object_id
resource_object_id = azuread_service_principal.internal.object_id
}

但是我如何对现有的企业应用程序执行此操作?

最佳答案

之前使用门户中的 UI 创建的现有企业应用程序/服务主体可以通过首先将其导入到其 terraform 状态来在 terraform 中使用。

可以使用其对象 ID 导入服务主体

例如

  • 首先必须在根模块中指定资源

ma​​in.tf

resource "azuread_service_principal" "mynewappsv" {
#arguments
}

(如果需要的话,也可以在 terraform import azuread_application.mynewapp <objId> 之前导入应用程序)

然后 run the terraform import 使用应用 service principal object id类似下面的内容

>terraform import azuread_service_principal.test <objectId here>

执行:

enter image description here

然后要查看或打印出 TF 状态,请运行 > terraform show您可以在其中看到所有存在的状态文件。如果需要,您可以将 azuread serviceprincipal 的内容复制到 .tf 中的实际 block 中。文件。

  • 然后您可以使用 terraform 中的资源来分配组服务主体。

main.tf(引用:azuread_app_role_assignment | Resources | hashicorp/azuread | Terraform Registry)

   provider "azurerm" {

features {}

}
data "azurerm_resource_group" "example" {
name = "xxxxxxxxx"
}
data "azuread_client_config" "current" {}

resource "azuread_application" "mynewapp" {
display_name = "mynewapp"
owners = [data.azuread_client_config.current.object_id]
}

resource "azuread_service_principal" "mynewapp" {
application_id = azuread_application.mynewapp.application_id
app_role_assignment_required = true
owners = [data.azuread_client_config.current.object_id]
}

resource "azuread_group" "example" {
display_name = "example"
security_enabled = true
}

#Assign a user and group to an internal application
resource "azuread_app_role_assignment" "example" {
app_role_id = azuread_service_principal.internal.app_role_ids["Admin.All"]
principal_object_id = azuread_group.example.object_id
resource_object_id = azuread_service_principal.mynewapp.object_id
}

引用: https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/service_principal

关于azure - 使用 Terraform 添加 AD 组作为现有企业应用程序的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73235140/

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