Freigeben über


CREATE CREDENTIAL (Transact-SQL)

Erstellt Anmeldeinformationen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • credential_name
    Gibt den Namen für die zu erstellenden Anmeldeinformationen an. credential_name darf nicht mit dem Nummernzeichen (#) beginnen. Systemanmeldeinformationen beginnen mit zwei Nummernzeichen (##).

  • IDENTITY ='identity_name'
    Gibt den Namen des Kontos an, das beim Herstellen einer Verbindung außerhalb des Servers verwendet wird.

  • SECRET ='secret'
    Gibt den geheimen Bereich an, der für die ausgehende Authentifizierung erforderlich ist. Diese Klausel ist optional.

  • FOR CRYPTOGRAPHIC PROVIDER cryptographic_provider_name
    Gibt den Namen eines Anbieters für die Schlüsselverwaltung in Unternehmen (Enterprise Key Management Provider (EKM)) an. Weitere Informationen zur Schlüsselverwaltung finden Sie unter Grundlegendes zur erweiterbaren Schlüsselverwaltung.

Hinweise

Anmeldeinformationen sind in einem Datensatz gespeichert, in dem die Authentifizierungsinformationen enthalten sind, die zum Herstellen einer Verbindung mit einer Ressource außerhalb von SQL Server erforderlich sind. Die meisten Anmeldeinformationen schließen einen Windows-Benutzer und ein Kennwort ein.

Falls für IDENTITY ein Windows-Benutzer angegeben ist, kann der geheime Bereich das Kennwort enthalten. Der geheime Bereich wird mithilfe des Diensthauptschlüssels verschlüsselt. Falls der Diensthauptschlüssel neu generiert wird, wird der geheime Bereich mithilfe des neuen Diensthauptschlüssels neu verschlüsselt.

Nach der Erstellung von Anmeldeinformationen können Sie diese einem SQL Server-Anmeldenamen zuordnen, indem Sie CREATE LOGIN oder ALTER LOGIN verwenden. Ein SQL Server-Anmeldename kann nur einem Satz Anmeldeinformationen zugeordnet werden, ein Satz Anmeldeinformationen kann jedoch mehreren SQL Server-Anmeldenamen zugeordnet sein. Weitere Informationen finden Sie unter Anmeldeinformationen (Datenbankmodul).

Informationen zu Anmeldeinformationen werden in der sys.credentials-Katalogsicht angezeigt.

Falls für den Anbieter kein mit einem Anmeldenamen verknüpfter Identitätsnachweis vorliegt, werden die dem SQL Server-Dienstkonto zugewiesenen Anmeldeinformationen verwendet.

Einem Anmeldenamen können mehrere Anmeldeinformationen zugewiesen werden, solange sie für unterschiedliche Anbieter verwendet werden. Pro Anbieter und Anmeldung darf es jedoch nur einen zugewiesenen Identitätsnachweis geben. Die gleichen Anmeldeinformationen können jedoch auch anderen Anmeldenamen zugeordnet werden.

Berechtigungen

Erfordert die ALTER ANY CREDENTIAL-Berechtigung.

Beispiele

Im folgenden Beispiel werden die Anmeldeinformationen namens AlterEgo erstellt. Die Anmeldeinformationen enthalten den Windows-Benutzer Mary5 und ein Kennwort.

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

Im folgenden Beispiel wird ein zuvor erstelltes Konto namens User1OnEKM auf einem EKM-Modul mithilfe der EKM-Verwaltungstools mit einem Standardkontotyp und Kennwort verwendet. Das sysadmin-Konto auf dem Server erstellt die Anmeldeinformationen, mit denen die Verbindung mit dem EKM-Konto hergestellt wird, und weist diese dem User1SQL Server-Konto zu:

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