One Developer
One Developer

Reputation: 566

Azure Data Factory with Managed private endpoints is failed to connect

I am configuring the Azure Data Factory that reads the data from the storage account and updates the Azure SQL Server.

I have created the Managed private endpoints(manually) for both Storage account & Azure SQL server

enter image description here

Managed private endpoints:

enter image description here

Enabled Interactive Authoring:

enter image description here

and disabled the Public network access on both the Storage account and Azure SQL server.

enter image description here

But, it is failing to connect with the Storage account and Azure SQL server

Azure SQL Server Connection:

enter image description here

Storage Account Connection:

enter image description here

Failed to Connect - Storage Account#: 9972

enter image description here

Failed to Connect - SQL Server#: 22339

enter image description here

Update#1 As suggested in comment, I have associated the linked services with IR

enter image description here

enter image description here

It seems to be Connecting

enter image description here

But, Pipeline works only when I allow

enter image description here

Otherwise, it fails with

enter image description here

The service Principal has permission on the Storage account

enter image description here

Permissions:

enter image description here

Upvotes: 0

Views: 2005

Answers (1)

One Developer
One Developer

Reputation: 566

I was able to fix this with the following Terraform Code

// Create Private Endpoint for Data Factory Portal
module "pedatafactoryportal" {
    source = "./modules/privateendpoint/"

    resource_group_name = azurerm_resource_group.resource_group.name
    location = azurerm_resource_group.resource_group.location
    name = var.privateendpointdatafactory_portal_name

    subnet_id = azurerm_subnet.endpoint_subnet.id
    private_link_enabled_resource_id = azurerm_data_factory.datafactory.id
    private_dns_zone_name = azurerm_private_dns_zone.datafactoryportalzone.name
    subresource_names = ["portal"]
    resource_name = "portal"

    depends_on = [
      azurerm_data_factory.datafactory, 
      azurerm_private_dns_zone.datafactoryportalzone
    ]
}

Upvotes: 0

Related Questions