Share via


Informations d’identification utilisées pour accéder à la bibliothèque cliente de la base de données élastique

S’applique à Azure SQL Database

La bibliothèque de client de base de données élastique utilise trois types d’informations d’identification différents pour accéder au gestionnaire des cartes de partitions. En fonction du besoin, utilisez les informations d'identification avec le niveau d'accès le plus faible possible.

  • Informations d'identification d'administration: pour créer ou manipuler un gestionnaire des cartes de partitions. (Voir le glossaire.)
  • Informations d’identification d’accès: pour accéder à un gestionnaire des cartes de partitions existant afin d’obtenir des informations sur les partitions.
  • Informations d'identification de connexion: pour se connecter à des partitions.

Consultez également la section Gestion des bases de données et des connexions dans la base de données Azure SQL

À propos des informations d'identification d'administration

Les informations d’identification de gestion sont utilisées lors de la création d’un objet ShardMapManager (Java, .NET) pour les applications qui manipulent des cartes de partitions. (Par exemple, consultez Ajout d’une partition à l’aide des outils de base de données élastique et Routage dépendant des données). L’utilisateur de la bibliothèque cliente de l’infrastructure élastique crée les utilisateurs et les connexions SQL nécessaires et s’assure qu’ils sont dotés des autorisations en lecture/écriture pour la base de données de cartes de partitions globale et pour toutes les bases de données de partitions. Ces informations d'identification sont utilisées pour mettre à jour la carte de partitions globale et les cartes de partitions locales lorsque des modifications sont apportées à la carte de partitions. Par exemple, utilisez les informations d'identification de gestion pour créer l'objet de gestionnaire des cartes de partitions (en utilisant GetSqlShardMapManager, Java, .NET) :

// Obtain a shard map manager.
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager(smmAdminConnectionString,ShardMapManagerLoadPolicy.Lazy);

La variable smmAdminConnectionString est une chaîne de connexion qui comporte les informations d’identification de gestion. L'identifiant utilisateur et le mot de passe fournissent l'accès en lecture/écriture à la base de données de cartes de partitions et aux partitions individuelles. La chaîne de connexion de gestion inclut également le nom du serveur et le nom de la base de données afin d'identifier la base de données de cartes de partitions globale. Voici une chaîne de connexion classique à cet effet :

"Server=<yourserver>.database.windows.net;Database=<yourdatabase>;User ID=<yourmgmtusername>;Password=<yourmgmtpassword>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"

N’utilisez pas de valeurs sous la forme « username@server » ; utilisez simplement la valeur « nom d’utilisateur » à la place. Cela vient du fait que les informations d’identification doivent fonctionner avec la base de données du gestionnaire de cartes de partitions et les partitions, qui peuvent se trouver sur différents serveurs.

Informations d’identification d’accès

Lorsque vous créez un gestionnaire des cartes de partitions dans une application qui ne gère pas les cartes de partitions, utilisez les informations d'identification dotées des autorisations en lecture seule pour la carte de partitions globale. Les informations extraites de la carte de partitions globale avec ces informations d’identification sont utilisées pour le routage dépendant des données et pour remplir le cache de la carte de partitions sur le client. Les informations d’identification sont fournies via le même modèle d’appel à GetSqlShardMapManager :

// Obtain shard map manager.
ShardMapManager shardMapManager = ShardMapManagerFactory.GetSqlShardMapManager(smmReadOnlyConnectionString, ShardMapManagerLoadPolicy.Lazy);  

Notez l’utilisation de smmReadOnlyConnectionString afin de refléter l’utilisation d’informations d’identification différentes pour l’accès des utilisateurs non-administrateurs : ces informations d’identification ne doivent pas fournir d’autorisations d’écriture sur la carte de partitions globale.

Informations d'identification de connexion

Des informations d’identification supplémentaires sont requises lorsque vous utilisez la méthode OpenConnectionForKey (Java, .NET) pour accéder à une partition associée à une clé de sharding. Ces informations d'identification doivent fournir des autorisations d'accès en lecture seule aux tables de la carte de partitions locale résidant sur la partition. Cela est nécessaire pour effectuer une validation de connexion pour le routage dépendant des données sur la partition. Cet extrait de code permet l'accès à des données dans le contexte d’un routage dépendant des données :

using (SqlConnection conn = rangeMap.OpenConnectionForKey<int>(targetWarehouse, smmUserConnectionString, ConnectionOptions.Validate))

Dans cet exemple, smmUserConnectionString comporte la chaîne de connexion correspondant aux informations d’identification de l’utilisateur. Pour Azure SQL Database, voici une chaîne de connexion classique pour les informations d’identification de l’utilisateur :

"User ID=<yourusername>; Password=<youruserpassword>; Trusted_Connection=False; Encrypt=True; Connection Timeout=30;"  

Tout comme pour les informations d’identification de l’administrateur, n’utilisez pas de valeurs sous la forme « username@server ». Utilisez simplement « username ». Notez également que la chaîne de connexion ne comporte pas de nom de serveur et de nom de base de données. En effet, l’appel de OpenConnectionForKey dirige automatiquement la connexion vers la partition appropriée en fonction de la clé. Par conséquent, il n'est pas nécessaire de fournir les noms de la base de données et du serveur.

Voir aussi

Gestion des bases de données et des connexions dans Azure SQL Database

Sécurisation de votre base de données SQL

Tâches de base de données élastique

Ressources supplémentaires

Vous n’utilisez pas encore d’outils de base de données élastique ? Consultez notre Guide de prise en main. Pour toute question, contactez-nous par le biais de la page de questions Microsoft Q&A sur SQL Database et, pour vos demandes de fonctionnalités, ajoutez de nouvelles idées ou votez pour les idées existantes sur le forum de commentaires SQL Database.