Denodo Platform と Solution Manager のパスワードポリシー¶
ユーザーアカウントを作成する際または既存のアカウントのパスワードを変更する際、パスワードが以下のポリシーを満たす必要があります。
8 文字以上であること
複雑さの要件として以下をすべて満たすこと
大文字、小文字、数字、および記号がそれぞれ少なくとも 1 文字含まれること
同じ文字の連続 4 回以上の繰り返し (例: "aaaaaa") を含まないこと
3 つ以上の連続する数字 (昇順または降順) ではないこと(例: "123" 、 "9876")
ログイン名を含まないこと
過去 3 回のパスワード変更の際に使用したパスワードの再利用ではないこと
上記のポリシーは、Denodo Platform と Solution Manager のすべてのモジュール (それぞれの構成領域にアクセスするためのパスワードを含む) に影響を及ぼします。
Data Catalog: https://denodo-server.acme.com:9443/denodo-data-catalog/#/web-local-login
Design Studio: https://denodo-solution-manager.acme.com:19443/denodo-design-studio/#/web-local-login
Scheduler:
https://denodo-server.acme.com:9443/webadmin/denodo-scheduler-admin/#/web-local-login
https://denodo-server.acme.com:9443/webadmin/denodo-scheduler-admin/?auth=login/#/local-login
重要
このページの末尾にある「 重要事項 」を参照してください。
Virtual DataPort と Solution Manager でデフォルトで無効になっているポリシー¶
上記のポリシーに加えて、管理者は以下のポリシーを有効にすることができます。これらはデフォルトで無効になっています。
パスワードの期限切れ¶
このポリシーが有効な場合、パスワードの最終変更日またはアカウントの作成日から一定日数 (デフォルトは 365 日) が経過した後に、パスワードが期限切れになります。
パスワードが期限切れになった後、ユーザーはログインできなくなり、パスワードを変更する必要があります。
このポリシーを有効にするには、ファイル <DENODO_HOME>/conf/policyConfiguration.json
を作成し、以下の内容を設定します。
{
"loginPolicy": {
"passwordExpirationConstraintConfiguration": {
"enabled": true,
"expirationInDays": 365
}
}
}
"expirationInDays" には、1 以上の任意の整数を入力します。
このパスワード ポリシーを有効にする前に、このポリシーによって多くのユーザーが予測可能なパスワードになってしまうことに注意してください (たとえば、以前と同じパスワードを入力し、最後に現在の年を入力するなど)。その場合、前のパスワードに基づいて次のパスワードを予測することができます。また、攻撃者はほとんどの場合、資格情報を入手するとすぐに使用するので、このポリシーはほとんど役に立ちません。
誤ったパスワードで何度もログインしようとしたアカウントのロック¶
このポリシーが有効な場合、誤ったパスワードによるログインを 60 分以内に 10 回試行したアカウントはロックされます。60 分が経過すると、失敗したログイン試行回数はリセットされます。
これらの試行回数とリセット時間はどちらも構成可能です。
このポリシーを有効にするには、ファイル <DENODO_HOME>/conf/policyConfiguration.json
を作成し、以下の内容を設定します。
{
"loginPolicy": {
"lockoutConstraintConfiguration": {
"enabled": true,
"maxFailedAttempts": 10,
"minutesToResetFailedAttempts": 60
}
}
}
このファイルがすでに存在する場合、JSON 配列 "lockoutConstraintConfiguration" を "loginPolicy" に追加します。以下に例を示します。
{
"loginPolicy": {
"passwordExpirationConstraintConfiguration": {
"enabled": true,
"expirationInDays": 180
},
"lockoutConstraintConfiguration": {
"enabled": true,
"maxFailedAttempts": 5,
"minutesToResetFailedAttempts": 60
}
}
}
ロックされたアカウントをロック解除するには、管理者が次のコマンドを実行する必要があります。
ALTER USER <locked user>
CURRENT_PASSWORD '<your administrator password>'
UNLOCK;
これを行うには、管理者はユーザー名とパスワードを使用してログインする必要があります (Kerberos または Denodo SSO でログインした管理者はユーザーをロック解除できないため)。
すべての管理者が Virtual DataPort または Solution Manager からロックされた場合¶
すべての管理者ユーザーがロックされた場合、以下の手順に従います。
Denodo Platform または Solution Manager がインストールされているホストに、インストール環境のファイルを変更する権限を持つアカウントで接続します。
ファイル
<DENODO_HOME>/conf/vdp/VDBConfiguration.properties
を編集して、次のプロパティを追加します。userRecoveryOnStartup=<temporary password>
Virtual DataPort を再起動します。
新しいユーザーアカウント"denodo_recovery_user" と手順 #2 で指定したパスワードでログインできるようになります。
自分の管理者アカウントをロック解除してログアウトします。
復旧用アカウント ("denodo_recovery_user") を削除します。
復旧用アカウントのパスワードを暗号化して "VDBConfiguration.properties" に保存する場合、以下の手順に従います。
スクリプト
<DENODO_HOME>/bin/encrypt_password
を実行し、新しいパスワードを暗号化します。ファイル "VDBConfiguration.properties" に以下のようにパスワードを入力します。
userRecoveryOnStartup=encrypted:<encrypted password>
注釈
このプロセスは、Solution Manager のアカウントをロック解除する場合も同じです。
注釈
すべての管理者ユーザーがロックされた場合、およびすべての管理者ユーザーのパスワードがわからなくなった場合も、denodo_recovery_user を使用してサーバーにアクセスします。それらの状況では、サーバーにログインすることも、管理者ユーザーのパスワードを変更することもできなくなります (管理者ユーザーが ALTER USER PASSWORD
ステートメントを実行する必要があるため)。したがって、常に復旧メカニズムが利用可能であることを保証するために、事前定義された管理者ユーザーを作成する機能が必要です。
注釈
コンテナー環境で復旧メカニズムを適用するには、Denodo ナレッジベースの「 コンテナー環境で Denodo Administrator ユーザーをロック解除する方法 」という記事の手順に従ってください。
重要事項¶
パスワードポリシーの影響を受けるのは、Virtual DataPort、Solution Manager などのローカルユーザーアカウントおよび他のローカルアカウントのみです。組織の Active Directory または ID プロバイダーで作成されたアカウントを持つユーザーは影響を受けません。
デフォルトで無効になっているポリシーに関して、それらを有効にした場合に影響を受けるのは、新しいアカウントまたはポリシーを有効にした後にパスワードが変更されたアカウントのみです。
たとえば、N 日後にパスワードが期限切れになるポリシーを有効にする場合、その影響を受けるのは、新しいアカウントおよびパスワードを変更するユーザーのみです。それ以外のユーザーのパスワードは永遠に有効です。
たとえば、パスワードを期限切れにするポリシーを有効にして、このポリシーをすべてのユーザーに適用する場合、すべてのユーザーアカウントに対して以下の手順を実行します。
管理者としてログインして、以下のコマンドを実行します。
DESC VQL USER "<user name>" ('includeUserPrivileges' = 'yes' , 'replaceExistingElements' = 'yes' , 'dropElements' = 'no');
このコマンドの出力をコピーして実行します。
これを各ローカルユーザーに対して繰り返します (すべてのユーザーを取得するには
LIST USERS
を実行します)。
アカウントがポリシーの影響を受け始めるのは、アカウントが再作成されたときなので、この手順を実行する必要があります。