認証とは、データ、リソースまたはアプリケーションを使用する必要があるユーザー、サーバーまたはその他のエンティティのIDを検証することを意味します。そのIDを検証することで、その後の対話のための信頼関係が確立されます。また、認証によってアクセスおよび処理を特定のIDにリンクすることが可能になるため、アカウンタビリティが有効になります。
セキュアなOracle NoSQL Database内では、データベースおよび内部APIへのアクセスが通常は認証済ユーザーに制限されます。セキュアなOracle NoSQL Databaseの初回起動時は、ユーザーが定義されておらず、管理インタフェースへのログインは認証なしで許可されます。ただし、データ・アクセス操作はユーザー認証なしでは実行できません。
Oracle NoSQL Databaseで、管理CLIを使用してユーザーを作成、変更または削除できます。特定のユーザー・アカウントに関する情報および登録済ユーザーの要約リストも表示できます。詳細は、各ユーザー管理操作を説明した次の各項を参照してください。
デプロイ済管理に接続した後は、ユーザーを追加できます。作成する最初のユーザーには管理権限(ユーザーの作成/変更操作を実行する権限)が必要です。新規ユーザーを作成するには、plan create-user
コマンドを使用します。
plan create-user -name <user-name> [ -password <password> ] [ -admin ] [-disable] [ -wait ]
説明:
-name
作成する新規ユーザーの名前を指定します。ユーザー名の長さはゼロであってはならず、文字、数字およびアンダースコアからなる限られたキャラクタ・セットの文字で構成されている必要があります。
-password
新規ユーザーの初期パスワードを指定します。パスワードはコマンドラインに指定するのではなく、コンソール・プロンプトに対して指定することが薦められています。スクリプト化された構成には、この引数の使用が必要となる場合があります。
-admin
作成されたユーザーにsysadmin
ロールを割り当てます。作成する最初のユーザーにはsysadmin
ロールが必要であり、最初のユーザーを作成した後は、常に少なくとも1人の管理ユーザーが定義および有効化されている必要があります。
-disable
ユーザーを無効化された状態で作成します。初期管理ユーザーは無効化された状態で作成できません。新規作成されたユーザーのデフォルトの状態は有効化されています。
plan create-user
コマンドを-admin
オプションとともに使用して管理ユーザーを作成します。パスワードが引数として指定されていない場合、パスワードの設定を求められます。
kv-> plan create-user -name root -admin -wait Enter the new password: Re-enter the new password: Executed plan 7, waiting for completion... Plan 7 ended successfully
指定したユーザー・アカウントを変更するには、plan change-user
コマンドを使用します(-admin
オプションなしのユーザーは自分のパスワードも変更できます)。
plan change-user -name <user-name> [ -disable | -enable ] [ -set-password [ -password <password> ] [ -retain-current-password ] [ -clear-retained-password ] ]
説明:
-name
変更するユーザーの名前を指定します。ユーザー名の長さはゼロであってはならず、文字、数字およびアンダースコアからなる限られたキャラクタ・セットの文字で構成されている必要があります。
-disable
指定したアカウントを無効化します。アカウントを無効化すると、ユーザーがアカウントにログインできなくなります。また、現在ログインしているユーザーがログアウトされます。ユーザーのログアウトは即時に行われず、loginCacheTimeoutパラメータで指定されたログイン・キャッシュ・タイムアウト期間の分遅延する場合があります。
-enable
指定したアカウントを有効化します(前に無効化されたことが前提)。
-set-password
指定したアカウントのパスワードを変更します(内部パスワード認証でのみ有効)。
-password
新規ユーザーの新規パスワードを指定します。パスワードはコマンドラインに指定するのではなく、コンソール・プロンプトに対して指定することが薦められています。スクリプト化された構成には、この引数の使用が必要となる場合があります。
-retain-current-password
-passwordと組み合せた使用に限られます。指定した場合、ユーザーに定義された現在のパスワードが、限られた期間またはパスワードが明示的に消去されるまで、有効な代替パスワードとして記憶されます。一度に保持できる代替パスワードは1つのみです。このオプションにより、アプリケーションの操作に影響を与えずに引き続き実行しながら、CLIを介してパスワードを変更できます。
-clear-retained-password
現在の代替保持パスワードを消去します。
-set-password
、-clear-retained-password
および-retain-current-password
がすべて同じコマンドに指定されている場合、パスワードが現在保持されているかどうかを考慮する前に現在の保持パスワードは消去されます。
指定したユーザー・アカウントを削除するには、plan drop-user
コマンドを使用します(ユーザーは自身を削除できません)。
plan drop-user -name <user-name>
指定したユーザー・アカウントに関する情報を表示するには、show user
コマンドを使用します。
show user -name <user-name>
登録済ユーザーの要約リストを表示するには、show users
コマンドを使用します。
show users
-username <user>
または-security <path to security file>
のいずれかのrunadmin引数を使用して、管理CLIにログインできます。
-username <user>
ログインするユーザー名を指定します。このオプションは、oracle.kv.transportなどのセキュリティ・プロファイルと組み合せて使用します。
-security <path-to-security-file>
ログイン用のプロパティ設定が含まれるセキュリティ・ファイルを指定します。セキュリティ・ファイル内の相対ファイル名参照は、セキュリティ・プロパティ・ファイルの場所に対して相対的に解釈されます。たとえば、セキュリティ・プロパティ・ファイルにoracle.kv.ssl.truststore=client.trust
という設定が含まれる場合、client.trustファイルはセキュリティ・プロパティ・ファイルと同じディレクトリにある必要があります。ファイルを絶対パスで指定する場合、ファイル・システムの任意の場所に置くことができます。
前の章で説明したSSL通信プロパティに加えて、次のプロパティをファイルに設定できます。
oracle.kv.auth.username oracle.kv.auth.wallet.dir oracle.kv.auth.pwdfile.file
ここで、このファイル内のoracle.kv.auth.wallet.dirおよびoracle.kv.auth.pwdfile.fileプロパティは、それぞれEEウォレット・ディレクトリまたはCEパスワード・ストア・ファイルの場所を示します。
oracle.kv.security Javaシステム・プロパティは、セキュリティ・ファイル・パスを指定するための代替メカニズムとして使用できます。このシステム・プロパティの設定は、コマンドラインへの-security
オプションの追加と同等です。このプロパティは、すべてのツールおよびKVStoreクライアント・ライブラリによってサポートされています。