Поделиться через


CREATE CREDENTIAL (Transact-SQL)

Синтаксис

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

Аргументы

  • credential_name
    Указывает имя создаваемых учетных данных. Аргумент credential_name не может начинаться с символа решетки (#). Системные учетные данные начинаются с символов ##.

  • IDENTITY ='identity_name'
    Указывает имя учетной записи для использования при подключении за пределами сервера.

  • SECRET ='secret'
    Указывает секретный код, необходимый для исходящей проверки подлинности. Это предложение является необязательным.

  • FOR CRYPTOGRAPHIC PROVIDER cryptographic_provider_name
    Указывает имя, на которое ссылается поставщик расширенного управления ключами (EKM). Дополнительные сведения об управлении ключами см. в разделе Основные сведения о расширенном управлении ключами (EKM).

Замечания

Учетные данные являются записью, которая содержит сведения для проверки подлинности, необходимые для подключения к ресурсу извне SQL Server. Большинство учетных данных включают имя пользователя и пароль Windows.

Если IDENTITY является пользователем Windows, секретный код может быть паролем. Секретный код шифруется главным ключом службы. Если главный ключ службы формируется повторно, секретный код повторно шифруется, используя новый главный ключ службы.

После создания учетных данных можно сопоставить их имени входа SQL Server, используя инструкцию CREATE LOGIN или ALTER LOGIN. Имя входа SQL Server может быть сопоставлено только одним учетным данным, но одни учетные данные могут быть сопоставлены нескольким именам входа SQL Server. Дополнительные сведения см. в разделе Учетные данные (компонент Database Engine).

Сведения об учетных данных доступны в представлении каталога sys.credentials.

При отсутствии учетных данных для поставщика, сопоставленных с именем входа, используются учетные данные, сопоставленные с учетной записью службы SQL Server.

Имени входа может быть сопоставлено несколько учетных данных, если они используются для отдельных поставщиков. У каждого поставщика должен быть только один набор учетных данных, сопоставленных одному имени входа. Одни и те же учетные данные могут быть сопоставлены нескольким именам входа.

Разрешения

Требуется разрешение ALTER ANY CREDENTIAL

Примеры

Следующий пример создает учетные данные с именем AlterEgo. В эти учетные данные входят имя пользователя Windows Mary5 и пароль.

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

В следующем примере используется учетная запись с именем User1OnEKM, ранее созданная в модуле поставщика расширенного управления ключами с помощью средств управления поставщика, с основным типом учетной записи и паролем. Учетная запись sysadmin на сервере создает учетные данные, которые используются для соединения с учетной записью поставщика расширенного управления ключами, и назначает их учетной записи 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