DENY 서버 보안 주체 사용 권한(Transact-SQL)

 

SQL Server 로그인에 대해 부여된 사용 권한을 거부합니다.

적용 대상: SQL Server (SQL Server 2008 ~ 현재 버전).

Topic link icon Transact-SQL 구문 표기 규칙

  
DENY permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    TO <server_principal> [ ,...n ]  
    [ CASCADE ]  
    [ AS SQL_Server_login ]   
  
<server_principal> ::=   
    SQL_Server_login  
    | SQL_Server_login_from_Windows_login   
    | SQL_Server_login_from_certificate   
    | SQL_Server_login_from_AsymKey   
    | server_role  

사용 권한
SQL Server 로그인에 대해 거부할 수 있는 사용 권한을 지정합니다. 사용 권한 목록은 이 항목의 뒤에 나오는 주의 섹션을 참조하세요.

로그인 :: SQL_Server_login
사용 권한을 거부할 SQL Server 로그인을 지정합니다. 범위 한정자 (::)가 필요 합니다.

서버 역할 :: server_role
사용 권한을 거부할 서버 역할을 지정합니다. 범위 한정자 (::)가 필요 합니다.

TO <server_principal>
사용 권한을 부여할 SQL Server 로그인 또는 서버 역할을 지정합니다.

SQL_Server_login
사용 권한을 거부할 SQL Server 로그인을 지정합니다.

SQL_Server_login
SQL Server 로그인의 이름을 지정합니다.

SQL_Server_login_from_Windows_login
Windows 로그인에서 생성된 SQL Server 로그인의 이름을 지정합니다.

SQL_Server_login_from_certificate
인증서로 매핑된 SQL Server 로그인의 이름을 지정합니다.

SQL_Server_login_from_AsymKey
비대칭 키에 매핑된 SQL Server 로그인의 이름을 지정합니다.

server_role
서버 역할의 이름을 지정합니다.

CASCADE
사용 권한이 거부된 보안 주체에게 사용 권한을 부여 받은 다른 보안 주체의 사용 권한도 거부됨을 나타냅니다.

AS SQL_Server_login
지정 된 SQL Server 를이 쿼리를 실행 하는 보안 주체가 권한을 거부 하는 권한을 부여할 로그인 합니다.

현재 데이터베이스가 master인 경우에만 서버 범위의 사용 권한을 거부할 수 있습니다.

서버 사용 권한에 대 한 정보를 볼 수는 sys.server_permissions 카탈로그 뷰를 사용 합니다. 서버 보안 주체에 대 한 정보에서 볼 수는 sys.server_principals 카탈로그 뷰를 사용 합니다.

GRANT OPTION을 지정하여 사용 권한이 부여된 보안 주체의 사용 권한을 거부할 경우 CASCADE를 지정하지 않으면 DENY 문이 실패합니다.

SQL Server 로그인 및 서버 역할은 서버 수준 보안 개체입니다. 다음 표에는 SQL Server 로그인 또는 서버 역할에 대해 거부할 수 있는 가장 제한적인 특정 사용 권한이 의미상 이러한 사용 권한을 포함하는 보다 일반적인 사용 권한과 함께 나열되어 있습니다.

SQL Server 로그인 또는 서버 역할 사용 권한SQL Server 로그인 또는 서버 역할 사용 권한에 포함된 사용 권한서버 사용 권한에 포함된 사용 권한
CONTROLCONTROLCONTROL SERVER
IMPERSONATECONTROLCONTROL SERVER
VIEW DEFINITIONCONTROLVIEW ANY DEFINITION
ALTERCONTROLALTER ANY LOGIN

ALTER ANY SERVER ROLE

로그인의 경우 로그인에 대한 CONTROL 권한 또는 서버에 대한 ALTER ANY LOGIN 권한이 필요합니다.

서버 역할의 경우 서버 역할에 대한 CONTROL 권한 또는 서버에 대한 ALTER ANY SERVER ROLE 권한이 필요합니다.

1. 로그인에 IMPERSONATE 권한 거부

다음 예제에서는 거부 IMPERSONATE 에 대 한 권한이 SQL Server 로그인 WanidaBenshoof 에 SQL Server Windows 사용자 로부터 만들어진 로그인 AdvWorks\YoonM합니다.

USE master;  
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];  
GO  

2. CASCADE를 지정하여 VIEW DEFINITION 권한 거부

다음 예에서는 SQL Server 로그인 VIEW DEFINITION에 대해 SQL Server 로그인 EricKurjan에 대한 RMeyyappan 권한을 거부합니다. CASCADE 옵션은 VIEW DEFINITION에 대한 EricKurjan 권한도 RMeyyappan이 이 사용 권한을 부여한 보안 주체에 대해 거부됨을 나타냅니다.

USE master;  
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan   
    CASCADE;  
GO   

3. 서버 역할에 대한 VIEW DEFINITION 권한 거부

다음 예에서는 VIEW DEFINITION 서버 역할에 대한 SalesAuditors 서버 역할에 대해 거부합니다.

USE master;  
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;  
GO   

sys.server_principals & #40입니다. TRANSACT-SQL )
sys.server_permissions & #40입니다. TRANSACT-SQL )
서버 보안 주체 사용 권한 부여 및 #40입니다. TRANSACT-SQL )
REVOKE 서버 보안 주체 사용 권한 및 #40입니다. TRANSACT-SQL )
로그인 및 #40; 만들기 TRANSACT-SQL )
보안 주체 ( 데이터베이스 엔진 )
사용 권한 및 #40; 데이터베이스 엔진 및 #41;
보안 기능 및 #40입니다. TRANSACT-SQL )
보안 저장 프로시저(Transact-SQL)

커뮤니티 추가 항목

추가
표시: