第7章 認証の構成

目次

ユーザー管理
ユーザーの作成
ユーザーの変更
ユーザーの削除
ユーザー・ステータス
ユーザー・ログイン
セッション

認証とは、データ、リソースまたはアプリケーションを使用する必要があるユーザー、サーバーまたはその他のエンティティの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クライアント・ライブラリによってサポートされています。