Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Base de données SQL dans Microsoft Fabric
Crée les informations d’identification d’une base de données. Une identifiante de base de données n’est pas associée à un identifiant serveur ou à un utilisateur de base de données. La base de données utilise l’identifiant pour accéder à la ressource externe lorsqu’elle effectue une opération nécessitant un accès.
Conventions de la syntaxe Transact-SQL
Syntax
CREATE DATABASE SCOPED CREDENTIAL credential_name
WITH IDENTITY = 'identity_name'
[ , SECRET = 'secret' ]
[ ; ]
Arguments
credential_name
Spécifie le nom des informations d’identification délimitées à la base de données en cours de création.
credential_name ne peut pas commencer par le signe numérique (#). Les informations d’identification système commencent par ##. La longueur maximale de credential_name est de 128 caractères.
IDENTITÉ = 'identity_name'
Précise le nom du compte à utiliser lors de la connexion en dehors du serveur.
Pour importer un fichier à partir du Stockage Blob Azure ou d’Azure Data Lake Storage avec une clé partagée, le nom de l’identité doit être
SHARED ACCESS SIGNATURE. Pour plus d’informations sur les signatures d’accès partagé, consultez Utilisation des signatures d’accès partagé (SAP). N’utilisez queIDENTITY = SHARED ACCESS SIGNATUREpour une signature d’accès partagé.Pour importer un fichier à partir de Stockage Blob Azure en utilisant une identité managée, le nom de l’identité doit être
MANAGED IDENTITY.Lorsque vous utilisez Kerberos (Windows Active Directory ou MIT KDC), n’utilisez pas le nom de domaine dans l’argument
IDENTITY. Il doit s’agir simplement du nom du compte.Dans une instance SQL Server, si vous créez une identifiante à portée de base de données avec une clé d’accès au stockage utilisée comme ,
SECRETIDENTITYest ignoré.WITH IDENTITYn’est pas nécessaire si le conteneur dans le stockage Azure Blob est activé pour un accès anonyme. Pour obtenir un exemple d’interrogation du stockage Blob Azure avecOPENROWSET BULK, consultez Importer dans une table à partir d’un fichier stocké sur stockage Blob Azure.Dans SQL Server 2022 (16.x) et versions ultérieures, le connecteur REST-API remplace HADOOP. Pour Stockage Blob Azure et Azure Data Lake Gen 2, la seule méthode d’authentification prise en charge est la signature d’accès partagé. Pour plus d’informations, consultez CRÉER UNE SOURCE DE DONNÉES EXTERNES.
Dans SQL Server 2019 (15.x), la seule source de données externe PolyBase qui prend en charge l’authentification Kerberos est Hadoop. Toutes les autres sources de données externes (SQL Server, Oracle, Teradata, MongoDB, ODBC générique) prennent en charge seulement l’authentification de base.
Les pools SQL dans Azure Synapse Analytics incluent les notes suivantes :
- Pour charger des données dans Azure Synapse Analytics, vous pouvez utiliser n’importe quelle valeur valide pour
IDENTITY. - Dans un pool SQL serverless Azure Synapse Analytics, les informations d’identification délimitées à la base de données peuvent spécifier une identité managée d’espace de travail, un nom de principal de service ou un jeton de signature d’accès partagé (SAP). L’accès via une identité utilisateur, rendu possible par la connexion utilisateur via l’authentification Microsoft Entra, est également possible avec une identification portée de base de données, tout comme l’accès anonyme au stockage public. Pour plus d’informations, consultez Types d’autorisation de stockage pris en charge.
- Dans un pool SQL dédié Azure Synapse Analytics, les informations d’identification délimitées à la base de données peuvent spécifier un jeton de signature d’accès partagé (SAP), une identité d’application personnalisée, une identité managée de l’espace de travail ou une clé d’accès au stockage.
- Pour charger des données dans Azure Synapse Analytics, vous pouvez utiliser n’importe quelle valeur valide pour
| Authentication | T-SQL | Supported | Notes |
|---|---|---|---|
| Signature d’accès partagé (SAP) | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = 'secret'; |
SQL Server 2022 et versions ultérieures, Azure SQL Managed Instance, Azure Synapse Analytics, Azure SQL Database | |
| Identité gérée | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'MANAGED IDENTITY'; |
Azure SQL Database, Azure SQL Managed Instance, SQL Server 2025 avec Azure Arc | Pour activer Azure Arc, voir Identité gérée pour SQL Server activée par Azure Arc |
| Authentification directe Microsoft Entra via l’identité utilisateur | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'USER IDENTITY'; |
|
Dans Azure Synapse, voir connexion utilisateur avec authentification pass-through Microsoft Entra |
| Authentification de base de la clé d’accès S3 | CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = 'S3 ACCESS KEY', SECRET = '<accesskey>:<secretkey>'; |
SQL Server 2022 et versions ultérieures | |
| Sources de données ODBC ou Kerberos (KDC MIT) |
CREATE DATABASE SCOPED CREDENTIAL <credential_name> WITH IDENTITY = '<identity_name>', SECRET = '<secret>'; |
SQL Server 2019 et versions ultérieures |
1 Dans la base de données SQL de Microsoft Fabric, si vous ne spécifiez pas une identifiante à portée de base de données, la méthode d’authentification est par défaut « IDENTITÉ UTILISATEUR » et utilise le compte utilisateur Microsoft Entra ID comme contexte.
SECRET = « secret »
Spécifie le secret requis pour l'authentification sortante.
SECRET est obligatoire pour importer un fichier à partir du stockage Blob Azure. Pour effectuer le chargement du Stockage Blob Azure vers Azure Synapse Analytics ou Parallel Data Warehouse, le secret doit être la clé de stockage Azure.
Warning
La valeur de clé SAP peut commencer par un point d’interrogation (?). Lorsque vous utilisez la clé SAP, supprimez le début ?.
Remarks
Les informations d’identification délimitées à la base de données sont un enregistrement qui contient les informations d’authentification exigées pour la connexion à une ressource en dehors de SQL Server. La plupart des informations d'identification incluent un utilisateur et un mot de passe Windows.
Pour protéger les informations sensibles à l’intérieur des informations d’identification délimitées à la base de données, une clé principale de base de données (DMK) est requise. Le DMK est une clé symétrique qui chiffre le secret dans les informations d’identification délimitées à la base de données. La base de données doit avoir un DMK avant de pouvoir créer des identifiants à portée de base de données. Chiffrez le DMK avec un mot de passe fort. Azure SQL Database crée un DMK avec un mot de passe fort et choisi aléatoirement dans le cadre de la création de l’identifiant à portée de base de données, ou dans le cadre d’un audit serveur.
Les utilisateurs ne peuvent pas créer le DMK sur une base de données logique master . Le mot de passe DMK est inconnu de Microsoft et ne peut pas être détecté après la création. Créez un DMK avant de créer une certification à base de données avec un périmètre de données. Pour plus d’informations, consultez CREATE MASTER KEY.
Quand IDENTITY un utilisateur Windows, le secret peut être le mot de passe. Le secret est chiffré avec la clé maîtresse de service (SMK). Si vous régénérez le SMK, le secret est re-chiffré avec le nouveau SMK.
Lors de l’octroi d’autorisations pour une signature d’accès partagé (SAS) à utiliser avec une table externe PolyBase, sélectionnez à la fois Conteneur et Objet comme types de ressources autorisés. Si vous n’accordez pas ces permissions, vous pourriez recevoir l’erreur 16535 ou 16561 lors de la tentative d’accès à la table externe.
Pour des informations sur les identifiants à portée de base de données, consultez la vue sys.database_scoped_credentials catalogue.
Voici certaines applications d’informations d’identification délimitées à la base de données :
SQL Server utilise des informations d’identification limitées à la base de données pour accéder au Stockage Blob Azure non public ou à des clusters Hadoop sécurisés par Kerberos avec PolyBase. Pour plus d’informations, consultez CRÉER UNE SOURCE DE DONNÉES EXTERNES.
Azure Synapse Analytics utilise des informations d’identification limitées à la base de données pour accéder au Stockage Blob Azure non public avec PolyBase. Pour plus d’informations, consultez CRÉER UNE SOURCE DE DONNÉES EXTERNES. Pour plus d’informations sur l’authentification de stockage Azure Synapse, consultez Utiliser des tables externes avec Synapse SQL.
SQL Database utilise des identifiants à portée de données pour sa fonction de requête élastique , qui permet des requêtes à travers plusieurs fragments de base de données.
SQL Database utilise des informations d’identification limitées à la base de données pour écrire des fichiers d’événements étendus dans Stockage Blob Azure.
SQL Database utilise les informations d’identification délimitées à la base de données pour les pools élastiques. Pour plus d’informations, voir Les pools Elastic vous aident à gérer et à faire évoluer plusieurs bases de données dans Azure SQL Database
BULK INSERT et OPENROWSET utilisent des identifiants à portée de base de données pour accéder aux données depuis Azure Blob Storage. Pour plus d’informations, voir Exemples d’accès massif aux données dans Azure Blob Storage.
Utilisez des informations d’identification délimitées à la base de données avec les fonctionnalités de virtualisation des données PolyBase et Azure SQL Managed Instance.
Pour
BACKUP TO URLetRESTORE FROM URL, utilisez plutôt une identifiante au niveau serveur via CREATE CREDENTIAL .Utilisez des identifiants à portée de base de données avec CREATE EXTERNAL MODEL
Permissions
Requiert l'autorisation CONTROL sur la base de données.
Examples
A. Créer des informations d’identification délimitées à la base de données pour votre application
L’exemple suivant crée des informations d’identification délimitées à la base de données nommées AppCred. Les informations d’identification délimitées à la base de données contiennent l’utilisateur Windows Mary5 et un mot de passe.
Créez un DMK s’il n’en existe pas déjà. N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Créez une certification à base de données avec un champ d’application :
CREATE DATABASE SCOPED CREDENTIAL AppCred
WITH IDENTITY = 'Mary5',
SECRET = '<password>';
B. Créer des informations d’identification délimitées à la base de données pour une signature d’accès partagé
L’exemple suivant crée une certification à portée de base de données que vous pouvez utiliser pour créer une source de données externe. Cette certification peut effectuer des opérations en bloc, telles que BULK INSERT et OPENROWSET BULK.
Créez un DMK s’il n’en existe pas déjà. N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Créez des informations d’identification délimitées à la base de données. Remplacez par <key> la valeur appropriée.
CREATE DATABASE SCOPED CREDENTIAL MyCredentials
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '<key>';
C. Créer des informations d’identification délimitées à la base de données pour la connectivité PolyBase à Azure Data Lake Store
L’exemple suivant crée des informations d’identification délimitées à la base de données qui peuvent être utilisées pour créer une source de données externe, qui peut être utilisée par PolyBase dans Azure Synapse Analytics.
Azure Data Lake Store utilise une application Microsoft Entra pour l’authentification service-à-service.
Créez une application Microsoft Entra et documentez votre client_id, OAuth_2.0_Token_EndPoint et Key avant d’essayer de créer des informations d’identification délimitées à la base de données.
Créez un DMK s’il n’en existe pas déjà. N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort.
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';
Créez des informations d’identification délimitées à la base de données. Remplacez par <key> la valeur appropriée.
CREATE DATABASE SCOPED CREDENTIAL ADL_User
WITH IDENTITY = '<client_id>@<OAuth_2.0_Token_EndPoint>',
SECRET = '<key>';
D. Créer des informations d’identification délimitées à une base de données à l’aide de l’identité managée
S’applique à : SQL Server 2025 (17.x) et versions ultérieures
SQL Server 2025 (17.x) introduit la prise en charge des identités managées Microsoft Entra. Pour des informations sur la manière d’utiliser une identité managée avec SQL Server activé par Azure Arc, voir Identité managée pour SQL Server activée par Azure Arc.
EXECUTE sp_configure 'allow server scoped db credentials', 1;
RECONFIGURE;
GO
CREATE DATABASE SCOPED CREDENTIAL [managed_id]
WITH IDENTITY = 'Managed Identity';
E. Créez une certification à portée de base de données en utilisant Microsoft Entra ID
S’applique à : Azure SQL Database, base de données SQL dans Microsoft Fabric
Dans Azure SQL Database et SQL Database dans Microsoft Fabric, vous pouvez utiliser votre propre compte Microsoft Entra ID pour authentifier une source de données externe.
Dans la base de données SQL de Microsoft Fabric, si vous ne spécifiez pas de crédent avec un champ d’application de base de données, la méthode d’authentification est par défaut et USER IDENTITY utilise le compte utilisateur Entra ID comme contexte.
CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'User Identity';
Contenu connexe
- Informations d'identification (moteur de base de données)
- ALBE DE BASE DE DONNÉES AVEC UNE ACCRÉDITATION PORTÉE (Transact-SQL)
- ABANDONNER LA BASE DE DONNÉES AVEC UN NUMÉRO DE BASE DE DONNÉES (Transact-SQL)
- sys.database_scoped_credentials
- CRÉER CRÉDENTIAL (Transact-SQL)
- sys.credentials (Transact-SQL)