Cette page présente les méthodes d’authentification et les clients pris en charge, et fournit des exemples de code que vous pouvez utiliser pour connecter des services de calcul à Azure SQL Database à l’aide d’un connecteur de services. Vous pouvez toujours vous connecter à Azure SQL Database à l’aide d’autres méthodes. Cette page indique également les noms et les valeurs des variables d'environnement par défaut que vous obtenez lorsque vous créez la connexion du service.
Service de calcul pris en charge
Le connecteur de services peut être utilisé pour connecter les services de calcul suivants à Azure SQL Database :
- Azure App Service
- Azure Container Apps
- Azure Functions
- Azure Kubernetes Service (AKS)
- Azure Spring Apps
Types d’authentification et clients pris en charge
Le tableau ci-dessous montre les combinaisons méthodes d’authentification/clients prises en charge pour connecter votre service de calcul à Azure SQL Database à l’aide du connecteur de services. « Oui » indique que la combinaison est prise en charge, tandis que « Non » indique qu’elle n’est pas prise en charge.
Type de client |
Identité managée affectée par le système |
Identité managée affectée par l’utilisateur |
Secret/chaîne de connexion |
Principal du service |
.NET |
Oui |
Oui |
Oui |
Oui |
Go |
Non |
Non |
Oui |
Non |
Java |
Oui |
Oui |
Oui |
Oui |
Java - Spring Boot |
Oui |
Oui |
Oui |
Oui |
Node.js |
Oui |
Oui |
Oui |
Oui |
PHP |
Non |
Non |
Oui |
Non |
Python |
Oui |
Oui |
Oui |
Oui |
Python - Django |
Non |
Non |
Oui |
Non |
Ruby |
Non |
Non |
Oui |
Non |
Aucun |
Oui |
Oui |
Oui |
Oui |
Ce tableau indique que la méthode Secret/chaîne de connexion est prise en charge pour tous les types de clients. Les méthodes Identité managée affectée par le système, Identité managée affectée par l’utilisateur et Principal de service sont prises en charge pour les types de clients .NET, Java, Java - Spring Boot, Node.js, Python et None. Ces méthodes ne sont pas prises en charge pour les types de client Go, PHP, Django et Ruby.
Remarque
L’Identité managée affectée par le système, l’Identité managée affectée par l’utilisateur et le Principal de service sont uniquement pris en charge sur Azure CLI.
Noms des variables d’environnement par défaut ou propriétés de l’application et exemple de code
Utilisez les informations de connexion ci-dessous pour connecter des services de calcul à Azure SQL Database. Pour chaque exemple ci-dessous, remplacez les textes d’espace réservé <sql-server>
, <sql-database>
, <sql-username>
et <sql-password>
par le nom de votre propre serveur, le nom de la base de données, l’ID d’utilisateur et le mot de passe. Pour plus d’informations sur les conventions d’affectation de noms, consultez l’article Services internes du connecteur de services.
Identité managée affectée par le système
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Authentication=ActiveDirectoryManagedIdentity |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;authentication=ActiveDirectoryMSI; |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
spring.datasource.url |
URL de la source de données Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI; |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Authentification SQL Azure |
ActiveDirectoryMsi |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Type d’authentification Azure SQL Database |
azure-active-directory-default |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_HOST |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Type d’authentification Azure SQL Database |
azure-active-directory-default |
Exemple de code
Reportez-vous aux étapes et au code ci-dessous pour vous connecter à Azure SQL Database à l’aide d’une identité managée affectée par le système.
Installez des dépendances.
dotnet add package Microsoft.Data.SqlClient
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Pour plus d’informations, consultez Utilisation de l’authentification d’identité managée Active Directory.
Ajoutez les dépendances suivantes dans votre fichier pom.xml :
<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>
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
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) {
// AZURE_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};msiClientId={UserAssignedMiClientId};authentication=ActiveDirectoryMSI;"
// For service principal: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};user={ServicePrincipalClientId};password={spSecret};authentication=ActiveDirectoryServicePrincipal;"
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Pour plus d’informations, consultez Se connecter à des bases de données Azure à partir d’App Service sans secrets avec une identité managée.
Pour une application Spring, si vous créez une connexion avec l’option --client-type springboot
, Service Connector définit les propriétés spring.datasource.url
au format valeur jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI;
sur Azure Spring Apps.
Mettez à jour votre application en suivant le tutoriel Migrer une application Java pour utiliser des connexions sans mot de passe avec Azure SQL Database. N’oubliez pas de supprimer la propriété de configuration spring.datasource.password
si elle était définie avant et ajoutez les dépendances appropriées.
Installez des dépendances.
python -m pip install pyodbc
Obtenez les configurations de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services. Lorsque vous utilisez le code ci-dessous, supprimez les marques de commentaire de la partie de l’extrait de code pour le type d’authentification que vous souhaitez utiliser. Si vous utilisez Azure Container Apps comme service de calcul ou que la chaîne de connexion dans l’extrait de code ne fonctionne pas, reportez-vous à Migrer une application Python pour utiliser des connexions sans mot de passe avec Azure SQL Database pour vous connecter à Azure SQL Database à l’aide d’un jeton d’accès.
import os
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
authentication = os.getenv('AZURE_SQL_AUTHENTICATION')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For user-assigned managed identity.
# clientID = os.getenv('AZURE_SQL_USER')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={clientID};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For service principal.
# user = os.getenv('AZURE_SQL_USER')
# password = os.getenv('AZURE_SQL_PASSWORD')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={user};PWD={password};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
- Installez des dépendances.
npm install mssql
- Obtenez les configurations de connexion Azure SQL Database à partir des variables d’environnement ajoutées par le connecteur de services. Lorsque vous utilisez le code ci-dessous, supprimez les marques de commentaire de la partie de l’extrait de code pour le type d’authentification que vous souhaitez utiliser.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const authenticationType = process.env.AZURE_SQL_AUTHENTICATIONTYPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true
// }
// };
// For user-assigned managed identity.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId
// }
// };
// For service principal.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const clientSecret = process.env.AZURE_SQL_CLIENTSECRET;
// const tenantId = process.env.AZURE_SQL_TENANTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId,
// clientSecret: clientSecret,
// tenantId: tenantId
// }
// };
this.poolconnection = await sql.connect(config);
Pour les autres langages, utilisez les propriétés de connexion définis par le connecteur de services dans les variables d’environnement pour connecter la base de données. Pour plus d’informations sur les variables d’environnement, consultez l’article Intégrer Azure SQL Database avec Service Connector.
Pour plus d’informations, consultez Page d’accueil pour la programmation client sur Microsoft SQL Server.
Identité managée affectée par l’utilisateur
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<identity-client-ID>;Authentication=ActiveDirectoryManagedIdentity |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
spring.datasource.url |
URL de la source de données Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;msiClientId=<msiClientId>;authentication=ActiveDirectoryMSI; |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_USER |
Utilisateur Azure SQL Database |
Object (principal) ID |
AZURE_SQL_AUTHENTICATION |
Authentification SQL Azure |
ActiveDirectoryMsi |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Type d’authentification Azure SQL Database |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
ID de client Azure SQL Database |
<identity-client-ID> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_HOST |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Type d’authentification Azure SQL Database |
azure-active-directory-default |
AZURE_SQL_USERNAME |
ID de client Azure SQL Database |
<your Client ID> |
Exemple de code
Reportez-vous aux étapes et au code ci-dessous pour vous connecter à Azure SQL Database à l’aide d’une identité managée affectée par l’utilisateur.
Installez des dépendances.
dotnet add package Microsoft.Data.SqlClient
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Pour plus d’informations, consultez Utilisation de l’authentification d’identité managée Active Directory.
Ajoutez les dépendances suivantes dans votre fichier pom.xml :
<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>
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
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) {
// AZURE_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};msiClientId={UserAssignedMiClientId};authentication=ActiveDirectoryMSI;"
// For service principal: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};user={ServicePrincipalClientId};password={spSecret};authentication=ActiveDirectoryServicePrincipal;"
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Pour plus d’informations, consultez Se connecter à des bases de données Azure à partir d’App Service sans secrets avec une identité managée.
Pour une application Spring, si vous créez une connexion avec l’option --client-type springboot
, Service Connector définit les propriétés spring.datasource.url
au format valeur jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI;
sur Azure Spring Apps.
Mettez à jour votre application en suivant le tutoriel Migrer une application Java pour utiliser des connexions sans mot de passe avec Azure SQL Database. N’oubliez pas de supprimer la propriété de configuration spring.datasource.password
si elle était définie avant et ajoutez les dépendances appropriées.
Installez des dépendances.
python -m pip install pyodbc
Obtenez les configurations de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services. Lorsque vous utilisez le code ci-dessous, supprimez les marques de commentaire de la partie de l’extrait de code pour le type d’authentification que vous souhaitez utiliser. Si vous utilisez Azure Container Apps comme service de calcul ou que la chaîne de connexion dans l’extrait de code ne fonctionne pas, reportez-vous à Migrer une application Python pour utiliser des connexions sans mot de passe avec Azure SQL Database pour vous connecter à Azure SQL Database à l’aide d’un jeton d’accès.
import os
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
authentication = os.getenv('AZURE_SQL_AUTHENTICATION')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For user-assigned managed identity.
# clientID = os.getenv('AZURE_SQL_USER')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={clientID};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For service principal.
# user = os.getenv('AZURE_SQL_USER')
# password = os.getenv('AZURE_SQL_PASSWORD')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={user};PWD={password};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
- Installez des dépendances.
npm install mssql
- Obtenez les configurations de connexion Azure SQL Database à partir des variables d’environnement ajoutées par le connecteur de services. Lorsque vous utilisez le code ci-dessous, supprimez les marques de commentaire de la partie de l’extrait de code pour le type d’authentification que vous souhaitez utiliser.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const authenticationType = process.env.AZURE_SQL_AUTHENTICATIONTYPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true
// }
// };
// For user-assigned managed identity.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId
// }
// };
// For service principal.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const clientSecret = process.env.AZURE_SQL_CLIENTSECRET;
// const tenantId = process.env.AZURE_SQL_TENANTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId,
// clientSecret: clientSecret,
// tenantId: tenantId
// }
// };
this.poolconnection = await sql.connect(config);
Pour les autres langages, utilisez les propriétés de connexion définis par le connecteur de services dans les variables d’environnement pour connecter la base de données. Pour plus d’informations sur les variables d’environnement, consultez l’article Intégrer Azure SQL Database avec Service Connector.
Pour plus d’informations, consultez Page d’accueil pour la programmation client sur Microsoft SQL Server.
Chaîne de connexion
Avertissement
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure demande un degré de confiance très élevé dans l'application et comporte des risques qui ne sont pas présents dans d'autres flux. Vous ne devez utiliser ce flux que si d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Password=<sql-password> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<sql-username>;password=<sql-password>; |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
spring.datasource.url |
URL de la source de données Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>; |
spring.datasource.username |
Nom d’utilisateur de la source de données Azure SQL Database |
<sql-user> |
spring.datasource.password |
Mot de passe de la source de données Azure SQL Database |
<sql-password> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_USER |
Utilisateur Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Mot de passe Azure SQL Database |
<sql-password> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_HOST |
Hôte Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_NAME |
Nom Azure SQL Database |
<sql-database> |
AZURE_SQL_USER |
Utilisateur Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Mot de passe Azure SQL Database |
<sql-password> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
server=<sql-server>.database.windows.net;port=1433;database=<sql-database>;user id=<sql-username>;password=<sql-password>; |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_USERNAME |
Nom d'utilisateur Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Mot de passe Azure SQL Database |
<sql-password> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVERNAME |
Nom du serveur Azure SQL Database |
<sql-server>.database.windows.net,1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_UID |
Identificateur unique Azure SQL Database (UID) |
<sql-username> |
AZURE_SQL_PASSWORD |
Mot de passe Azure SQL Database |
<sql-password> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_HOST |
Hôte Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_USERNAME |
Nom d'utilisateur Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Mot de passe Azure SQL Database |
<sql-password> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_HOST |
Hôte Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_USERNAME |
Nom d'utilisateur Azure SQL Database |
<sql-username> |
AZURE_SQL_PASSWORD |
Mot de passe Azure SQL Database |
<sql-password> |
Exemple de code
Reportez-vous aux étapes et au code ci-dessous pour vous connecter à Azure SQL Database à l’aide d’une chaîne de connexion.
Installez des dépendances.
dotnet add package Microsoft.Data.SqlClient
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Ajoutez les dépendances suivantes dans votre fichier pom.xml :
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre11</version>
</dependency>
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
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) {
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
- Ajoutez la dépendance dans votre fichier « pom.xml » :
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-dependencies</artifactId>
<version>5.20.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
- Configurez l’application Spring. Les configurations de connexion sont ajoutées à Spring Apps par le Connecteur de services.
Installez des dépendances.
python -m pip install pyodbc
Obtenez les configurations de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
import os;
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
user = os.getenv('AZURE_SQL_USER')
password = os.getenv('AZURE_SQL_PASSWORD')
connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server={server},{port};Database={database};UID={user};PWD={password};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
Installez des dépendances.
pip install django
pip install pyodbc
Dans le fichier de paramètres, obtenez les configurations de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
# in your setting file, eg. settings.py
server = os.getenv('AZURE_SQL_HOST')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_NAME')
user = os.getenv('AZURE_SQL_USER')
password = os.getenv('AZURE_SQL_PASSWORD')
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'NAME': databse,
'USER': user,
'PASSWORD': password,
'HOST': server,
'PORT': port,
'OPTIONS': {
'driver': 'ODBC Driver 13 for SQL Server',
},
},
}
Installez la dépendance.
go install github.com/microsoft/go-mssqldb@latest
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
import (
"context"
"database/sql"
"fmt"
"log"
"github.com/microsoft/go-mssqldb/azuread"
)
connectionString := os.Getenv("AZURE_SQL_CONNECTIONSTRING")
db, err = sql.Open(azuread.DriverName, connString)
if err != nil {
log.Fatal("Error creating connection pool: " + err.Error())
}
log.Printf("Connected!\n")
- Installez des dépendances.
npm install mssql
- Obtenez les configurations de connexion Azure SQL Database à partir des variables d’environnement ajoutées par le connecteur de services.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const username = process.env.AZURE_SQL_USERNAME;
const password = process.env.AZURE_SQL_PASSWORD;
const config = {
server,
port,
database,
user,
password,
options: {
encrypt: true
}
};
this.poolconnection = await sql.connect(config);
Téléchargez les pilotes Microsoft pour PHP pour SQL Server. Pour plus d’informations, consultez Bien démarrer avec les pilotes Microsoft pour PHP pour SQL Server.
Obtenez les configurations de connexion Azure SQL Database à partir des variables d’environnement ajoutées par le connecteur de services.
<?php
$server = getenv("AZURE_SQL_SERVERNAME");
$database = getenv("AZURE_SQL_DATABASE");
$user = getenv("AZURE_SQL_UID");
$password = getenv("AZURE_SQL_PASSWORD");
$connectionOptions = array(
"Database" => database,
"Uid" => user,
"PWD" => password
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
?>
Téléchargez le pilote Ruby pour SQL Server. Pour plus d’informations, consultez Configurer l’environnement de développement pour le développement Ruby.
Obtenez les configurations de connexion Azure SQL Database à partir des variables d’environnement ajoutées par le connecteur de services.
client = TinyTds::Client.new username: ENV['AZURE_SQL_USERNAME'], password: ENV['AZURE_SQL_PASSWORD'],
host: ENV['AZURE_SQL_HOST'], port: ENV['AZURE_SQL_PORT'],
database: ENV['AZURE_SQL_DATABASE'], azure:true
Pour les autres langages, utilisez les propriétés de connexion définis par le connecteur de services dans les variables d’environnement pour connecter la base de données. Pour plus d’informations sur les variables d’environnement, consultez l’article Intégrer Azure SQL Database avec Service Connector.
Pour plus d’informations, consultez Page d’accueil pour la programmation client sur Microsoft SQL Server.
Principal du service
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CLIENTID |
Votre ID client |
<client-ID> |
AZURE_SQL_CLIENTSECRET |
Votre clé secrète client |
<client-secret> |
AZURE_SQL_TENANTID |
Votre ID d’abonné |
<tenant-ID> |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<client-Id>;Password=<client-secret>;Authentication=ActiveDirectoryServicePrincipal |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_CONNECTIONSTRING |
Chaîne de connexion Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-database>;user=<client-Id>;password=<client-secret>;authentication=ActiveDirectoryServicePrincipal; |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
spring.datasource.url |
URL de la source de données Azure SQL Database |
jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryServicePrincipal; |
spring.datasource.username |
Nom d’utilisateur de la source de données Azure SQL Database |
<client-Id> |
spring.datasource.password |
Mot de passe de la source de données Azure SQL Database |
<client-Secret> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_USER |
Utilisateur Azure SQL Database |
your Client Id |
AZURE_SQL_AUTHENTICATION |
Authentification SQL Azure |
ActiveDirectoryServerPrincipal |
AZURE_SQL_PASSWORD |
Mot de passe Azure SQL Database |
your Client Secret |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_SERVER |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATIONTYPE |
Type d’authentification Azure SQL Database |
azure-active-directory-default |
AZURE_SQL_CLIENTID |
ID de client Azure SQL Database |
<your Client ID> |
AZURE_SQL_CLIENTSECRET |
Clé secrète client Azure SQL Database |
<your Client Secret > |
AZURE_SQL_TENANTID |
ID de locataire Azure SQL Database |
<your Tenant ID> |
Nom de variable d’environnement par défaut |
Description |
Exemple de valeur |
AZURE_SQL_HOST |
Serveur Azure SQL Database |
<sql-server>.database.windows.net |
AZURE_SQL_PORT |
Port Azure SQL Database |
1433 |
AZURE_SQL_DATABASE |
Base de données Azure SQL Database |
<sql-database> |
AZURE_SQL_AUTHENTICATION |
Type d’authentification Azure SQL Database |
azure-active-directory-default |
AZURE_SQL_USERNAME |
ID de client Azure SQL Database |
<your Client ID> |
AZURE_SQL_PASSWORD |
Clé secrète client Azure SQL Database |
<your Client Secret > |
Exemple de code
Reportez-vous aux étapes et au code ci-dessous pour vous connecter à Azure SQL Database à l’aide d’un principal de service.
Installez des dépendances.
dotnet add package Microsoft.Data.SqlClient
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
using Microsoft.Data.SqlClient;
string connectionString =
Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
using var connection = new SqlConnection(connectionString);
connection.Open();
Pour plus d’informations, consultez Utilisation de l’authentification d’identité managée Active Directory.
Ajoutez les dépendances suivantes dans votre fichier pom.xml :
<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>
Obtenez la chaîne de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services.
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) {
// AZURE_SQL_CONNECTIONSTRING should be one of the following:
// For system-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};authentication=ActiveDirectoryMSI;"
// For user-assigned managed identity: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};msiClientId={UserAssignedMiClientId};authentication=ActiveDirectoryMSI;"
// For service principal: "jdbc:sqlserver://{SQLName}.database.windows.net:1433;databaseName={SQLDbName};user={ServicePrincipalClientId};password={spSecret};authentication=ActiveDirectoryServicePrincipal;"
String connectionString = System.getenv("AZURE_SQL_CONNECTIONSTRING");
SQLServerDataSource ds = new SQLServerDataSource();
ds.setURL(connectionString);
try (Connection connection = ds.getConnection()) {
System.out.println("Connected successfully.");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Pour plus d’informations, consultez Se connecter à des bases de données Azure à partir d’App Service sans secrets avec une identité managée.
Pour une application Spring, si vous créez une connexion avec l’option --client-type springboot
, Service Connector définit les propriétés spring.datasource.url
au format valeur jdbc:sqlserver://<sql-server>.database.windows.net:1433;databaseName=<sql-db>;authentication=ActiveDirectoryMSI;
sur Azure Spring Apps.
Mettez à jour votre application en suivant le tutoriel Migrer une application Java pour utiliser des connexions sans mot de passe avec Azure SQL Database. N’oubliez pas de supprimer la propriété de configuration spring.datasource.password
si elle était définie avant et ajoutez les dépendances appropriées.
Installez des dépendances.
python -m pip install pyodbc
Obtenez les configurations de connexion Azure SQL Database à partir de la variable d’environnement ajoutée par le connecteur de services. Lorsque vous utilisez le code ci-dessous, supprimez les marques de commentaire de la partie de l’extrait de code pour le type d’authentification que vous souhaitez utiliser. Si vous utilisez Azure Container Apps comme service de calcul ou que la chaîne de connexion dans l’extrait de code ne fonctionne pas, reportez-vous à Migrer une application Python pour utiliser des connexions sans mot de passe avec Azure SQL Database pour vous connecter à Azure SQL Database à l’aide d’un jeton d’accès.
import os
import pyodbc
server = os.getenv('AZURE_SQL_SERVER')
port = os.getenv('AZURE_SQL_PORT')
database = os.getenv('AZURE_SQL_DATABASE')
authentication = os.getenv('AZURE_SQL_AUTHENTICATION')
# Uncomment the following lines corresponding to the authentication type you want to use.
# For system-assigned managed identity.
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For user-assigned managed identity.
# clientID = os.getenv('AZURE_SQL_USER')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={clientID};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
# For service principal.
# user = os.getenv('AZURE_SQL_USER')
# password = os.getenv('AZURE_SQL_PASSWORD')
# connString = f'Driver={{ODBC Driver 18 for SQL Server}};Server=tcp:{server},{port};Database={database};UID={user};PWD={password};Authentication={authentication};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30'
conn = pyodbc.connect(connString)
- Installez des dépendances.
npm install mssql
- Obtenez les configurations de connexion Azure SQL Database à partir des variables d’environnement ajoutées par le connecteur de services. Lorsque vous utilisez le code ci-dessous, supprimez les marques de commentaire de la partie de l’extrait de code pour le type d’authentification que vous souhaitez utiliser.
import sql from 'mssql';
const server = process.env.AZURE_SQL_SERVER;
const database = process.env.AZURE_SQL_DATABASE;
const port = parseInt(process.env.AZURE_SQL_PORT);
const authenticationType = process.env.AZURE_SQL_AUTHENTICATIONTYPE;
// Uncomment the following lines corresponding to the authentication type you want to use.
// For system-assigned managed identity.
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true
// }
// };
// For user-assigned managed identity.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId
// }
// };
// For service principal.
// const clientId = process.env.AZURE_SQL_CLIENTID;
// const clientSecret = process.env.AZURE_SQL_CLIENTSECRET;
// const tenantId = process.env.AZURE_SQL_TENANTID;
// const config = {
// server,
// port,
// database,
// authentication: {
// type: authenticationType
// },
// options: {
// encrypt: true,
// clientId: clientId,
// clientSecret: clientSecret,
// tenantId: tenantId
// }
// };
this.poolconnection = await sql.connect(config);
Pour les autres langages, utilisez les propriétés de connexion définis par le connecteur de services dans les variables d’environnement pour connecter la base de données. Pour plus d’informations sur les variables d’environnement, consultez l’article Intégrer Azure SQL Database avec Service Connector.
Pour plus d’informations, consultez Page d’accueil pour la programmation client sur Microsoft SQL Server.
Étapes suivantes
Suivez le tutoriel ci-dessous pour en savoir plus sur Service Connector.