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;

더 알아보기 (Learn more)