CREATE ORGANIZATION USER
CREATE ORGANIZATION USER
새 조직 사용자(organization user)를 만드는 명령이에요. 조직 사용자는 조직 수준에서 정의되어 여러 계정에 가져와질 수 있는 사용자예요.
출처: 문서
본문
새 조직 사용자를 만들어요.
함께 보기: ALTER ORGANIZATION USER, DROP ORGANIZATION USER, SHOW ORGANIZATION USERS
구문 (Syntax)
CREATE ORGANIZATION USER [ IF NOT EXISTS ] <name>
[ objectProperties ]
여기서:
objectProperties ::=
EMAIL = '<string>'
LOGIN_NAME = '<string>'
DISPLAY_NAME = '<string>'
FIRST_NAME = '<string>'
MIDDLE_NAME = '<string>'
LAST_NAME = '<string>'
TYPE = { PERSON | SERVICE }
COMMENT = '<string>'
필수 매개변수 (Required parameters)
name
조직 사용자의 식별자로, 조직 안에서 고유해야 해요.
식별자는 반드시 알파벳 문자로 시작해야 하며, 전체 식별자 문자열이 큰따옴표로 묶이지 않는 한 공백이나 특수 문자를 포함할 수 없어요 (예: "My object"). 큰따옴표로 묶인 식별자는 대소문자를 구분해요.
자세한 내용은 식별자 요구 사항(Identifier requirements)을 참고해요.
EMAIL = 'string'
사용자의 이메일 주소예요.
선택 매개변수 (Optional parameters)
LOGIN_NAME = 'string'
사용자가 시스템에 로그인할 때 입력하는 이름이에요. 사용자의 로그인 이름은 조직 전체에서 고유해야 해요. 조직 사용자를 가져오려는 일반 계정의 로그인 이름과 일치할 수 없어요.
로그인 이름은 공백과 느낌표(!), 백분율 기호(%), 별표(*) 같은 영숫자가 아닌 문자를 포함해 모든 문자열일 수 있어요. 다만 문자열에 공백이나 영숫자가 아닌 문자가 포함되면 작은따옴표나 큰따옴표로 감싸야 해요. 로그인 이름은 항상 대소문자를 구분하지 않아요.
Snowflake는 로그인에 공통 식별자(예: 이메일 주소)를 사용할 수 있도록 사용자 이름과 로그인 이름을 다르게 지정하는 것을 허용해요.
- 기본값: 사용자의 이름/식별자 (값을 지정하지 않으면
name에 지정된 값이 로그인 이름으로 사용돼요)
DISPLAY_NAME = 'string'
Snowflake 웹 인터페이스에서 사용자에게 표시되는 이름이에요.
- 기본값: 사용자의 이름/식별자 (값을 지정하지 않으면
name에 지정된 값이 표시 이름으로 사용돼요)
FIRST_NAME = 'string', MIDDLE_NAME = string, LAST_NAME = 'string'
사용자의 이름·중간 이름·성이에요.
- 기본값:
NULL
TYPE = { PERSON | SERVICE }
조직 사용자가 사람을 나타내는지 서비스를 나타내는지 지정해요.
PERSON: 조직 사용자가 Snowflake와 상호작용할 수 있는 사람 사용자예요.SERVICE: 조직 사용자가 사람의 상호작용 없이 Snowflake와 상호작용하는 서비스나 애플리케이션이에요.
각 사용자 유형의 특성(서비스 사용자가 사용할 수 있는 인증 방법 포함)은 사용자 유형(Types of users)을 참고해요.
PERSON과 SERVICE는 조직 사용자가 가질 수 있는 유일한 유형이에요. 일반 계정의 사용자에게는 유효하지만 조직 사용자에게는 유효하지 않은 유형(예: SERVICE_AGENT, LEGACY_SERVICE)은 거부돼요.
유형은 조직 사용자를 연결할 수 있는 기존 사용자를 결정하며, 조직 사용자가 일반 계정에 가져와질 때 Snowflake가 만드는 사용자 객체에 적용돼요. 자세한 내용은 조직 사용자 유형(Organization user types)을 참고해요.
조직 사용자를 만든 뒤에는 유형을 변경할 수 없어요. ALTER ORGANIZATION USER 명령은 TYPE 속성을 받지 않아요.
- 기본값:
PERSON
COMMENT = 'string'
사용자에 대한 설명이에요.
접근 제어 요구 사항 (Access control requirements)
이 작업을 실행하는 데 사용하는 역할(role)은 최소한 다음 권한을 가져야 해요.
| 권한 (Privilege) | 객체 (Object) | 비고 |
|---|---|---|
| CREATE ORGANIZATION USER | ACCOUNT | 기본적으로 조직 계정의 GLOBALORGADMIN과 USERADMIN 시스템 역할만 이 권한을 가져요. |
지정된 권한 집합으로 사용자 지정 역할을 만드는 방법은 사용자 지정 역할 만들기(Creating custom roles)를 참고해요. 보호 가능한 객체에 대해 SQL 작업을 수행하기 위한 역할과 권한 부여의 일반적인 내용은 접근 제어 개요(Overview of Access Control)를 참고해요.
예시 (Examples)
조직 사용자를 만들고 EMAIL 속성을 설정해요. TYPE 속성을 지정하지 않았으므로 조직 사용자는 PERSON 사용자예요.
CREATE ORGANIZATION USER joe EMAIL = '[email protected]';
둘 이상의 계정에서 실행되는 서비스용 조직 사용자를 만들어요.
CREATE ORGANIZATION USER etl_pipeline
EMAIL = '[email protected]'
TYPE = SERVICE;
계정 관리자가 etl_pipeline을 포함한 조직 사용자 그룹을 가져오면 일반 계정에 만들어지는 사용자 객체도 SERVICE 사용자예요. 이런 종류의 조직 사용자를 기존 서비스 사용자에 연결하는 예시는 SYSTEM$LINK_ORGANIZATION_USER를 참고해요.
더 알아보기 (Learn more)
- ALTER ORGANIZATION USER — 조직 사용자 수정
- DROP ORGANIZATION USER — 조직 사용자 삭제
- SHOW ORGANIZATION USERS — 조직 사용자 조회