다음을 통해 공유


CREATE CREDENTIAL(Transact-SQL)

자격 증명을 만듭니다.

항목 링크 아이콘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(Enterprise Key Management) 공급자의 이름을 지정합니다. 확장 가능 키 관리에 대한 자세한 내용은 EKM(확장 가능 키 관리) 이해를 참조하십시오.

주의

자격 증명은 SQL Server 외부의 리소스에 연결하는 데 필요한 인증 정보가 포함된 레코드입니다. 대부분의 자격 증명에는 Windows 사용자 및 암호가 들어 있습니다.

IDENTITY가 Windows 사용자인 경우 암호는 해당 사용자의 암호일 수 있습니다. 암호는 서비스 마스터 키를 사용하여 암호화됩니다. 서비스 마스터 키가 다시 생성되면 암호가 새 서비스 마스터 키를 사용하여 다시 암호화됩니다.

자격 증명을 만든 다음에는 CREATE LOGIN 또는 ALTER LOGIN을 사용하여 SQL Server 로그인에 매핑할 수 있습니다. SQL Server 로그인은 단 하나의 자격 증명에만 매핑될 수 있지만 단일 자격 증명은 여러 SQL Server 로그인에 매핑될 수 있습니다. 자세한 내용은 자격 증명(데이터베이스 엔진)를 참조하십시오.

자격 증명 정보는 sys.credentials 카탈로그 뷰에 표시됩니다.

공급자에 대해 매핑된 로그인 자격 증명이 없으면 SQL Server 서비스 계정에 매핑된 자격 증명이 사용됩니다.

자격 증명이 고유한 공급자에 대해 사용되는 경우 로그인에 여러 개의 매핑된 자격 증명이 있을 수 있습니다. 로그인별로 각 공급자에 하나의 매핑된 자격 증명만 있어야 합니다. 동일한 자격 증명이 다른 로그인에 매핑될 수 있습니다.

사용 권한

ALTER ANY CREDENTIAL 권한이 필요합니다.

다음 예에서는 AlterEgo라는 자격 증명을 만듭니다. 이 자격 증명에는 Windows 사용자 Mary5 및 암호가 들어 있습니다.

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

다음 예에서는 이전에 EKM 모듈에서 관리 도구의 기본 계정 유형 및 암호를 사용하여 만든 User1OnEKM이라는 계정을 사용합니다. 서버의 sysadmin 계정은 EKM 계정에 연결하는 데 사용되는 자격 증명을 만들고 이를 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