Forum Discussion

JohnP_RI's avatar
JohnP_RI
New Member
2 years ago
Solved

Azure Function Connection to MS Fabric SQL endpoint results in Login Failed

Has anyone successfully connected to a Fabric SQL endpoint using user/system assigned identities or a service principal?

 

I have my service principal(s) in an azure security group and that group has permissions to the lakehouse/SQL endpoint (validated by also having a user in that group), however when connecting with any of these Service Principal types I get 18456 Login Failed.

 

If anyone has, can you please share how you did it?  (connection string format, what type of identity etc).

 

Thanks!

  • Figured this out:

    • In PowerBI, go to the Admin Portal 
    • Make sure you are a PowerBI administrator and can see the “Tenant Settings” section on the Admin Portal 
    • In this section, 2 things need to be turned on: 
    1. Developer Settings -> Allow service principals to create and user profiles 
    2. OneLake Settings -> Users can access data stored in OneLake with apps external to Fabric 
    • Now you can manage permissions on the workspace you want to access from your AZ Function.  When you add a user to the permissions, you can type in the name of the AZ Function rather than a user. (assuming you've already created a system generated identity)
    • Now you can use the "Azure Directory Default" authentication method in the connection string.

1 Reply

  • Figured this out:

    • In PowerBI, go to the Admin Portal 
    • Make sure you are a PowerBI administrator and can see the “Tenant Settings” section on the Admin Portal 
    • In this section, 2 things need to be turned on: 
    1. Developer Settings -> Allow service principals to create and user profiles 
    2. OneLake Settings -> Users can access data stored in OneLake with apps external to Fabric 
    • Now you can manage permissions on the workspace you want to access from your AZ Function.  When you add a user to the permissions, you can type in the name of the AZ Function rather than a user. (assuming you've already created a system generated identity)
    • Now you can use the "Azure Directory Default" authentication method in the connection string.