ユーザー管理
SQL CLIを使用してOracle NoSQL Databaseでユーザーを作成、変更または削除できます。SQL CLIでは、ユーザーを操作するためのコマンドは、DDL APIを介してSQL形式で公開されます。SQL CLIを起動するには、SQLシェルの起動を参照してください。特定のユーザー・アカウントに関する情報を表示することも、登録済ユーザーのサマリー・リストを取得することもできます。詳細は、各ユーザー管理操作を説明した次の各項を参照してください。
すべてのユーザー・パスワードは、パスワード・セキュリティ・ポリシーに従う必要があります。詳細は、パスワードの複雑度ポリシーを参照してください。
ユーザーの作成
ユーザーを作成するには、次のコマンドを使用します。
CREATE USER user_name
(IDENTIFIED BY password
[PASSWORD EXPIRE | PASSWORD LIFETIME duration_time_unit])
[ACCOUNT LOCK|UNLOCK]
[ADMIN] 説明:
-
user_nameユーザーを識別するために名前を割り当てます。Kerberosユーザーを作成する場合、user_nameは、サイトのキー配布センター(KDC)で作成された完全修飾プリンシパル名と一致する必要があります。ユーザー名は、表名と同様にIDです。各IDの正式な定義は、次のとおりです。
各IDは、文字(ALPHA (ALPHA | DIGIT | UNDER)* ;a-z、A-Z)で開始し、その後に他の文字、数値(0 - 9)およびアンダースコア(_)を続ける必要があります。含まれる文字数に対するIDのサイズ制限はありません。IDは、その長さに対応するために必要なメモリーと同じ文字数で構成できます。実際には、ほとんどのサイトには名前の長さに関する推奨がありますが、Oracle NoSQL Databaseによってチェックされることも強制されることもありません。既存ユーザーの認証タイプは変更できないため、Kerberosユーザーの名前は、既存のユーザーとは異なる必要があります。
-
IDENTIFIED BY "password"Oracle NoSQL Databaseで、割り当てたパスワードにより新しいユーザーを認証することを示します。新規ユーザーはそのパスワードを使用してログオンする必要があります。
ノート:
ユーザー・パスワードは、引用符で囲んで指定する必要があります(たとえば、"password")。
-
PASSWORD EXPIRE割り当てられているパスワードがすでに期限切れであることを示します。この設定により、ユーザーは、最初にログインするとすぐに指定されたパスワードを変更するよう強制されます。Oracle NoSQL Databaseにアクセスする前に、選択したパスワード(すべてのサイト要件を満たすもの)を入力する必要があります。
-
割り当てられているパスワードを使用するために必要なパスワード期間の単位を示します。次のように、整数のPASSWORD LIFETIME {INT duration_time_unit}time_unitを入力します。time_unit : (SECONDS | MINUTES | HOURS | DAYS)いずれかの時間単位でゼロ(0)を使用することにより、パスワードに有効期限がないことを指定します。負の値を入力すると、エラーが発生します。PASSWORD LIFETIME time_unitを指定しない場合は、グローバル構成の有効期間が使用されます。このパラメータのデフォルトは180日です。
次に、新しいユーザーKateを作成する基本的な例を示します。
IDENTIFIED BYで、Kateに割り当てるパスワード(この場合には"password")を指定し、PASSWORD LIFETIME期間で、30 DAYSとして整数の時間単位を指定しています。sql->create USER Kate IDENTIFIED BY "<password>" PASSWORD LIFETIME:30 DAYS; -
ACCOUNT {LOCK | UNLOCK}ユーザーのアカウントをロックしてアクセスを無効にするには、
ACCOUNT LOCKを指定します。管理者は、このオプションを使用してユーザーからアクセス権を削除できますが、アカウントは保持されます。その後、必要に応じて、ACCOUNT UNLOCKを指定してユーザー・アカウントを復元します。 -
ADMIN Clauseユーザーに
sysadminロールを自動的に付与するには、ADMINを指定します。
ユーザーの変更
ユーザーを変更するには、次のコマンドを使用します。
ALTER USER user_name [IDENTIFIED BY password
[RETAIN CURRENT PASSWORD]] [CLEAR RETAINED PASSWORD] [PASSWORD EXPIRE]
[PASSWORD LIFETIME duration] [ACCOUNT UNLOCK|LOCK] 説明:
-
user_name変更するユーザーの名前。Kerberosユーザーを指定する場合は、ACCOUNT句オプションのみを変更できます。
-
IDENTIFIED Clauseユーザーに新しいパスワードを指定する場合は、
BY passwordを指定します。 -
RETAIN CURRENT PASSWORDBY password句と一緒に使用します。指定した場合、ユーザーに定義された現在のパスワードが、限られた期間(デフォルトでは24時間)またはパスワードが明示的に消去されるまで、有効な代替パスワードとして記憶されます。一度に保持できる代替パスワードは1つのみです。このオプションにより、アプリケーションの操作に影響を与えずに引き続き実行しながら、パスワードを変更できます。 -
CLEAR RETAINED PASSWORD Clause現在の代替保持パスワードを消去します。
-
PASSWORD EXPIREユーザーのパスワードをただちに失効させ、このユーザーまたはsysadminロールを持つユーザーが失効後にデータベースにログインしようとするときパスワードの変更が必須になります。
-
PASSWORD LIFETIME duration現在のパスワードを認証に使用できる期間を指定します。
duration: [0-9]+ unit unit: S | M | H | SECONDS | MINUTES | HOURS | DAYSPASSWORD LIFETIMEに0の時間単位を指定すると、パスワードが有効期限なしになります。
-
ACCOUNT Clauseユーザーのアカウントをロックしてアクセスを無効にするACCOUNT LOCKを指定します。ユーザーを有効にするには、ACCOUNT UNLOCKを指定します。
既存ユーザーのパスワードを更新する場合、新しいパスワードはパスワード・セキュリティ・ポリシーに準拠する必要があります。詳細は、パスワードの複雑度ポリシーを参照してください。
ユーザーの削除
DROP USER user_name [CASCADE] DROP USER user_nameコマンドを使用して、指定したユーザー・アカウントを削除します(ユーザーが自分自身を削除することはできません)。ここで、user_nameは、削除するユーザーの名前です。
ユーザーに既存の表がある場合、最初に各表を削除してから、ユーザーを削除します。または、オプションのCASCADEオプションを使用して、ユーザーとともにユーザー表を削除します。
たとえば:
sql->drop USER Kate cascade;ユーザーの削除は即座に発生します。ユーザーが所有する表に別のユーザーがアクセスしていた場合、これらの表に対するDML操作やDDL操作はできなくなります。
ユーザー・ステータス
SHOW [AS JSON] USERS| USER user_nameたとえば:
sql->show users;
user:KVStoreUser[id=u3 name=Alice]
user:KVStoreUser[id=u2 name=Kate]
user:KVStoreUser[id=u1 name=Ken]ノート:
ユーザーID値は、各ユーザーを追加するたびに順番に増分されます。これらは、各ユーザーが一意になるようにするための内部メカニズムです。
特定のユーザーの詳細情報を表示するには:
sql-> show user Kate;
KVStoreUser[id=u2 name=Kate] enabled=true auth-type=LOCAL current-passwd-expiration=2026-05-04 11:20:56 UTC retain-passwd=inactive granted-roles=[public, readwrite]ユーザー・ログイン
-username <user>または-security <path to security file>のいずれかの引数を使用して、SQL CLIにログインできます。SQLクライアントへのログインの詳細は、SQLシェルの起動を参照してください。