Ber*_*las 3 service-principal terraform-provider-azure
在 Azure 中手动生成服务主体时,作为操作的结果,我获得了密码。
但是,如果我使用 Terraform 创建服务主体,则情况并非如此,密码不在此模块的输出中:
+ azuread_service_principal.k8s_principal
id: <computed>
application_id: "${azuread_application.app.application_id}"
display_name: <computed>
Run Code Online (Sandbox Code Playgroud)
有什么我错过的吗?与 CLI 相比,为什么 Terraform 的输出行为不同?
password需要 INPUT 到azuread_service_principal_password块。因此,您可以生成一个随机密码并自行导出。完整的 Terraform 代码是这样的:
resource "azuread_application" "app" {
name = "${local.application_name}"
}
# Create 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}"
}
output "sp_password" {
value = "${azuread_service_principal_password.app.value}"
sensitive = true
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1356 次 |
| 最近记录: |