IBM PureData System for Analytics, バージョン 7.1

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> ]

入力

コマンドの入力は以下のとおりです。
表 1. CREATE USER の入力
入力 説明
<username> 作成するユーザー・アカウントの名前。この名前は、グローバル・オブジェクトの間で固有でなければなりません。つまり、別のユーザー、データベース、グループ、スケジューラー・ルールと同じ名前にすることはできません。
PASSWORD このアカウントのパスワード。パスワードを持たないユーザーを作成するには NULL を指定します。NULL がデフォルトです。

LOCAL もしくは LDAP のいずれかの認証を使用しているときにパスワードを設定することができますが、設定したパスワードは LOCAL 認証でのみ使用できます。LOCAL 認証を使用する場合、ユーザーにはログオンするためのパスワードが必要になります。NULL パスワードは許可されません。LDAP 認証から LOCAL 認証に変更する場合は、ALTER USER コマンドを使ってユーザーのパスワードを指定します。

_t_user 表へのアクセス特権を持つユーザーは、以下のコマンドを実行することで null パスワードを持つすべてのユーザーを見つけることができます。
SELECT * FROM _t_user WHERE passwd is null
EXPIRE PASSWORD ユーザーが初めてログインした後に、パスワードの変更が強制されます。
PASSWORDEXPIRY パスワードが有効である日数。 このオプションを指定しないか、値 0 を指定した場合、パスワードの有効期限は切れません。パスワードの有効期限が切れると、ユーザーが次にデータベースにログインしたときに、Restricted Session. User password has expired というメッセージがデータベースに表示されます。ユーザーがすべての権限を取り戻すには、アカウントのパスワードを ALTER USER コマンドを使用するなどして変更する必要があります。

有効期限は、ローカルで認証されるアカウントに対して使用します。ユーザー・アカウントの有効期限を設定しない場合でも、ユーザーがメンバーであるデータベース・グループに有効期限がある、またはシステム全体の有効期限が設定されていると、アカウント・パスワードの有効期限が切れる可能性があります。

AUTH ユーザーが使用する認証タイプ。
LOCAL
LOCAL 認証。
DEFAULT
接続に対して指定された認証タイプ (LOCAL または LDAP)。
SYSID 新しいユーザー・アカウントに関連付けられるユーザー ID。デフォルトは、次のうちの大きな方になります。
  • 100
  • 現在最も大きいユーザー ID に 1 を足した ID。
IN GROUP ユーザーを新規メンバーとして追加する先のユーザー・グループ。
IN RESOURCEGROUP ユーザーが割り当てられるリソース・グループ。
VALID UNTIL このユーザー・アカウントが期限切れとなる日付 (オプションで時刻も指定可能)。
DEFPRIORITY ユーザーによって実行依頼された照会のデフォルト優先度。
MAXPRIORITY ユーザーによって実行依頼された照会の最大優先度。
ROWSETLIMIT ユーザーによって実行される照会が返すことができる最大行数。以下の値を指定できます。
  • 1 から 2,147,483,647 の範囲の数値。
  • 行数が無制限の場合は 0 (これがデフォルトです)
SESSIONTIMEOUT システムがセッションを強制終了するまでにセッションがアイドル状態でいられる分数。以下の値を指定できます。
  • 1 から 35,791,394 の範囲の数値
  • 分数が無制限の場合は 0 (これがデフォルトです)
QUERYTIMEOUT システムが管理者に通知するまでに照会を実行できる分数。以下の値を指定できます。
  • 1 から 35,791,394 の範囲の数値
  • 分数が無制限の場合は 0 (これがデフォルトです)

管理者が発行されたメッセージを受け取るには、RunAwayQuery イベント・ルールが有効である必要があります。このルールの説明は、「IBM Netezza システム管理者ガイド」に記載されています。

CONCURRENT SESSIONS このユーザーで処理できる並行セッションの最大数。以下の値を指定できます。
  • 1 から 35,791,394 の範囲の数値
  • セッション数が無制限の場合は 0 (これがデフォルトです)
設定値が 0 の場合でも、そのユーザーがメンバーであるグループによって制限が課されることがあります。ユーザーが複数のグループのメンバーである場合、最小の設定値が適用されます。
SECURITY LABEL ユーザーのセキュリティー・ラベル。デフォルトは PUBLIC:: です。ラベルの ID が他のユーザー節と競合しないように、ラベルは単一引用符で囲んで指定する必要があります。
AUDIT CATEGORY ユーザーの監査ロギング中にセキュリティー・ラベルに追加される 1 つ以上の監査カテゴリー。
COLLECT HISTORY システムがこのユーザーのセッションの履歴データを収集するかどうか。
ON
COLLECT HISTORY が ON に設定されているデータベースにユーザーが接続している場合のみ、履歴は収集されます。
OFF
ユーザーの履歴は収集されません。
DEFAULT
COLLECT HISTORY が ON に設定されているデータベースにユーザーが接続しており、以下の基準のいずれかが当てはまる場合のみ、そのユーザーに関する履歴が収集されます。
  • このユーザーは、いずれのユーザー・グループのメンバーでもない。
  • このユーザーがメンバーであるすべてのユーザー・グループは、COLLECT HISTORY が DEFAULT に設定されている。
  • このユーザーがメンバーである少なくとも 1 つのユーザー・グループは、COLLECT HISTORY が ON に設定されている。
ALLOW CROSS JOIN ユーザーが明示的なクロス結合を実行できるかどうか。
TRUE
ユーザーは明示的なクロス結合を実行できます。
FALSE
ユーザーは明示的なクロス結合を実行できません。
NULL
ユーザーは、ALLOW CROSS JOIN が FALSE に設定されている 1 つ以上のユーザー・グループのメンバーでない限り、明示的なクロス結合を実行できます。
ACCESS TIME システムでのセッションの開始がユーザーに許可されるかどうか。
ALL
ユーザーは、任意の曜日の任意の時間にセッションを開始できます。
DEFAULT
ユーザーがメンバーである各グループのアクセス時間の設定の組み合わせは、ユーザーがいつセッションを開始できるのかを決定します。例えば、ユーザーが 2 つのグループ (1 つは ACCESS TIMEを「1,2,3」と指定し、もう 1 つは「5,6,7」と指定している) のメンバーである場合、ユーザーはセッションを水曜日 (曜日 4) にのみ開始することができます。
<access_time>
アクセス時間の各サブ節は、ユーザーがセッションを開始できる 1 つ以上の曜日と 1 つの時間間隔を指定します。各曜日は、SQL 曜日番号 (1 = 日曜日、7 = 土曜日など) によって表されます. キーワード ALL は、曜日を「1,2,3,4,5,6,7」と指定するのと同等です。アクセス時間のサブ節にはオプションで、時間境界を 1 つ含めることもできます。 時間境界が指定されていない場合、そのグループは指定日の任意の時間にセッションを作成できます。

出力

CREATE USER コマンドの出力は以下のとおりです。
表 2. CREATE USER の出力
出力 説明
CREATE USER コマンドは正常に実行されました。

特権

このコマンドを発行するには
  • SECURITY LABEL、AUDIT CATEGORY、または COLLECT HISTORY オプションを指定する場合、Manage Security 特権が必要です。
  • その他のオプションのいずれかを指定する場合は、以下の基準の少なくとも 1 つを満たす必要があります。
    • admin ユーザーである。
    • データベースまたはスキーマの所有者である。
    • アカウントに Create User 特権がある。
  • IN GROUP オプションを指定する場合、対応するグループまたは Group オブジェクト・クラスに対する List アクセス権限も持っている必要があります。

使用方法

以下に使用例を示します。
  • ユーザーが初めてログオンする際に、変更する必要があるパスワードを持つユーザー・アカウントを作成します。
    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:00 に有効期限が切れるユーザー・アカウントを作成します。
    MYDB.SCH1(USER)=> CREATE USER miriam VALID
      UNTIL 'Jan 1 2003 13:00';
  • 監査カテゴリーを持つユーザー・アカウントを作成します。
    CREATE USER bob WITH AUDIT CATEGORY top;
  • 月曜日から金曜日の午前 9:00 から午後 1:00 までと、水曜日の午後 2:00 から午後 5:00 の間のみセッションを開始できるユーザー・アカウントを作成します。
    CREATE USER bob WITH ACCESS TIME (2,3,4,5,6 START 9:00 
      END 13:00, 4 START 14:00 END 17:00);


フィードバック | Copyright IBM Corporation 2014 | 最終更新日: 2014-02-28