目次
- 1 はじめに
- 2 パスワードポリシーの説明と設定例
- 2.1 PASSWORD_LIFE_TIME
- 2.2 PASSWORD_GRACE_TIME
- 2.3 FAILED_LOGIN_ATTEMPTS
- 2.4 PASSWORD_LOCK_TIME
- 2.5 PASSWORD_REUSE_MAX
- 2.6 PASSWORD_REUSE_TIME
- 2.7 PASSWORD_MAX_LENGTH
- 2.8 PASSWORD_MIN_LENGTH
- 2.9 PASSWORD_MIN_LETTERS
- 2.10 PASSWORD_MIN_UPPERCASE_LETTERS
- 2.11 PASSWORD_MIN_LOWERCASE_LETTERS
- 2.12 PASSWORD_MIN_DIGITS
- 2.13 PASSWORD_MIN_SYMBOLS
- 3 参考情報
- 4 検証バージョンについて
- 5 更新履歴
はじめに
VerticaのDBユーザーには、パスワードに使用できる文字数や文字種の組合せなど、様々なパスワードポリシーが設定できます。パスワードポリシーを設定することで、推測されやすいパスワードの設定を防ぎ、第三者から不正にDBアクセスされるリスクを軽減できます。パスワードポリシーの説明と設定例
Verticaで設定可能なパスワードポリシーについて、ご紹介します。下記パラメータのデフォルトは全て「Unlimited」であり、制限なしを意味しています。
PASSWORD_LIFE_TIME
現在のパスワードが有効な期間(日数)。期間経過後、ユーザーはパスワードを変更する必要があります。「PASSWORD_GRACE_TIME」がゼロまたは「unlimited」以外に設定されている場合、パスワードの有効期限切れの警告が表示されます。■パスワード有効期間を超過した後にログインを試み、パスワード変更を強制されている例 (設定値=1 の場合)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ vsql -U test_01 Password: The password has expired. Changing password for test_01 New password: Retype new password: Password changed. Welcome to vsql, the Vertica Analytic Database interactive terminal. Type: \h or \? for help with vsql commands \g or terminate with semicolon to execute query \q to quit test_01=> |
PASSWORD_GRACE_TIME
「PASSWORD_LIFE_TIME」を過ぎた後も、警告メッセージを表示させて、ログインを許可する日数。この期間経過後、ユーザーはログイン時にパスワードの変更を強制されます。■パスワード変更猶予期間の警告メッセージ例 (設定値=7 の場合)
1 2 3 4 5 6 7 8 9 10 11 12 |
--パスワード期限が近いことを警告 [dbadmin@motosrv1 test]$ vsql -U test_02 Password: The password will expire soon. Please change password with "\password". Welcome to vsql, the Vertica Analytic Database interactive terminal. Type: \h or \? for help with vsql commands \g or terminate with semicolon to execute query \q to quit test_02=> |
FAILED_LOGIN_ATTEMPTS
ログインに連続失敗した場合、アカウントロックされるまでの試行回数。■ログインに連続して失敗し、アカウントがロックされた場合の例 (設定値=2 の場合)
1 2 3 4 5 6 7 8 9 10 |
--パスワードの入力ミス $ vsql -U test_03 Password: vsql: FATAL 3781: Invalid username or password --アカウントがロックされる $ vsql -U test_03 Password: vsql: FATAL 4975: The user account "test_03" is locked due to too many invalid logins HINT: Please contact the database administrator |
PASSWORD_LOCK_TIME
「FAILED_LOGIN_ATTEMPTS」でアカウントロック後、解除されるまでの日数。日数経過後、自動的にアカウントロックは解除されます。■アカウントがロックされた後、PASSWORD_LOCK_TIMEを超過してアカウントロックが解除された例 (設定値=7 の場合)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
--アカウントロックされている状態 $ date 2019年 3月 27日 水曜日 13:00:25 JST $ vsql -U test_04 Password: vsql: FATAL 4975: The user account "test_04" is locked due to too many invalid logins HINT: Please contact the database administrator --設定値以上の日数経過後、ログインに成功 $ date 2019年 4月 27日 土曜日 13:00:03 JST $ vsql -U test_04 Password: Welcome to vsql, the Vertica Analytic Database interactive terminal. Type: \h or \? for help with vsql commands \g or terminate with semicolon to execute query \q to quit test_04=> |
PASSWORD_REUSE_MAX
現在のパスワード変更後、同一パスワードが再利用可能になるまでに必要なパスワードの変更回数。■パスワードの変更時、同一パスワードを指定したために再利用不可のエラーが発生した例 (設定値=2 の場合)
1 2 3 4 5 6 7 8 9 |
$ vsql -U test_05 Password: The password has expired. Changing password for test_05 New password: Retype new password: vsql: ERROR 2302: Can not reuse the previous 2 passwords HINT: Please check PASSWORD_REUSE_MAX in user's profile |
PASSWORD_REUSE_TIME
現在のパスワード変更後、再利用可能になるまでの日数。■パスワードの変更時、同一パスワードを指定したために再利用不可のエラーが発生した例 (設定値=90 の場合)
1 2 3 4 5 6 7 8 9 |
$ vsql -U test_06 Password: The password has expired. Changing password for test_06 New password: Retype new password: vsql: ERROR 2300: Can not reuse any recent passwords HINT: Please check PASSWORD_REUSE_TIME in user's profile |
PASSWORD_MAX_LENGTH
設定可能なパスワードの最大文字数。「8」から「100」の範囲で設定可能。■ユーザ作成時、パスワードの最大長を超過した場合の例 (設定値=8 の場合)
1 2 3 4 |
dbadmin=> create user test_07 identified by 'aaaaaaaaa' profile test_profile_07; ROLLBACK 4923: That password is not acceptable DETAIL: The password is too long HINT: Maximum password length is 8 characters |
PASSWORD_MIN_LENGTH
設定可能なパスワードの最小文字数。「0」からPASSWORD_MAX_LENGTHの範囲で設定可能。■ユーザ作成時、パスワードの最小長を下回った場合の例 (設定値=2 の場合)
1 2 3 4 |
dbadmin=> CREATE USER test_08 IDENTIFIED BY 'a' profile test_profile_08; ROLLBACK 4923: That password is not acceptable DETAIL: The password is too short HINT: Minimum password length is 2 characters |
PASSWORD_MIN_LETTERS
パスワード設定時に含める必要があるアルファベット大文字または、小文字(A-Z または a-z)の数。アルファベット大文字または、小文字のいずれかを設定値分含める必要があります。「0」からPASSWORD_MAX_LENGTHの範囲で設定可能。■ユーザ作成、パスワードにアルファベット文字の数が不足している例 (設定値=2 の場合)
1 2 3 |
dbadmin=> CREATE USER test_09 IDENTIFIED BY 'a' profile test_profile_09; ROLLBACK 4923: That password is not acceptable DETAIL: The password must have at least 2 alphabetic characters |
PASSWORD_MIN_UPPERCASE_LETTERS
パスワード設定時に含める必要があるアルファベット大文字(A-Z)の数。「0」からPASSWORD_MAX_LENGTHの範囲で設定可能。■ユーザ作成、パスワードにアルファベット大文字の数が不足している例 (設定値=1 の場合)
1 2 3 |
dbadmin=> create user test_10 identified by 'a' profile test_profile_10; ROLLBACK 4923: That password is not acceptable DETAIL: The password must have at least 2 uppercase letters |
PASSWORD_MIN_LOWERCASE_LETTERS
パスワード設定時に含める必要があるアルファベット小文字(a-z)の数。「0」からPASSWORD_MAX_LENGTHの範囲で設定可能。■ユーザ作成、パスワードにアルファベット小文字の数が不足している例 (設定値=1 の場合)
1 2 3 |
dbadmin=> create user test_11 identified by 'A' profile test_profile_11; ROLLBACK 4923: That password is not acceptable DETAIL: The password must have at least 2 lowercase letters |
PASSWORD_MIN_DIGITS
パスワード設定時に含める必要がある数字(1-9)の数。「0」からPASSWORD_MAX_LENGTHの範囲で設定可能。■ユーザ作成、パスワードに数字の数が不足している例 (設定値=1 の場合)
1 2 3 |
dbadmin=> create user test_12 identified by 'a' profile test_profile_12; ROLLBACK 4923: That password is not acceptable DETAIL: The password must have at least 2 numeric characters (0-9) |
PASSWORD_MIN_SYMBOLS
パスワード設定時に含める必要がある記号($、#、@など)の数。「0」からPASSWORD_MAX_LENGTHの範囲で設定可能。■ユーザ作成、パスワードに記号の数が不足している例 (設定値=1 の場合)
1 2 3 |
dbadmin=> create user test_13 identified by 'a' profile test_profile_13; ROLLBACK 4923: That password is not acceptable DETAIL: The password must have at least 2 non-alphanumeric characters |
参考情報
・特定のIPアドレスからのみ接続可能なユーザを作成するhttp://vertica-tech.ashisuto.co.jp/authentication_hash/
検証バージョンについて
この記事の内容はVertica 9.2で確認しています。更新履歴
2019/03/27 Vertica 9.2で確認2016/03/16 本記事を公開