GRANT 서버 보안 주체 사용 권한(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
SQL Server 로그인의 사용 권한을 부여합니다.
구문
GRANT permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
TO <server_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ 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
인수
permission
SQL Server 로그인에 대해 부여할 수 있는 사용 권한을 지정합니다. 사용 권한 목록은 이 항목의 뒤에 나오는 주의 섹션을 참조하세요.
로그인 :: SQL_Server_login
사용 권한을 부여할 SQL Server 로그인을 지정합니다. 범위 한정자( :: )가 필요합니다.
서버 역할 :: server_role
사용 권한을 부여할 사용자 정의 서버 역할을 지정합니다. 범위 한정자( :: )가 필요합니다.
TO <server_principal> 사용 권한을 부여할 로그인 또는 서버 역할을 지정합니다.
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
사용자 정의 서버 역할의 이름을 지정합니다.
WITH GRANT OPTION
지정된 사용 권한을 다른 보안 주체에게 부여할 수 있는 권한도 이 보안 주체에 제공됨을 나타냅니다.
AS SQL_Server_login
이 쿼리를 실행하는 보안 주체가 사용 권한을 부여하는 권한을 부여할 수 있는 SQL Server 로그인을 지정합니다.
설명
현재 데이터베이스가 master인 경우에만 서버 범위의 사용 권한을 부여할 수 있습니다.
서버 사용 권한 정보는 sys.server_permissions 카탈로그 뷰에 표시됩니다. 서버 보안 주체 정보는 sys.server_principals 카탈로그 뷰에 표시됩니다.
SQL Server 로그인 및 서버 역할은 서버 수준 보안 개체입니다. 다음 표에는 SQL Server 로그인 또는 서버 역할에 대해 부여할 수 있는 가장 제한적인 특정 사용 권한이 의미상 이러한 사용 권한을 포함하는 보다 일반적인 사용 권한과 함께 나열되어 있습니다.
SQL Server 로그인 또는 서버 역할 사용 권한 | SQL Server 로그인 또는 서버 역할 사용 권한에 포함된 사용 권한 | 서버 사용 권한에 포함된 사용 권한 |
---|---|---|
CONTROL | CONTROL | CONTROL SERVER |
IMPERSONATE | CONTROL | CONTROL SERVER |
VIEW DEFINITION | CONTROL | VIEW ANY DEFINITION |
ALTER | CONTROL | ALTER ANY LOGIN ALTER ANY SERVER ROLE |
사용 권한
로그인의 경우 로그인에 대한 CONTROL 권한 또는 서버에 대한 ALTER ANY LOGIN 권한이 필요합니다.
서버 역할의 경우 서버 역할에 대한 CONTROL 권한 또는 서버에 대한 ALTER ANY SERVER ROLE 권한이 필요합니다.
예제
A. 로그인에 IMPERSONATE 권한 부여
다음 예에서는 Windows 사용자 AdvWorks\YoonM
에서 생성된 SQL Server로그인에 대해 SQL Server로그인 WanidaBenshoof
에 대한 IMPERSONATE
권한을 부여합니다.
USE master;
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];
GO
B. GRANT OPTION을 지정하여 VIEW DEFINITION 권한 부여
다음 예에서는 GRANT OPTION
이 있는 SQL Server 로그인 RMeyyappan
에 대해 SQL Server 로그인 EricKurjan
에 대한 VIEW DEFINITION
권한을 부여합니다.
USE master;
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
WITH GRANT OPTION;
GO
C. 서버 역할에 대한 VIEW DEFINITION 권한 부여
다음 예에서는 VIEW DEFINITION
서버 역할에 대한 Sales
을 Auditors
서버 역할에 부여합니다.
USE master;
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
참고 항목
sys.server_principals(Transact-SQL)
sys.server_permissions(Transact-SQL)
CREATE LOGIN(Transact-SQL)
보안 주체(데이터베이스 엔진)
사용 권한(데이터베이스 엔진)
보안 함수(Transact-SQL)
보안 저장 프로시저(Transact-SQL)