CREATE APPLICATION ROLE
CREATE APPLICATION ROLE
새 애플리케이션 역할(application role)을 만들거나 기존 애플리케이션 역할을 교체하는 명령이에요. 애플리케이션 역할을 사용해 애플리케이션 객체 내의 객체에 대한 접근 제어 보안을 활성화해요.
출처: 문서
본문
Snowflake Native App Framework는 지원되는 클라우드 플랫폼에서 일반 제공(Generally Available)돼요. 추가 정보는 프라이빗 연결, VPS, 정부 리전 지원을 참고하세요.
자세한 내용은 애플리케이션 역할 개요를 참고하세요.
참고: 애플리케이션 역할은 애플리케이션 객체의 컨텍스트 내에서만 유효해요.
애플리케이션 역할을 만들 때 애플리케이션 역할에 객체에 대한 권한을 부여할 수 있어요. 설정 스크립트 내에서 애플리케이션 역할을 다른 애플리케이션 역할에 부여할 수 있어요. Snowflake Native App을 설치한 후 소비자는 애플리케이션 역할을 계정 역할에 부여해 앱에 대한 접근을 활성화할 수 있어요. 애플리케이션 역할을 사용하면 애플리케이션 내의 다른 객체 또는 소비자 계정에서 애플리케이션이 소유한 객체에 대한 권한을 부여할 수 있어요.
애플리케이션 역할은 WITH GRANT OPTION과 함께 애플리케이션 소유자에게 암시적으로 부여돼요. 애플리케이션 소유자는 이러한 역할을 계정 수준 역할에 부여해 애플리케이션이 소유한 객체에 대한 접근을 제공할 수 있어요.
또한 이 명령은 다음 변형을 지원해요:
- CREATE OR ALTER APPLICATION ROLE: 애플리케이션 역할이 없으면 새로 만들고, 있으면 기존 애플리케이션 역할을 변경해요.
관련 명령: ALTER APPLICATION ROLE, GRANT APPLICATION ROLE, REVOKE APPLICATION ROLE, SHOW APPLICATION ROLES
구문 (Syntax)
CREATE [ OR REPLACE ] APPLICATION ROLE [ IF NOT EXISTS ] <name>
[ COMMENT = '<string_literal>' ]
변형 구문 (Variant syntax)
CREATE OR ALTER APPLICATION ROLE — 애플리케이션 역할이 아직 없으면 새로 만들거나, 기존 애플리케이션 역할을 문에서 정의된 역할로 변환해요. CREATE OR ALTER APPLICATION ROLE 문은 CREATE APPLICATION ROLE 문의 구문 규칙을 따르고 ALTER APPLICATION ROLE 문과 동일한 제한을 가져요.
CREATE OR ALTER APPLICATION ROLE <name>
[ COMMENT = '<string_literal>' ]
자세한 내용은 CREATE OR ALTER APPLICATION ROLE 사용 메모와 CREATE OR ALTER <object>를 참고하세요.
필수 매개변수 (Required parameters)
name — 애플리케이션 역할의 식별자를 지정해요. 이 값은 역할이 만들어지는 애플리케이션 객체 내에서 고유해야 해요. 식별자는 알파벳 문자로 시작해야 하며, 전체 식별자 문자열을 큰따옴표로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없어요(예: "My object"). 큰따옴표로 묶은 식별자는 대소문자를 구분해요. 식별자가 정규화되지 않은 application_name.application_role_name 형식이 아니면, 명령은 세션의 현재 애플리케이션에 애플리케이션 역할을 만들어요. 자세한 내용은 식별자 요구사항을 참고하세요.
선택 매개변수 (Optional parameters)
COMMENT = 'string_literal' — 애플리케이션 역할에 대한 주석을 지정해요.
기본값: 값 없음
접근 제어 요구사항 (Access control requirements)
이 작업을 실행하는 데 사용되는 역할은 최소한 다음 권한을 보유해야 해요: GRANT OWNERSHIP
| 권한 | 객체 | 설명 |
|---|---|---|
| OWNERSHIP | Application role | 기존 애플리케이션 역할에 대해 CREATE OR ALTER 문을 실행하는 데 필요해요. OWNERSHIP은 객체를 만든 역할에 자동으로 부여되는 객체의 특별한 권한이에요. 소유 역할(또는 MANAGE GRANTS 권한이 있는 역할)이 GRANT OWNERSHIP 명령으로 다른 역할에 이전할 수도 있어요. |
지정한 권한 집합을 가진 사용자 정의 역할을 만드는 방법은 사용자 정의 역할 만들기를 참고하세요.
보호 객체에서 SQL 작업을 수행할 때 역할과 권한 부여에 대한 일반 정보는 접근 제어 개요를 참고하세요.
일반 사용 메모 (General usage notes)
- 애플리케이션 객체에 만들 수 있는 애플리케이션 역할의 최대 수는 1000이에요.
- 메타데이터 관련: Snowflake 서비스를 사용할 때 메타데이터로 개인 데이터(User 객체 외), 민감한 데이터, 수출 통제 데이터 또는 기타 규제 대상 데이터를 입력하지 않도록 주의해야 해요. 자세한 내용은 Snowflake의 메타데이터 필드를 참고하세요.
- OR REPLACE와 IF NOT EXISTS 절은 상호 배타적이에요. 같은 문에서 둘 다 사용할 수 없어요.
- CREATE OR REPLACE <object> 문은 원자적이에요. 즉 객체가 교체될 때 이전 객체가 삭제되고 새 객체가 단일 트랜잭션으로 생성돼요.
CREATE OR ALTER APPLICATION ROLE 사용 메모
- ALTER APPLICATION ROLE 명령의 모든 제한이 적용돼요.
- 태그 설정/해제는 지원되지 않지만, 기존 태그는 CREATE OR ALTER APPLICATION ROLE 문으로 변경되지 않으며 그대로 유지돼요.
예시 (Examples)
CREATE APPLICATION ROLE app_role
COMMENT = 'Application role for the Hello Snowflake application.';
더 알아보기 (Learn more)
- ALTER APPLICATION ROLE — 애플리케이션 역할 수정
- GRANT APPLICATION ROLE — 애플리케이션 역할 부여
- SHOW APPLICATION ROLES — 애플리케이션 역할 나열