GRANT DATABASE ROLE¶
계정 역할 또는 다른 데이터베이스 역할 에 데이터베이스 역할을 할당합니다.
이 작업으로 데이터베이스 역할과 데이터베이스 역할이 부여된 역할(역할 계층 구조 라고도 함) 사이에 “상위-하위” 관계가 생깁니다.
사용자에게 데이터베이스 역할을 직접 부여할 수 없습니다.
자세한 내용은 액세스 제어의 개요 섹션을 참조하십시오.
구문¶
GRANT DATABASE ROLE <name> TO ROLE <parent_role_name>
매개 변수¶
name
데이터베이스 역할의 식별자(즉, 이름)를 지정하며, 역할이 생성되는 데이터베이스에서 고유해야 합니다.
식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예:
"My object"
)로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.식별자가
db_name.database_role_name
형식으로 정규화되지 않은 경우 이 명령은 세션의 현재 데이터베이스에서 데이터베이스 역할을 찾습니다.ROLE parent_role_name
지정된 계정 역할 또는 데이터베이스 역할에 역할을 부여합니다.
계정 역할이나 같은 데이터베이스의 다른 데이터베이스 역할에 데이터베이스 역할을 부여할 수 있습니다. 상위 역할이 데이터베이스 역할이고 식별자가
db_name.database_role_name
형식으로 정규화되지 않은 경우 이 명령은 세션의 현재 데이터베이스에서 데이터베이스 역할을 찾습니다.
액세스 제어 요구 사항¶
이 SQL 명령을 실행하는 데 사용되는 역할 에는 최소한 다음 권한 이 있어야 합니다.
권한 또는 역할 |
오브젝트 |
참고 |
---|---|---|
ACCOUNTADMIN |
SNOWFLAKE.BUDGET_CREATOR |
ACCOUNTADMIN 역할이 있는 사용자는 이 데이터베이스 역할을 사용자 지정 역할에 부여할 수 있습니다. |
OWNERSHIP |
역할 |
사용자 또는 다른 역할에 부여된 역할입니다. |
또는 전역 MANAGE GRANTS 권한이 있는 역할을 사용합니다.
스키마의 모든 오브젝트에 대해 작업하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한도 필요합니다.
지정된 권한 세트로 사용자 지정 역할을 만드는 방법에 대한 지침은 사용자 지정 역할 만들기 섹션을 참조하십시오.
보안 오브젝트 에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여에 대한 일반적인 정보는 액세스 제어의 개요 섹션을 참조하십시오.
사용법 노트¶
Snowflake에서 PUBLIC을 비롯한 시스템 정의 역할에 대한 역할 계층 구조를 정의하고 유지 관리하므로 이러한 역할을 다른 역할에 부여할 필요가 없습니다.
예¶
GRANT DATABASE ROLE analyst TO ROLE SYSADMIN;