ALTER USER
ALTER USER コマンドは、ユーザー・アカウントの変更に使用します。 指定しない属性は、変更されません。 例えば、有効期限を指定しない場合、以前に設定された有効期限が適用され続けます。
ALTER USER コマンドは、ユーザー・アカウント属性の以下の設定または変更に使用します。
- パスワードを設定または変更する。
- パスワードまたはアカウント自体の有効期限を設定する。
- セッション・タイムアウト、照会タイムアウト、行セット制限を設定する。
- ユーザーをユーザー・グループに追加する。 (ALTER USER コマンドは、ユーザーをグループから削除するためには使用できません。これを実行するには、ALTER GROUP コマンドを使用する必要があります。)
- ログオン試行の最大数を超過した後にアカウントのロックを解除する。
構文
ユーザー・アカウントを変更する場合の構文
ALTER USER <username> [WITH] <clause> [<clause>…]ここで、<clause> は、以下を表します。RENAME TO <newname>
RESET ACCOUNT
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>…])}入力
ALTER USER コマンドの入力は以下のとおりです。
| 入力 | 説明 |
|---|---|
| <username> | 変更するユーザー・アカウントの名前。 |
| RENAME TO <newname> | このユーザー・アカウントの新しい名前。 |
| RESET ACCOUNT | ログオンの最大数を超過した後にアカウントのロックを解除します。 |
| PASSWORD <pw> | このアカウントの新規パスワード。 ユーザー・アカウントにパスワードを設定する必要がなければ、NULL を指定します。 データベース・ユーザー・アカウントを変更するときにパスワードを指定できますが、そのパスワードは LOCAL 認証でしか使用されません。 LOCAL 認証を使用する場合、ユーザーにはログオンするためのパスワードが必要になります。NULL パスワードは許可されません。 LDAP または Kerberos 認証から LOCAL 認証に変更する場合は、ALTER USER コマンドを使用してユーザーのパスワードを指定します。 |
| EXPIRE PASSWORD | ユーザーが初めてログインした後に、パスワードの変更が強制されます。 |
| PASSWORDEXPIRY | パスワードが有効である日数。 このオプションを指定しないか、値 0 を指定した場合、パスワードの有効期限は切れません。 パスワードの有効期限が切れると、データベースは次のメッセージを表示しますRestricted Session. User password has
expiredそのユーザーが次にデータベースにログインしたとき。 ユーザーがすべての権限を取り戻すには、アカウントのパスワードを ALTER USER コマンドを使用するなどして変更する必要があります。 有効期限は、ローカルで認証されるアカウントに対して使用します。 ユーザー・アカウントの有効期限を設定しない場合でも、ユーザーがメンバーであるデータベース・グループに有効期限がある、またはシステム全体の有効期限が設定されていると、アカウント・パスワードの有効期限が切れる可能性があります。 |
| AUTH | ユーザーが使用する認証タイプ。
|
| SYSID <userid> | 新しいユーザー・アカウントに関連付けられるユーザー ID。 |
| IN GROUP <usergrp> | ユーザーをメンバーとして追加する先のユーザー・グループ。 (ALTER USER コマンドは、ユーザーをグループから削除するためには使用できません。これを実行するには、ALTER GROUP コマンドを使用する必要があります。) |
| IN RESOURCEGROUP <rsg> | ユーザーが割り当てられるリソース・グループ。 |
| VALID UNTIL '<valid_date>' | このユーザー・アカウントが期限切れとなる日付 (オプションで時刻も指定可能)。 |
| DEFPRIORITY | ユーザーによって実行依頼された照会のデフォルト優先度。 |
| MAXPRIORITY | ユーザーによって実行依頼された照会の最大優先度。 |
| ROWSETLIMIT <rslimit> | ユーザーによって実行される照会が返すことができる最大行数。 値は、次のいずれかです。
|
| SESSIONTIMEOUT <sessiontimeout> | システムがセッションを強制終了するまでにセッションがアイドル状態でいられる分数。 値は、次のいずれかです。
|
| QUERYTIMEOUT <querytimeout> | システムが管理者に通知するまでに照会を実行できる分数。 値は、次のいずれかです。
管理者が発行されたメッセージを受け取るには、RunAwayQuery イベント・ルールが有効である必要があります。 このルールは『IBM® Netezza®システム管理者ガイド』に記載されています。 |
| CONCURRENT SESSIONS <concsessions> | このユーザーで処理できる並行セッションの最大数。 値は、次のいずれかです。
|
| SECURITY LABEL <seclabel> | ユーザーのセキュリティー・ラベル。 ラベルの ID が他のユーザー節と競合しないように、ラベルは単一引用符で囲んで指定する必要があります。 |
| AUDIT CATEGORY | ユーザーの監査ロギング中にセキュリティー・ラベルに追加される 1 つ以上の監査カテゴリー。 |
| COLLECT HISTORY | システムがこのユーザーのセッションの履歴データを収集するかどうか。
|
| ALLOW CROSS JOIN | ユーザーが明示的なクロス結合を実行できるかどうか。
|
| ACCESS TIME | システムでのセッションの開始がユーザーに許可されるかどうか。
|
出力
ALTER USER コマンドは以下の出力を生成します。
| 出力 | 説明 |
|---|---|
| ALTER USER | ユーザー・アカウントは正常に変更されました。 |
| ERROR: ALTER USER: user 'username' does not exist | データベースはそのユーザーを認識していません。 |
| ERROR: permission denied. | 指定されたオプションの 1 つ以上を設定するための Manage Security 特権が必要です。 |
| ERROR: invalid security label. | セキュリティー・ラベルが間違ったフォーマットを指定されているか、存在しないセキュリティー・レベル、コホート、またはカテゴリーを参照しています。 |
| ERROR: object <category_name> not found. | 指定された監査カテゴリーは存在していません。 |
| ERROR: ALTER USER: User password cannot be repeated within the last '<num>' passwords | パスワードは、最後の <num> パスワード変更で使用されたストリングにすることはできません。 システムにパスワードの履歴が保持され、パスワードの再使用頻度に関するポリシーが適用されます。 パスワードとセキュリティ制御の詳細については、『IBM Netezzaシステム管理者ガイド』を参照してください |
特権
このコマンドを発行するには
- SECURITY LABEL、AUDIT CATEGORY、または COLLECT HISTORY オプションを指定する場合、Manage Security 特権が必要です。
- その他のオプションのいずれかを指定する場合は、以下の基準の少なくとも 1 つを満たす必要があります。
- admin ユーザーである。
- ユーザー・アカウントの所有者である。
- アカウントがユーザー・アカウントまたは User オブジェクト・クラスに対する Alter 特権を持っている。
- IN GROUP オプションを指定する場合、対応するグループまたは Group オブジェクト・クラスに対する List アクセス権限も持っている必要があります。
使用法
以下に使用例を示します。
- ユーザー・パスワードを変更します。
MYDB.SCH1(USER)=> ALTER USER davide WITH PASSWORD 'hu8jmn3'; - ユーザー・アカウントの有効期限を設定します。
MYDB.SCH1(USER)=> ALTER USER manuel WITH VALID UNTIL 'Jan 31 2030'; - 60 日後に有効期限が切れるようにアカウントのパスワードを構成します。
MYDB.SCH1(USER)=> ALTER USER sales_usr WITH PASSWORDEXPIRY 60; - ユーザーの行セット制限を設定します。
MYDB.SCH1(USER)=> ALTER USER mark WITH ROWSETLIMIT 10000;