GRANT 인증서 권한(Transact-SQL)
적용 대상: Microsoft Fabric의 SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse Analytics SQL 데이터베이스
SQL Server에서 인증서에 대한 권한을 부여합니다.
참고
이 구문은 Azure Synapse Analytics의 서버리스 SQL 풀에서 지원되지 않습니다.
구문
GRANT permission [ ,...n ]
ON CERTIFICATE :: certificate_name
TO principal [ ,...n ] [ WITH GRANT OPTION ]
[ AS granting_principal ]
인수
permission
인증서에 부여할 수 있는 사용 권한을 지정합니다. 아래와 같습니다.
ON CERTIFICATE ::certificate_name
사용 권한을 부여할 인증서를 지정합니다. 범위 한정자 "::"이 필요합니다.
database_principal
사용 권한을 부여할 보안 주체를 지정합니다. 다음 중 하나
- 데이터베이스 사용자
- 데이터베이스 역할
- 애플리케이션 역할
- Windows 로그인에 매핑된 데이터베이스 사용자
- Windows 그룹에 매핑된 데이터베이스 사용자
- 인증서에 매핑된 데이터베이스 사용자
- 비대칭 키에 매핑된 데이터베이스 사용자
- 서버 보안 주체에 매핑되지 않은 데이터베이스 사용자
GRANT OPTION
지정된 사용 권한을 다른 보안 주체에게 부여할 수 있는 권한도 이 보안 주체에 제공됨을 나타냅니다.
AS granting_principal
이 쿼리를 실행하는 보안 주체가 사용 권한을 부여하는 권한을 부여할 수 있는 다른 보안 주체를 지정합니다. 다음 중 하나
- 데이터베이스 사용자
- 데이터베이스 역할
- 애플리케이션 역할
- Windows 로그인에 매핑된 데이터베이스 사용자
- Windows 그룹에 매핑된 데이터베이스 사용자
- 인증서에 매핑된 데이터베이스 사용자
- 비대칭 키에 매핑된 데이터베이스 사용자
- 서버 보안 주체에 매핑되지 않은 데이터베이스 사용자
설명
인증서는 사용 권한 계층에서 부모 데이터베이스에 포함된 데이터베이스 수준 보안 개체입니다. 아래에는 인증서에 대해 부여할 수 있는 가장 제한적인 사용 권한이 해당 사용 권한을 암시적으로 포함하는 보다 일반적인 사용 권한과 함께 정리되어 있습니다.
인증서 권한 | 인증서 권한에 포함된 권한 | 데이터베이스 사용 권한에 포함된 사용 권한 |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | ALTER ANY CERTIFICATE |
REFERENCES | CONTROL | REFERENCES |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
사용 권한
사용 권한을 부여한 사용자 또는 AS 옵션으로 지정한 보안 주체에게 GRANT OPTION을 통한 사용 권한이 있거나 부여할 사용 권한을 포함하는 상위 사용 권한이 있어야 합니다.
AS 옵션을 사용하는 경우 다음과 같은 추가 요구 사항이 적용됩니다.
AS granting_principal | 필요한 추가 사용 권한 |
---|---|
데이터베이스 사용자 | 사용자에 대한 IMPERSONATE 사용 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
Windows 로그인에 매핑된 데이터베이스 사용자 | 사용자에 대한 IMPERSONATE 사용 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
Windows 그룹에 매핑된 데이터베이스 사용자 | Windows 그룹의 멤버 자격, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
인증서에 매핑된 데이터베이스 사용자 | db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
비대칭 키에 매핑된 데이터베이스 사용자 | db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
서버 보안 주체에 매핑되지 않은 데이터베이스 사용자 | 사용자에 대한 IMPERSONATE 사용 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
데이터베이스 역할 | 역할에 대한 ALTER 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
애플리케이션 역할 | 역할에 대한 ALTER 권한, db_securityadmin 고정 데이터베이스 역할의 멤버 자격, db_owner 고정 데이터베이스 역할의 멤버 자격 또는 sysadmin 고정 서버 역할의 멤버 자격. |
개체 소유자는 소유하고 있는 개체에 대한 사용 권한을 부여할 수 있습니다. 보안 개체에 대한 CONTROL 사용 권한을 가진 보안 주체는 해당 보안 개체에 대한 사용 권한을 부여할 수 있습니다.
sysadmin 고정 서버 역할의 멤버와 같이 CONTROL SERVER 권한이 부여된 사용자는 서버의 모든 보안 개체에 대한 사용 권한을 부여할 수 있습니다. db_owner 고정 데이터베이스 역할의 멤버와 같이 데이터베이스에 대한 CONTROL 권한이 부여된 사용자는 데이터베이스의 모든 보안 개체에 대한 사용 권한을 부여할 수 있습니다. 스키마에 대한 CONTROL 권한이 부여된 사용자는 스키마 내의 모든 개체에 대한 사용 권한을 부여할 수 있습니다.
참고 항목
GRANT(Transact-SQL)
사용 권한(데이터베이스 엔진)
보안 주체(데이터베이스 엔진)
CREATE CERTIFICATE(Transact-SQL)
CREATE ASYMMETRIC KEY(Transact-SQL)
CREATE APPLICATION ROLE(Transact-SQL)
암호화 계층