GRANT APPLICATION ROLE
GRANT APPLICATION ROLE
애플리케이션 역할(application role)을 계정 역할, 다른 애플리케이션 역할, 애플리케이션 또는 사용자에게 할당하는 명령이에요. 이 명령은 애플리케이션 역할과 부여된 역할 사이에 "부모-자식" 관계(역할 계층 구조)를 만들어요.
출처: 문서
본문
구문 (Syntax)
GRANT APPLICATION ROLE <name> TO { ROLE <parent_role_name> | APPLICATION ROLE <application_role> | APPLICATION <application_name> | USER <user_name> }
파라미터
- name — 부여할 애플리케이션 역할의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요.
- ROLE parent_role_name — 애플리케이션 역할을 지정된 계정 역할에 부여해요.
- APPLICATION ROLE application_role — 애플리케이션 역할을 지정된 애플리케이션 역할에 부여해요. 이 grant는 애플리케이션 역할의 역할 계층 구조를 만들어요. 애플리케이션 역할은 같은 애플리케이션의 계정 역할이나 다른 애플리케이션 역할에 부여될 수 있어요. 부모 역할이 애플리케이션 역할이고 식별자가
application_name.application_role_name형식으로 정규화되지 않았다면, 명령은 세션의 현재 애플리케이션에서 애플리케이션 역할을 찾아요. - APPLICATION application_name — 애플리케이션 역할을 지정된 애플리케이션에 부여해요.
- USER user_name — 애플리케이션 역할을 지정된 사용자에게 부여해요.
접근 제어 요구사항 (Access control requirements)
이 작업을 실행하는 역할은 최소한 다음 권한을 가져야 해요:
| Privilege 또는 role | Object | Notes |
|---|---|---|
| ACCOUNTADMIN | Application role | 이 역할이 있는 사용자는 Budgets 애플리케이션 역할을 사용자 지정 역할에 부여할 수 있어요. |
| OWNERSHIP | Role | 계정 역할이나 다른 애플리케이션 역할에 부여되는 역할. 그러나 애플리케이션 소유자는 애플리케이션 역할을 다른 애플리케이션 역할이나 계정 역할에 부여할 수 있어요. OWNERSHIP은 객체 생성 역할에 자동 부여되는 특수 권한이지만, 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요. |
애플리케이션 역할을 다른 역할이나 사용자에게 부여할 수 있는 권한은 애플리케이션 소유자뿐이에요. 기본적으로 SECURITYADMIN 역할 또는 더 높은 역할만 이 권한을 가져요. 이 권한은 필요에 따라 추가 역할에 부여할 수 있어요.
사용 메모 (Usage notes)
- 애플리케이션 역할을 다른 애플리케이션 역할에 부여하는 것은 설치된 애플리케이션의 컨텍스트(예: 애플리케이션 설정 스크립트)에서만 수행할 수 있어요.
예시 (Examples)
app_role 애플리케이션 역할을 다른 애플리케이션 역할 other_app_role에 부여해요:
GRANT APPLICATION ROLE app_role to APPLICATION ROLE other_app_role;
app_role 애플리케이션 역할을 사용자 user1에게 부여해요:
GRANT APPLICATION ROLE app_role to USER user1;