CREATE PASSWORD POLICY¶
新しいパスワードポリシーを作成するか、既存のパスワードポリシーを置き換えます。
パスワードポリシーを作成したら、 ALTER ACCOUNT ステートメントを使用してパスワードポリシーをアカウントに適用するか、 ALTER USER ステートメントを使用してユーザーに適用します。
- こちらもご参照ください。
構文¶
CREATE [ OR REPLACE ] PASSWORD POLICY [ IF NOT EXISTS ] <name>
[ PASSWORD_MIN_LENGTH = <integer> ]
[ PASSWORD_MAX_LENGTH = <integer> ]
[ PASSWORD_MIN_UPPER_CASE_CHARS = <integer> ]
[ PASSWORD_MIN_LOWER_CASE_CHARS = <integer> ]
[ PASSWORD_MIN_NUMERIC_CHARS = <integer> ]
[ PASSWORD_MIN_SPECIAL_CHARS = <integer> ]
[ PASSWORD_MIN_AGE_DAYS = <integer> ]
[ PASSWORD_MAX_AGE_DAYS = <integer> ]
[ PASSWORD_MAX_RETRIES = <integer> ]
[ PASSWORD_LOCKOUT_TIME_MINS = <integer> ]
[ PASSWORD_HISTORY = <integer> ]
[ COMMENT = '<string_literal>' ]
必須パラメーター¶
name
パスワードポリシーの識別子。アカウントに対して一意である必要があります。
識別子の値はアルファベットで始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。
オプションのパラメーター¶
PASSWORD_MIN_LENGTH = integer
パスワードに含める必要がある最小文字数を指定します。
サポートされている範囲は8から256までです。
デフォルト: 8
PASSWORD_MAX_LENGTH = integer
パスワードに含める必要がある最大文字数を指定します。この数は、
PASSWORD_MIN_LENGTH
、PASSWORD_MIN_UPPER_CASE_CHARS
、およびPASSWORD_MIN_LOWER_CASE_CHARS
の合計以上にする必要があります。サポートされている範囲は8から256までです。
デフォルト: 256
PASSWORD_MIN_UPPER_CASE_CHARS = integer
パスワードに含める必要がある大文字の最小文字数を指定します。
サポートされている範囲は0から256までです。
デフォルト: 1
PASSWORD_MIN_LOWER_CASE_CHARS = integer
パスワードに含める必要がある小文字の最小文字数を指定します。
サポートされている範囲は0から256までです。
デフォルト: 1
PASSWORD_MIN_NUMERIC_CHARS = integer
パスワードに含める必要がある数字の最小文字数を指定します。
サポートされている範囲は0から256までです。
デフォルト: 1
PASSWORD_MIN_SPECIAL_CHARS = integer
パスワードに含める必要がある特殊文字の最小文字数を指定します。
サポートされている範囲は0から256までです。
デフォルト: 0
PASSWORD_MIN_AGE_DAYS = integer
最近変更したパスワードが再度変更できるようになるまでの日数を指定します。
サポートされている範囲は0から999までです。
デフォルト: 0
PASSWORD_MAX_AGE_DAYS = integer
パスワードの変更が必要になるまでの最大日数を指定します。
サポートされている範囲は0から999までです。
ゼロの値(つまり、
0
)は、パスワードを変更する必要がないことを示します。Snowflakeは、デフォルトのアカウントレベルのパスワードポリシーまたはユーザーレベルのポリシーにこの値を選択することを推奨しません。代わりに、社内のセキュリティガイドラインを満たす値を選択してください。デフォルト: 90。これは、90日ごとにパスワードを変更する必要があることを意味します。
重要
このパラメーターはステートフルです。詳細については、 アカウントとユーザーのカスタムパスワードポリシー の注意事項をご参照ください。
PASSWORD_MAX_RETRIES = integer
ロックアウトされるまでのパスワード入力の最大試行回数を指定します。
サポートされている範囲は1から10までです。
デフォルト: 5
重要
このパラメーターはステートフルです。詳細については、 アカウントとユーザーのカスタムパスワードポリシー の注意事項をご参照ください。
PASSWORD_LOCKOUT_TIME_MINS = integer
指定されたパスワード再試行回数(つまり、
PASSWORD_MAX_RETRIES
)に達した後、ユーザーアカウントがロックされる分数を指定します。サポートされている範囲は1から999までです。
デフォルト: 15
重要
このパラメーターはステートフルです。詳細については、 アカウントとユーザーのカスタムパスワードポリシー の注意事項をご参照ください。
PASSWORD_HISTORY = integer
Snowflakeが保存する最新のパスワードの数を指定します。保存されたこれらのパスワードは、ユーザーがパスワードの値を更新するときに繰り返して使用することはできません。
現在のパスワードの値は履歴にカウントされません。
履歴の値を増やすと、Snowflakeは以前の値を保存します。
値を下げると、Snowflakeは保存された値を設定された値まで保存します。たとえば、履歴の値が8で、履歴の値を3に変更した場合、Snowflakeは最新の3つパスワードを保存し、履歴から5つの古いパスワード値を削除します。
デフォルト: 0
最大: 24
COMMENT = 'string_literal'
パスワードポリシーのコメントを追加するか、既存のコメントを上書きします。
アクセス制御の要件¶
この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。
権限 |
オブジェクト |
メモ |
---|---|---|
CREATE PASSWORD POLICY |
スキーマ |
スキーマ内の任意のオブジェクトを操作するには、親データベースとスキーマに対する USAGE 権限も必要であることに注意してください。
指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。
セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。
パスワードポリシー DDL と権限の詳細については、 パスワードポリシーの管理 をご参照ください。
使用上の注意¶
既存のパスワードポリシーを置き換えるために、ポリシーの現在の定義を確認する必要がある場合は、 GET_DDL 関数を呼び出すか、 DESCRIBE PASSWORD POLICY コマンドを実行します。
CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。
例¶
現在のアカウント用に password_policy_prod_1
という名前のパスワードポリシーを作成します。
CREATE PASSWORD POLICY PASSWORD_POLICY_PROD_1 PASSWORD_MIN_LENGTH = 12 PASSWORD_MAX_LENGTH = 24 PASSWORD_MIN_UPPER_CASE_CHARS = 2 PASSWORD_MIN_LOWER_CASE_CHARS = 2 PASSWORD_MIN_NUMERIC_CHARS = 2 PASSWORD_MIN_SPECIAL_CHARS = 2 PASSWORD_MIN_AGE_DAYS = 1 PASSWORD_MAX_AGE_DAYS = 30 PASSWORD_MAX_RETRIES = 3 PASSWORD_LOCKOUT_TIME_MINS = 30 PASSWORD_HISTORY = 5 COMMENT = 'production account password policy';