Den här sidan visar autentiseringsmetoder och klienter som stöds och visar exempelkod som du kan använda för att ansluta dina appar till SQL-databasen i Microsoft Fabric med hjälp av Service Connector. På den här sidan visas även standardnamn och värden för miljövariabler som du får när du skapar tjänstanslutningen.
Beräkningstjänster som stöds
Service Connector kan användas för att ansluta följande beräkningstjänster till SQL-databasen i Fabric:
- Служб
- Azure Container-applikationer
- Azure-funktioner
- Azure Kubernetes Service (AKS)
Autentiseringstyper och klienttyper som stöds
I följande tabell visas vilka kombinationer av autentiseringsmetoder och klienter som stöds för att ansluta beräkningstjänsten till SQL-databasen i Fabric med hjälp av Service Connector. Ett "Ja" anger att kombinationen stöds, medan ett "Nej" anger att den inte stöds.
| Klienttyp |
Systemtilldelad hanterad identitet |
Användartilldelad hanterad identitet |
Hemlighet/anslutningssträng |
Service Principal |
| .NÄT |
Ja |
Ja |
Nej |
Nej |
| Sätt igång |
Ja |
Ja |
Nej |
Nej |
| Java |
Ja |
Ja |
Nej |
Nej |
| Java – Spring Boot |
Ja |
Ja |
Nej |
Nej |
| python |
Ja |
Ja |
Nej |
Nej |
| Ingen |
Ja |
Ja |
Nej |
Nej |
Den här tabellen visar att enligt Fabric-beteendet tillåts endast autentisering via hanterade identiteter.
Systemtilldelade hanterade identiteter och användartilldelade hanterade identitetsmetoder stöds för klienttyperna .NET, Java, Java – Spring Boot, Python, Go och None. Dessa metoder stöds inte för andra typer.
Standardnamn för miljövariabler eller programegenskaper och exempelkod
Se anslutningsinformationen och exempelkoden som visas på följande flikar för att ansluta beräkningstjänster till SQL-databasen i Fabric. Mer information om namngivningskonventioner finns i Service Connector-interna-artikeln.
Anmärkning
Även om SQL-databasen i Fabric skiljer sig från Azure SQL Database kan du ansluta till och köra frågor mot din SQL-databas i Fabric på samma sätt som Azure SQL Database.
Läs mer.
Systemtilldelad hanterad identitet
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
Data Source=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Initial Catalog=<SQL-DB-name>-<Fabric-DB-Identifier>;Authentication=ActiveDirectoryManagedIdentity |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;authentication=ActiveDirectoryMSI; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;authentication=ActiveDirectoryMSI; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
Driver={ODBC Driver 17 for SQL Server};Server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Database=<SQL-DB-name>-<Fabric-DB-Identifier>;Authentication=ActiveDirectoryMSI; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com;port=1433;database=<SQL-DB-name>-<Fabric-DB-Identifier>;fedauth=ActiveDirectoryManagedIdentity; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com;port=1433;database=<SQL-DB-name>-<Fabric-DB-Identifier>;fedauth=ActiveDirectoryManagedIdentity; |
Exempelkod
Nedan beskrivs stegen och kodfragmenten för att ansluta till SQL Database i Fabric med hjälp av en systemtilldelad hanterad identitet.
Installera nödvändiga filer.
dotnet add package Microsoft.Data.SqlClient
Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("FABRIC_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Mer information finns i Använda Active Directory-hanterad identitetsautentisering.
Lägg till följande beroenden i dinpom.xml-fil :
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.7.0</version>
</dependency>
Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class Main {
public static void main(String[] args) {
// FABRIC_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI;"
String connectionString = System.getenv("FABRIC_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Mer information finns i Ansluta till Azure-databaser från App Service utan hemligheter med hjälp av en hanterad identitet.
För ett Spring-program anger Service Connector miljövariabeln --client-type springboot med värdeformatet FABRIC_SQL_CONNECTIONSTRING till Azure Spring Apps om du skapar en anslutning med alternativet jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;authentication=ActiveDirectoryMSI;.
För användartilldelade hanterade identiteter msiClientId=<msiClientId>; läggs till.
Uppdatera din applikation enligt självstudien Migrera ett Java-program för att använda lösenordslösa anslutningar med Azure SQL Database. Kom ihåg att ta bort konfigurationsegenskapen spring.datasource.password om den tidigare har angetts och lägga till rätt beroenden.
spring:
datasource:
url: ${FABRIC_SQL_CONNECTIONSTRING}
Installera nödvändiga filer.
python -m pip install pyodbc
Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector. Om du använder Azure Container Apps som beräkningstjänst eller om anslutningssträngen i kodfragmentet inte fungerar kan du läsa Migrera ett Python-program för att använda lösenordslösa anslutningar med Azure SQL Database för att ansluta till SQL-databasen i Microsoft Fabric med lösenordslösa autentiseringsuppgifter.
Authentication=ActiveDirectoryMSI; krävs i anslutningssträngen när du ansluter med hanterade identiteter.
UID=<msiClientId> krävs också i anslutningssträngen när du ansluter med hjälp av en användartilldelad hanterad identitet.
import os
import pyodbc, struct
from azure.identity import DefaultAzureCredential
connStr = os.getenv('FABRIC_SQL_CONNECTIONSTRING')
# System-assigned managed identity connection string format
# `Driver={ODBC Driver 17 for SQL Server};Server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Database=<SQL-DB-name>-<Fabric-DB-Identifier>;Authentication=ActiveDirectoryMSI;`
# User-assigned managed identity connection string format
# `Driver={ODBC Driver 17 for SQL Server};Server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Database=<SQL-DB-name>-<Fabric-DB-Identifier>;UID=<msiClientId>;Authentication=ActiveDirectoryMSI;`
conn = pyodbc.connect(connString)
- Installera nödvändiga filer.
go mod init <YourProjectName>
go mod tidy
- Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector.
package main
import (
"github.com/microsoft/go-mssqldb/azuread"
"database/sql"
"context"
"log"
"fmt"
"os"
)
var db *sql.DB
var connectionString = os.Getenv("FABRIC_SQL_CONNECTIONSTRING")
func main() {
var err error
// Create connection pool
db, err = sql.Open(azuread.DriverName, connectionString)
if err != nil {
log.Fatal("Error creating connection pool: ", err.Error())
}
ctx := context.Background()
err = db.PingContext(ctx)
if err != nil {
log.Fatal(err.Error())
}
fmt.Printf("Connected!\n")
}
Mer information finns i Använda Golang för att fråga en databas i Azure SQL Database.
Mer information finns i Ansluta till din SQL-databas i Microsoft Fabric.
Användartilldelad hanterad identitet
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
Data Source=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Initial Catalog=<SQL-DB-name>-<Fabric-DB-Identifier>;User ID=<msiClientId>;Authentication=ActiveDirectoryManagedIdentity |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
Driver={ODBC Driver 17 for SQL Server};Server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Database=<SQL-DB-name>-<Fabric-DB-Identifier>;UID=<msiClientId>;Authentication=ActiveDirectoryMSI; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com;port=1433;database=<SQL-DB-name>-<Fabric-DB-Identifier>;user id=<msiClientId>;fedauth=ActiveDirectoryManagedIdentity; |
| Standardnamn för miljövariabel |
Beskrivning |
Exempelvärde |
FABRIC_SQL_CONNECTIONSTRING |
Anslutningssträng för Azure SQL Database |
server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com;port=1433;database=<SQL-DB-name>-<Fabric-DB-Identifier>;user id=<msiClientId>;fedauth=ActiveDirectoryManagedIdentity; |
Exempelkod
Nedan beskrivs stegen och kodfragmenten för att ansluta till SQL Database i Fabric med hjälp av en användartilldelad hanterad identitet.
Installera nödvändiga filer.
dotnet add package Microsoft.Data.SqlClient
Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("FABRIC_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Mer information finns i Använda Active Directory-hanterad identitetsautentisering.
Lägg till följande beroenden i dinpom.xml-fil :
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.7.0</version>
</dependency>
Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector.
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import com.microsoft.sqlserver.jdbc.SQLServerDataSource;
public class Main {
public static void main(String[] args) {
// FABRIC_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI;"
String connectionString = System.getenv("FABRIC_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Mer information finns i Ansluta till Azure-databaser från App Service utan hemligheter med hjälp av en hanterad identitet.
För ett Spring-program anger Service Connector miljövariabeln --client-type springboot med värdeformatet FABRIC_SQL_CONNECTIONSTRING till Azure Spring Apps om du skapar en anslutning med alternativet jdbc:sqlserver://<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;databaseName=<SQL-DB-name>-<Fabric-DB-Identifier>;authentication=ActiveDirectoryMSI;.
För användartilldelade hanterade identiteter msiClientId=<msiClientId>; läggs till.
Uppdatera din applikation enligt självstudien Migrera ett Java-program för att använda lösenordslösa anslutningar med Azure SQL Database. Kom ihåg att ta bort konfigurationsegenskapen spring.datasource.password om den tidigare har angetts och lägga till rätt beroenden.
spring:
datasource:
url: ${FABRIC_SQL_CONNECTIONSTRING}
Installera nödvändiga filer.
python -m pip install pyodbc
Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector. Om du använder Azure Container Apps som beräkningstjänst eller om anslutningssträngen i kodfragmentet inte fungerar kan du läsa Migrera ett Python-program för att använda lösenordslösa anslutningar med Azure SQL Database för att ansluta till SQL-databasen i Microsoft Fabric med lösenordslösa autentiseringsuppgifter.
Authentication=ActiveDirectoryMSI; krävs i anslutningssträngen när du ansluter med hanterade identiteter.
UID=<msiClientId> krävs också i anslutningssträngen när du ansluter med hjälp av en användartilldelad hanterad identitet.
import os
import pyodbc, struct
from azure.identity import DefaultAzureCredential
connStr = os.getenv('FABRIC_SQL_CONNECTIONSTRING')
# System-assigned managed identity connection string format
# `Driver={ODBC Driver 17 for SQL Server};Server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Database=<SQL-DB-name>-<Fabric-DB-Identifier>;Authentication=ActiveDirectoryMSI;`
# User-assigned managed identity connection string format
# `Driver={ODBC Driver 17 for SQL Server};Server=tcp:<Fabric-SQL-Identifier>.msit-database.fabric.microsoft.com,1433;Database=<SQL-DB-name>-<Fabric-DB-Identifier>;UID=<msiClientId>;Authentication=ActiveDirectoryMSI;`
conn = pyodbc.connect(connString)
- Installera nödvändiga filer.
go mod init <YourProjectName>
go mod tidy
- Hämta SQL-databasen i Microsoft Fabric-anslutningssträngen från miljövariabeln som lagts till av Service Connector.
package main
import (
"github.com/microsoft/go-mssqldb/azuread"
"database/sql"
"context"
"log"
"fmt"
"os"
)
var db *sql.DB
var connectionString = os.Getenv("FABRIC_SQL_CONNECTIONSTRING")
func main() {
var err error
// Create connection pool
db, err = sql.Open(azuread.DriverName, connectionString)
if err != nil {
log.Fatal("Error creating connection pool: ", err.Error())
}
ctx := context.Background()
err = db.PingContext(ctx)
if err != nil {
log.Fatal(err.Error())
}
fmt.Printf("Connected!\n")
}
Mer information finns i Använda Golang för att fråga en databas i Azure SQL Database.
Mer information finns i Ansluta till din SQL-databas i Microsoft Fabric.
Dela åtkomst till SQL-databas i Fabric
Slutför skapandet av tjänstanslutningen i Cloud Shell eller på ditt lokala Azure CLI.
När anslutningen har skapats öppnar du beräkningstjänstresursen i Azure-portalen, öppnar menyn Service Connector och letar reda på SQL-databasen i Infrastrukturtjänstanslutning. Välj SQL-databas för att navigera till Fabric-portalen.
Leta upp fliken Säkerhet i Infrastrukturportalen och välj Hantera SQL-säkerhet.
Välj rollen db_ddladmin och sedan Hantera åtkomst.
Du bör se namnet på din systemtilldelade hanterade identitet och/eller eventuella användartilldelade hanterade identiteter med en tjänstanslutning till den här SQL-databasen i Fabric. Välj Dela databas. Om du inte ser alternativet Dela databas behöver du inte fortsätta med de återstående stegen.
Ange och välj namnet på den nyligen skapade systemtilldelade hanterade identiteten och/eller eventuella användartilldelade hanterade identiteter när de visas i fönstret Hantera åtkomst . Lägg till andra identiteter efter behov. Markera kryssrutan Läs alla data med SQL Database och välj sedan Bevilja.
Skärmbild av Fabric-portalen, där man skriver in namnen på tilldelade hanterade identiteter, väljer Läs alla data med SQL-databas och sedan klickar på Bevilja.
Nu är du redo att använda din nya tjänstanslutning till SQL Database i Fabric.
Nästa steg
Mer information om Service Connector finns i följande artikel.