如何使用 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 PowerShell
和 Azure 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"]
}
}
我已经使用 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 PowerShell
和 Azure 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"]
}
}