GRANT ROLE

GRANT ROLE

역할(role)을 사용자 또는 다른 역할에 할당하는 명령이에요.

출처: 문서

본문

  • 역할을 다른 역할에 부여하면 두 역할 사이에 "부모-자식" 관계(역할 계층 구조)가 만들어져요.
  • 역할을 사용자에게 부여하면 사용자는 역할에 부여된 접근 권한을 통해 그 역할이 허용하는 모든 작업을 수행할 수 있게 돼요.

구문 (Syntax)

GRANT ROLE <name> TO { ROLE <parent_role_name> | USER <user_name> }

파라미터

  • name — 부여할 역할의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요.
  • ROLE parent_role_name — 역할을 지정된 역할에 부여해요.
  • USER user_name — 역할을 지정된 사용자에게 부여해요.

접근 제어 요구사항 (Access control requirements)

이 작업을 실행하는 역할은 최소한 다음 권한을 가져야 해요:

Privilege Object Notes
OWNERSHIP Role 사용자 또는 다른 역할에 부여되는 역할.

또는 전역 MANAGE GRANTS 권한이 있는 역할을 사용해요. 기본적으로 SECURITYADMIN 역할 또는 더 높은 역할만 이 권한을 가져요. 이 권한은 필요에 따라 추가 역할에 부여할 수 있어요.

스키마에서 객체를 운영하려면 부모 데이터베이스에 대한 권한이 하나 이상, 부모 스키마에 대한 권한이 하나 이상 필요해요.

사용 메모 (Usage notes)

  • PUBLIC을 포함한 시스템 정의 역할은 역할 계층 구조가 Snowflake에 의해 정의되고 유지되므로 다른 역할에 부여할 필요가 없어요.

예시 (Examples)

GRANT ROLE analyst TO ROLE SYSADMIN;
GRANT ROLE analyst TO USER user1;

더 알아보기 (Learn more)