CREATE USER
CREATE USER 명령을 사용하여 새 사용자 계정을 작성할 수 있습니다.
구문
사용자를 작성하는
구문:
CREATE USER <username> [WITH <clause> [<clause>…] ]여기서
<clause>는 다음 중 하나를 나타냅니다.PASSWORD {'<pw>'|NULL} |
EXPIRE PASSWORD
PASSWORDEXPIRY <days>
AUTH {LOCAL|DEFAULT}
SYSID <userid> |
IN GROUP <usergrp>[,<usergrp>…] |
IN RESOURCEGROUP <rsg>
VALID UNTIL '<valid_date>' |
DEFPRIORITY {CRITICAL|HIGH|NORMAL|LOW|NONE} |
MAXPRIORITY {CRITICAL|HIGH|NORMAL|LOW|NONE} |
ROWSETLIMIT <rslimit> |
SESSIONTIMEOUT <sessiontimeout> |
QUERYTIMEOUT <querytimeout> |
CONCURRENT SESSIONS <concsessions> |
SECURITY LABEL {'<seclabel>|PUBLIC::'} |
AUDIT CATEGORY {NONE|'<category>[,<category>…]'}
COLLECT HISTORY {ON|OFF|DEFAULT} |
ALLOW CROSS JOIN {TRUE|FALSE|NULL} |
ACCESS TIME {ALL|DEFAULT|(<access_time>[,<access_time>…])}여기서
<seclabel>은 다음을 나타냅니다.[<level>]:<category>[,<category>…]:[<cohort>[,<cohort>…]여기서
<access_time>은 다음을 나타냅니다.DAY { ALL | <day>[,<day>…] } [ START <time> END <time> ]입력
이 명령의 입력은 다음과 같습니다.
| 입력 | 설명 |
|---|---|
| <username> | 작성되는 사용자 계정의 이름입니다. 이 이름은 전역 오브젝트 간에 고유해야 합니다. 즉, 다른 사용자 또는 데이터베이스, 그룹, 스케줄러 규칙이 이를 공유할 수 없습니다. |
| PASSWORD | 이 계정의 비밀번호입니다. 비밀번호 없이 사용자를 작성하려면 NULL을 지정하십시오. NULL은 기본값입니다. 데이터베이스 사용자 계정을 변경할 때 비밀번호를 지정할 수 있지만, 비밀번호는 LOCAL 인증에만 사용됩니다. LOCAL 인증을 사용하는 경우, 사용자는 비밀번호가 있어야 로그온할 수 있습니다. 널(NULL) 비밀번호는 허용되지 않습니다. LDAP 또는 Kerberos에서 LOCAL로 인증을 변경하는 경우에는 ALTER USER 명령을 사용하여 사용자의 비밀번호를 지정하십시오. _t_user 테이블에 액세스할 수 있는 특권이 있는 사용자는 다음 명령을 실행하여 비밀번호가 널(NULL)인 모든 사용자를 찾을 수 있습니다.
|
| EXPIRE PASSWORD | 처음 로그인한 이후 비밀번호를 변경하도록 사용자에게 강제합니다. |
| PASSWORDEXPIRY | 비밀번호가 유효한 일 수입니다. 옵션을 지정하지 않거나 0 값을 지정하면 비밀번호가 만료되지 않습니다. 비밀번호가 만료되면 데이터베이스에 다음과 같은 메시지가 표시됩니다Restricted Session. User password has
expired사용자가 다음에 데이터베이스에 로그인할 때 사용합니다. 전체 기능을 다시 사용하려면 사용자가 계정 비밀번호를 변경해야 합니다(예: ALTER USER 명령을 사용하여). 만기는 로컬로 인증된 계정에 사용됩니다. 사용자 계정에 대한 만기를 설정하지 않은 경우, 계정 비밀번호는 사용자가 구성원인 데이터베이스 그룹에 대한 만기가 있거나 시스템 전체 만기가 설정된 경우에 만료될 수 있습니다. |
| AUTH | 사용자가 사용하는 인증 유형입니다.
|
| SYSID | 새 사용자 계정과 연관되는 사용자 ID입니다. 기본값은 다음 중에서 큰 값입니다.
|
| IN GROUP | 사용자가 새 구성원으로 추가될 사용자 그룹입니다. |
| IN RESOURCEGROUP | 사용자가 지정될 자원 그룹입니다. |
| VALID UNTIL | 이 사용자 계정이 만료되는 날짜(및 선택사항으로 시간)입니다. |
| DEFPRIORITY | 사용자가 제출한 쿼리의 기본 우선순위입니다. |
| MAXPRIORITY | 사용자가 제출한 쿼리의 최대 우선순위입니다. |
| ROWSETLIMIT | 사용자가 작성한 쿼리가 리턴될 수 있는 최대 행 수입니다. 값은 다음과 같습니다.
|
| SESSIONTIMEOUT | 시스템이 세션을 종료하기 전에 해당 세션이 유휴 상태일 수 있는 시간(분)입니다. 값은 다음과 같습니다.
|
| QUERYTIMEOUT | 시스템이 관리자에게 알리기 전에 쿼리가 실행될 수 있는 시간(분)입니다. 값은 다음과 같습니다.
발행된 메시지를 관리자가 수신하려면 RunAwayQuery 이벤트 규칙이 사용되어야 합니다. 이 규칙은 IBM® Netezza® 시스템 관리자 가이드에 설명되어 있습니다. |
| CONCURRENT SESSIONS | 이 사용자가 보유할 수 있는 최대 동시 세션 수입니다. 값은 다음과 같습니다.
|
| SECURITY LABEL | 사용자의 보안 레이블입니다. 기본값은 PUBLIC::입니다. 레이블의 ID가 기타 사용자 절과 충돌하지 않도록 레이블을 작은따옴표로 묶어야 합니다. |
| AUDIT CATEGORY | 사용자의 감사 로깅 중에 보안 레이블에 추가되는 하나 이상의 감사 범주입니다. |
| COLLECT HISTORY | 시스템이 이 사용자의 세션에 대해 실행기록 데이터를 수집하는지 여부입니다.
|
| ALLOW CROSS JOIN | 사용자가 명시적 교차 조인을 수행할 수 있는지 여부입니다.
|
| ACCESS TIME | 시스템에서 사용자의 세션 시작이 허용된 경우:
|
출력
CREATE USER 명령의 출력은
다음과 같습니다.
| 출력 | 설명 |
|---|---|
| CREATE USER | 명령이 성공적으로 완료되었습니다. |
권한
명령 실행:
- SECURITY LABEL, AUDIT CATEGORY 또는 COLLECT HISTORY 옵션을 지정하는 경우에는 보안 관리 특권이 있어야 합니다.
- 기타 옵션 중 하나를 지정하는 경우에는 다음 기준 중 최소한 하나를 충족해야 합니다.
- 관리 사용자입니다.
- 데이터베이스 또는 스키마의 소유자입니다.
- 계정에 사용자 작성 특권이 있습니다.
- IN GROUP 옵션을 지정하는 경우, 대응되는 그룹 또는 그룹 오브젝트 클래스에 대한 나열 액세스 권한도 있어야 합니다.
사용량
샘플 사용법은 다음과 같습니다.
- 사용자가 처음 로그인할 때 변경되어야 할 비밀번호로 사용자 계정을 작성합니다.
MYDB.SCH1(USER)=> CREATE USER david WITH PASSWORD 'jw8s0F4' EXPIRE PASSWORD; - 60일 이후 만료되는 비밀번호로 사용자 계정을 작성합니다.
MYDB.SCH1(USER)=> CREATE USER sales_usr WITH PASSWORD 'Temp123!' PASSWORDEXPIRY 60; - 2003년 1월 1일 오후 1시에 만료되는 사용자 계정을 작성합니다.
MYDB.SCH1(USER)=> CREATE USER miriam VALID UNTIL 'Jan 1 2003 13:00'; - 감사 범주로 사용자 계정을 작성합니다.
CREATE USER bob WITH AUDIT CATEGORY top; - 월요일에서 금요일에 9시 - 13시 사이 및 수요일에 14시 - 17시 사이에만 세션을 시작할 수 있는 사용자 계정을 작성합니다.
CREATE USER bob WITH ACCESS TIME (2,3,4,5,6 START 9:00 END 13:00, 4 START 14:00 END 17:00);