CREATE CREDENTIAL (Transact-SQL)

Crée des informations d'identification.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

CREATE CREDENTIAL credential_name WITH IDENTITY = 'identity_name'
    [ , SECRET = 'secret' ]
        [ FOR CRYPTOGRAPHIC PROVIDER cryptographic_provider_name ]

Arguments

  • credential_name
    Spécifie le nom des informations d'identification à créer. credential_name ne peut pas commencer avec le signe dièse (#). Les informations d'identification système commencent avec ##.

  • IDENTITY ='identity_name'
    Spécifie le nom du compte à utiliser lors d'une connexion en dehors du serveur.

  • SECRET ='secret'
    Spécifie le secret requis pour l'authentification sortante. Cette clause est facultative.

  • FOR CRYPTOGRAPHIC PROVIDER cryptographic_provider_name
    Spécifie le nom d'un Fournisseur EKM (Gestion de clés extensible). Pour plus d'informations sur la gestion de clés, consultez Fonctionnement de la gestion de clés extensible (EKM).

Notes

Des informations d'identification correspondent à un enregistrement qui contient les informations d'authentification requises 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.

Lorsque IDENTITY correspond à un utilisateur Windows, le secret peut être le mot de passe. Le secret est chiffré à l'aide de la clé principale de service. Si la clé principale de service est régénérée, le secret est chiffré de nouveau au moyen de la nouvelle clé principale de service.

Une fois les informations d'identification créées, vous pouvez les mapper sur une connexion SQL Server en utilisant CREATE LOGIN ou ALTER LOGIN. Une connexion SQL Server peut être mappée sur un seul ensemble d'informations d'identification, mais des informations d'identification peuvent être mappées sur plusieurs connexions SQL Server. Pour plus d'informations, consultez Informations d'identification (moteur de base de données).

Des informations sur les informations d'identification sont consultables dans l'affichage catalogue sys.credentials.

En l'absence d'une information d'identification mappée à une connexion pour le fournisseur, l'information d'identification mappée au compte de service SQL Server est utilisée.

Une connexion peut avoir plusieurs informations d'identification mappées à elle, à condition qu'elles soient utilisées avec des fournisseurs distinctifs. Il ne doit y avoir qu'une seule information d'identification mappée par fournisseur par connexion. La même information d'identification peut être mappée à d'autres connexions.

Autorisations

Requiert l'autorisation ALTER ANY CREDENTIAL.

Exemples

L'exemple ci-dessous crée des informations d'identification nommées AlterEgo. Les informations d'identification contiennent l'utilisateur Windows Mary5 et un mot de passe.

CREATE CREDENTIAL AlterEgo WITH IDENTITY = 'Mary5', 
    SECRET = '<EnterStrongPasswordHere>';
GO

L'exemple suivant utilise un compte précédemment créé, User1OnEKM, sur un module EKM au moyen des outils d'administration EKM, avec un type de compte de base et un mot de passe. Le compte sysadmin sur le serveur crée des informations d'identification utilisées pour se connecter au compte EKM et les attribue au compte User1SQL Server :

CREATE CREDENTIAL CredentialForEKM
WITH IDENTITY='User1OnEKM'
, SECRET='<EnterStrongPasswordHere>'
  FOR CRYPTOGRAPHIC PROVIDER MyEKMProvider;
GO
/* Modify the login to assign the cryptographic provider credential */
ALTER LOGIN User1
ADD CREDENTIAL CredentialForEKM;
/* Modify the login to assign a non cryptographic provider credential */ 
ALTER LOGIN User1
WITH CREDENTIAL = AlterEgo;
GO