GRANT 데이터베이스 범위 자격 증명 사용 권한(Transact-SQL)
적용 대상: SQL Server 2017(14.x) 이상 Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics
데이터베이스 범위 자격 증명에 대한 사용 권한을 부여합니다.
구문
GRANT permission [ ,...n ]
ON DATABASE SCOPED CREDENTIAL :: credential_name
TO principal [ ,...n ] [ WITH GRANT OPTION ]
[ AS granting_principal ]
인수
permission
데이터베이스 범위 자격 증명에 대해 부여할 수 있는 사용 권한을 지정합니다. 아래와 같습니다.
데이터베이스 범위 자격 증명에서 ::credential_name
사용 권한을 부여하는 데이터베이스 범위 자격 증명을 지정합니다. 범위 한정자 "::"이 필요합니다.
database_principal
사용 권한을 부여할 보안 주체를 지정합니다. 다음 중 하나
- 데이터베이스 사용자
- 데이터베이스 역할
- 애플리케이션 역할
- Windows 로그인에 매핑된 데이터베이스 사용자
- Windows 그룹에 매핑된 데이터베이스 사용자
- 인증서에 매핑된 데이터베이스 사용자
- 비대칭 키에 매핑된 데이터베이스 사용자
- 서버 보안 주체에 매핑되지 않은 데이터베이스 사용자
GRANT OPTION
지정된 사용 권한을 다른 보안 주체에게 부여할 수 있는 권한도 이 보안 주체에 제공됨을 나타냅니다.
AS granting_principal
이 쿼리를 실행하는 보안 주체가 사용 권한을 부여하는 권한을 부여할 수 있는 다른 보안 주체를 지정합니다. 다음 중 하나
- 데이터베이스 사용자
- 데이터베이스 역할
- 애플리케이션 역할
- Windows 로그인에 매핑된 데이터베이스 사용자
- Windows 그룹에 매핑된 데이터베이스 사용자
- 인증서에 매핑된 데이터베이스 사용자
- 비대칭 키에 매핑된 데이터베이스 사용자
- 서버 보안 주체에 매핑되지 않은 데이터베이스 사용자
설명
데이터베이스 범위 자격 증명은 사용 권한 계층에서 해당 사용자의 부모인 데이터베이스에 포함된 데이터베이스 수준 보안 개체입니다. 아래에는 데이터베이스 범위 자격 증명에 대해 부여할 수 있는 가장 제한적인 특정 사용 권한이 의미상 이러한 권한을 포함하는 보다 일반적인 사용 권한과 함께 나열되어 있습니다.
데이터베이스 범위 자격 증명 사용 권한 | 데이터베이스 범위 자격 증명 사용 권한에 포함된 사용 권한 | 데이터베이스 사용 권한에 포함된 사용 권한 |
---|---|---|
CONTROL | CONTROL | CONTROL |
TAKE OWNERSHIP | CONTROL | CONTROL |
ALTER | CONTROL | CONTROL |
REFERENCES | CONTROL | REFERENCES |
VIEW DEFINITION | CONTROL | VIEW DEFINITION |
참고
Azure Synapse Analytics에서 데이터베이스 범위 자격 증명에 대한 GRANT는 서버리스 SQL 풀에 대해서만 지원됩니다.
사용 권한
사용 권한을 부여한 사용자 또는 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)
REVOKE 데이터베이스 범위 자격 증명(Transact-SQL)
DENY 데이터베이스 범위 자격 증명(Transact-SQL)
사용 권한(데이터베이스 엔진)
보안 주체(데이터베이스 엔진)
암호화 계층