我正在尝试部署 azurerm_email_communication_service使用以下 terraform 代码。
terraform{
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "3.61.0"
}
}
}
resource "azurerm_resource_group" "azurerm_group" {
name = var.resource_group_name
location = var.region
}
resource "azurerm_email_communication_service" "smtp-service" {
name = var.service_name
resource_group_name = azurerm_resource_group.azurerm_group.name
data_location = var.data_location
}
到目前为止一切都很好,但我需要一种获取主帐户的方法或任何其他方法来在使用此服务时验证我的应用程序。
有没有办法获取除了主账户之外的任何认证数据? 如何将主要帐户附加到 terraform 中的此资源,然后导出 secret 数据,以便稍后使用它来验证我的应用程序?有人可以帮我提供这些信息吗?
最佳答案
您可以在 Azure AD 和 Terraform Cloud 之间设置单点登录 (SSO),以便您的用户使用其 Azure AD 帐户自动登录。
引用MSDoc用于通过 SSO 进行身份验证。
转到 Azure AD >> 企业应用程序 >> 搜索 terraform cloud 并为其分配用户,如图所示。
完成后,您可以在 terraform 云应用程序下设置单点登录。
请按照上面给出的文档了解有关如何对其进行身份验证和集成的明确步骤。
配置完上述内容后,您可以使用azurerm_email_communication_service
用于使用 Active Directory 进行身份验证的电子邮件通信。
我创建了一个用户分配的身份,并在访问控制 (IAM) 下为新创建的用户授予了必要的权限。
以下是根据您的要求修改的代码。
provider "azurerm"{
features{}
}
data "azurerm_resource_group" "example" {
name = "caro"
}
data "azurerm_user_assigned_identity" "example" {
name = "newuser"
resource_group_name = "caro"
}
resource "azurerm_email_communication_service" "example" {
name = "examplemail"
resource_group_name = data.azurerm_resource_group.example.name
data_location = "United States"
depends_on = [data.azurerm_user_assigned_identity.example]
}
成功执行terraform计划
:
关于Azure - azurerm_email_communication_service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76755367/