如何使用 Terraform 批准 Blob 存储 ADLS Gen2 上的托管私有端点?

How to use Terraform to approve a Managed Private Endpoint on a Blob Storage ADLS Gen2?

我已经使用 Terraform 在 Synapse Analytics 工作区上创建了几个托管私有端点。 现在我不知道如何“批准”它们,因为我似乎找不到合适的资源来执行此操作。

要手动完成,我需要转到存储帐户 -> 网络 -> 专用端点,选择要“批准”的那些,然后按批准。

As of today, you can't approve a Managed Private Endpoint using Terraform.

你可以查看已经在hashicorp中询问的Synapse Managed Private Endpoint - auto_approval option

注意: Azure PowerShellAzure CLI 是在 Microsoft 合作伙伴服务或客户拥有的服务上管理专用终结点连接的首选方法。

详情请参考Manage Private Endpoint connections on a customer/partner owned Private Link service

如果您仍然感兴趣,我已经在 Terraform 中这样做了:

resource "null_resource" "endpoint_approval" {
  depends_on = [module.sql_managed_endpoint, module.storage_managed_endpoint]
  provisioner "local-exec" {
    command     = <<-EOT
          $sql_id = $(az network private-endpoint-connection list --id ${module.mssql_server.id} --query "[?contains(properties.privateEndpoint.id, 'vnet')].id" -o json) | ConvertFrom-Json
          $storage_id = $(az network private-endpoint-connection list --id ${module.storage_account.storage_account_id} --query "[?contains(properties.privateEndpoint.id, 'vnet')].id" -o json) | ConvertFrom-Json
          az network private-endpoint-connection approve --id $sql_id --description "Approved in Terraform"
          az network private-endpoint-connection approve --id $storage_id --description "Approved in Terraform"
        EOT
    interpreter = ["pwsh", "-Command"]
  }
}