是否可以使用 Terraform 仅回收 azurerm_kubernetes_cluster service_principal:client_secret

Is it possible to use Terraform to recycle the azurerm_kubernetes_cluster service_principal:client_secret only

我正在尝试回收 AKS 集群中的 service_principal:client_secret 值,该集群是使用 azurerm_kubernetes_cluster.

上的文档由 terraform 提供的

但是,例如,当我将 client_secret 的值从 00000000000000000000000000000000 更改为 00000000000000000000000000000000new=

service_principal {
  client_id     = "00000000-0000-0000-0000-000000000000"
  client_secret = "00000000000000000000000000000000new"
}

Terraform 不接受更改:

我本以为 Terraform 会注意到 client_secret 不同并尝试执行更改,但我却看到:

Resources: 0 added, 0 changed, 0 destroyed. 

我查看了 tfstate 文件并注意到没有为 client_secret 设置值,我认为这就是为什么 terraform 似乎没有回收密钥的原因。

这是它的样子:

service_principal.555555555.client_id: "00000000-0000-0000-0000-000000000000",
service_principal.555555555.client_secret: "",

这是预期的行为,当您只更新 client_secret 时,terraform 没有反映出变化吗?

谢谢!

您可以使用 AZ cli 重置 aks 凭据:https://docs.microsoft.com/en-us/azure/aks/update-credentials

但目前还没有使用 Terraform。

这是公开的 API 调用:https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/resetserviceprincipalprofile

您甚至可以使用 arm 模板来执行此操作,而不是使用 terraform