ADD SIGNATURE(Transact-SQL)
업데이트: 2006년 7월 17일
저장 프로시저, 함수, 어셈블리 또는 트리거에 디지털 서명을 추가합니다.
구문
ADD [ COUNTER ] SIGNATURE TO module_class::module_name
BY <crypto_list> [ ,...n ]
<crypto_list> ::=
CERTIFICATE cert_name
| CERTIFICATE cert_name [ WITH PASSWORD = 'password' ]
| CERTIFICATE cert_name WITH SIGNATURE = signed_blob
| ASYMMETRIC KEY Asym_Key_Name
| ASYMMETRIC KEY Asym_Key_Name [ WITH PASSWORD = 'password']
| ASYMMETRIC KEY Asym_Key_Name WITH SIGNATURE = signed_blob
인수
- module_class
서명을 추가할 모듈의 클래스입니다. 스키마 범위 모듈에 대한 기본값은 OBJECT입니다.
- module_name
서명하거나 연대 서명할 저장 프로시저, 함수, 어셈블리 또는 트리거의 이름입니다.
- CERTIFICATE cert_name
저장 프로시저, 함수, 어셈블리 또는 트리거에 서명하거나 연대 서명하는 데 사용할 인증서의 이름입니다.
- WITH PASSWORD ='password'
인증서의 개인 키나 비대칭 키의 암호를 해독하는 데 필요한 암호입니다. 이 절은 개인 키가 데이터베이스 마스터 키로 보호되지 않는 경우에만 필요합니다.
- SIGNATURE = signed_blob
모듈의 서명된 BLOB(Binary Large Object)를 지정합니다. 이 절은 개인 키를 포함하지 않고 모듈을 제공하려는 경우 유용합니다. 이 절을 사용할 때는 모듈, 서명 및 공개 키만 있으면 서명된 BLOB(Binary Large Object)을 데이터베이스에 추가할 수 있습니다. signed_blob은 16진수 형식의 BLOB 자체입니다.
- ASYMMETRIC KEY Asym_Key_Name
저장 프로시저, 함수, 어셈블리 또는 트리거에 서명하거나 연대 서명하는 데 사용할 비대칭 키의 이름입니다.
주의
서명하거나 연대 서명할 모듈과 모듈에 서명하는 데 사용되는 인증서 또는 비대칭 키가 있어야 합니다. 모듈의 모든 문자는 서명 계산에 포함됩니다. 여기에는 캐리지 리턴과 줄 바꿈도 포함됩니다.
모듈에 서명하거나 연대 서명하는 데 사용되는 인증서와 비대칭 키의 수는 제한되지 않습니다.
모듈이 변경되면 모듈의 서명이 삭제됩니다.
모듈에 EXECUTE AS 절이 포함되어 있으면 보안 주체의 SID(보안 ID)도 서명 프로세스의 일부로 포함됩니다.
주의: |
---|
모듈 서명은 사용 권한을 부여하기 위한 용도로만 사용해야 하며 사용 권한을 거부하거나 취소하기 위한 용도로는 사용하지 않아야 합니다. |
서명 정보는 sys.crypt_properties 카탈로그 뷰에 표시됩니다.
사용 권한
개체에 대한 ALTER 권한과 인증서 또는 비대칭 키에 대한 CONTROL 권한이 필요합니다. 연결된 개인 키가 암호로 보호되어 있으면 사용자도 암호가 있어야 합니다.
예
다음 예에서는 HumanResourcesDP
인증서를 사용하여 HumanResources.uspUpdateEmployeeLogin
저장 프로시저에 서명합니다.
USE AdventureWorks;
ADD SIGNATURE TO HumanResources.uspUpdateEmployeeLogin
BY CERTIFICATE HumanResourcesDP;
GO
참고 항목
참조
sys.crypt_properties(Transact-SQL)
DROP SIGNATURE(Transact-SQL)
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 7월 17일 |
|