パスワードのリセットフォームのパスワード要件の強度のカスタマイズIssue ServiceNow アプリケーションのほとんどのユーザーはおそらく既にご存知でしょうが、パスワードリセット画面に適用されるデフォルトのパスワード要件は次のとおりです。 変更するパスワードは、8 文字以上にする必要があります。変更するパスワードには、少なくとも小文字と大文字を 1 つずつ含める必要があります。変更するパスワードには、少なくとも数字を 1 つ含める必要があります。 多くの場合、ほとんどのインストールではこの既定のパスワード要件で十分ですが、変化するセキュリティリスクと要件に対応するために、組織では、エンドユーザーがパスワードを変更するときに満たす必要がある要件を変更したい場合があります。この記事では、インスタンスのセルフサービスパスワードリセット機能の特定のパスワード要件を変更する方法について説明します。 Resolution次の手順により、システムのセルフサービスパスワードリセットオプションを使用するユーザーの特定のパスワード要件と強度を構成できます。 まず、admin、password_reset_admin、password_reset_credential_manager のいずれかのロールが割り当てられたアカウントでインスタンスにログインします。 インスタンスの [システム定義] > [インストレーションイグジット]を参照します。 インスタンス上のさまざまなインストレーションイグジットレコードのリストが表示されます。このリストから、ValidatePasswordStronger という名前のインストレーションイグジットレコードを見つけ、このレコードを開いて編集します。 [スクリプト] フィールドには、渡された特定の文字列を処理して、その文字列がこのインスタンスで必要なパスワード要件を満たすのに十分な強度を持つかどうかを判断するために使用される Javascript 関数が含まれています。 process: function() 関数内のスクリプトは、基本的にパスワードリセット画面から渡された user_password 値の文字列値を確認する一連の Javascript ステートメントとオブジェクトです。スクリプトは、さまざまな関数と操作を使用して、この文字列が必要なすべての要件を満たしていることを検証します。 初期設定のバージョンでは、前述したように、JavaScript の文字列オブジェクトのさまざまな関数と、新しいパスワードがすべての要件を満たしていることを検証するための正規表現 (RegExp) を幅広く使用して、このパスワードに関する多くの要件をチェックします。 したがって、このスクリプトは、ユーザーがパスワードを設定するための新しい要件を含めるために、必要に応じて変更できます。 この関数は true または false の値を返します。 値が false の場合は、渡された文字列が検証に失敗し、パスワードをこの値に設定できない (パスワード変更の試行に失敗する) ことを示し、値が true の場合は、新しいパスワードに使用される文字列が (スクリプトで確認された) 新しい要件を満たしており、パスワード変更を実行できることを示します。 適切なパスワード検証のために必要に応じてスクリプトを変更したら、[更新] ボタンをクリックして変更を保存します。 たとえば、パスワードが 10 文字以上の長さになり、少なくとも 2 桁の数字を含み、少なくとも 1 つの小文字と少なくとも 1 つの大文字を含める必要があるように要件を変更するように、パスワードリセット要件を少し強化する予定であるとします。 まず、ValidatePasswordStronger インストレーションイグジットレコードの [スクリプト] フィールドを変更して、これらの新しい要件を含めることができます。 パスワードリセット画面を新たに使用する場合は、この新しいスクリプトに従った要件が適用されます。ただし、ユーザーのパスワードリセットエクスペリエンスを肯定的なものにするために、管理者がインスタンスに対して実行する必要があるその他の変更がいくつかあります。 したがって、パスワードリセット画面と手順に関して変更する必要がある他のいくつかの構成があります。 これらの変更は主に、ユーザーのログインシステムに関連付けられた資格情報スコアレコードの変更で構成されます。 次のステップでは、これをどのように変更するかを示します。 メニューナビゲーターから、[パスワードリセット] - > [認証情報ストア] を参照します。 認証情報ストアのリストが表示されます。リストから適切な認証情報ストア (たとえば、初期設定のインスタンスでは、ローカル ServiceNow インスタンス という名前の認証情報ストア) を選択して、編集するレコードを開きます。 資格情報ストアレコードが編集用に開きます。 これらのオプションのほとんどは、おそらく現在設定されているままにしておく必要があります。ただし、おそらくレコードで実行する必要がある変更がいくつかあります。 まず、パスワードルールのヒントは、[パスワードリセット] ページでユーザーに表示される HTML 領域フィールドであり、パスワードを設定しようとしているユーザーに役立つ形式でパスワードを設定するためのパスワードの複雑さの要件が一覧表示されます。これは、前述のようにインストレーションイグジットレコードのスクリプトフィールドに設定されている特定の要件を示すように変更する必要があります。 [パスワードのルール]の[スクリプト] フィールドは、おそらく変更する必要はありません。ただし、この記事で前に変更したように、フィールドがインストレーションイグジットレコードから関数を呼び出すことを確認する必要がある場合があります。別の方法として、新しいパスワード要件チェックスクリプトを含む新しいインストレーションイグジットレコードを作成し、代わりにその関数を呼び出すように [パスワードルールスクリプト] フィールドを変更する方法もあります。 [パスワードの安全性の有効化] オプション (および対応する [安全性ルール] スクリプトフィールド) を使用すると、[安全性ルール] スクリプトフィールドのスクリプトで指定されている要件と比較したパスワードの相対的な強度を示すグラフィック表示を表示できます。[パスワードの安全性の有効化] チェックボックスをオンにすると、ユーザーがパスワード変更フォームに入力しているパスワードの強度を示すメーターがディスプレイに表示されます。 [パスワードの安全性の有効化] オプションが選択されている場合は、[安全性ルール] フィールドを適宜変更して、ユーザーが選択したパスワードをパスワードフィールドに入力するときにパスワードの実際の強度を正確に表すようにする必要があります。この関数は、ユーザーが選択したパスワードの相対的な強度を示す数値 (0 から 100) を返すことを目的としています。 0 は完全に無効なパスワード (パスワード要件に従って) を示し、1 から 100 までの値は、パスワード要件に従ってこのパスワードがどの程度安全であるかを示し、値が大きいほど、[安全性ルール] フィールドのコードで指定された値に従ってより強力またはより安全なパスワードであることを示します。 パスワードの安全性の機能は、実際のパスワードを特定の値に変更できるかどうかとは無関係であることに注意してください。ValidatePasswordStronger インストレーションイグジットのスクリプトが true の値を返した場合、[安全性ルール] フィールドで返された値から、返された強度の値に関係なく、パスワードをリセットできます。 この例では、スクリプトを変更して、新しい長い要件と、強化された 2 桁の数字の要件 (以前の要件は 1 桁) に対応するようにします。さらに、エンドユーザーを支援するために、「パスワードヒント (Password hint)」フィールドを更新して、これらの新しい要件を表示する必要があります。 認証情報ストアレコードに必要な変更をすべて行ったら、[更新] ボタンをクリックして変更を保存します。 変更をテストするには、まずインスタンスからログアウトして再度ログインする必要があります。インスタンスに再度ログインしたら、インスタンス上の [パスワードリセット] -> [パスワードの変更] を参照します。 ただし、このパスワードリセット機能を変更する際に考慮する必要がある重要な注意事項がいくつかあります。 Related Linksユーザーが生成したパスワードの複雑さの要件に加えて、ユーザーが設定したパスワードを空白にできないという追加のパスワード要件もシステムレベルで適用されます。 パスワードリセット画面を使用すると、システムは「現在のパスワード」が正しいこと、および「新しいパスワード」フィールドと「パスワードの再入力」フィールドが同じであることを自動的に確認します。 システム管理者がパスワードリセット機能を使用してユーザーレコードから直接パスワードをリセットすると、この記事で説明されているパスワードの複雑さのルールがバイパスされます。 インスタンスがローカル LDAP サーバーに統合されている場合、または SSO ソリューションを使用している場合、パスワードリセット機能とログイン機能は異なる方法で処理されます。この記事の手順を実行しても、そのパスワードリセットの動作は変更されません。 インスタンスのカスタマイズと同様に、このパスワードリセット機能への変更は、変更を本番インスタンスに移動する前に、開発インスタンスで十分にテストする必要があります。 パスワードリセットの Windows アプリケーションではサポートされていないため、その場合、パスワード強度の情報は表示されません。 また、「履歴ポリシーを強制」というオプションがあり、これを選択すると、ユーザーが最近使用したパスワードを使用できないようにすることができます。このオプションを選択した場合は、ServiceNow インスタンスで最新のパスワードが再利用されないようにする手順を説明している次の KB 記事を参照してください。 ユーザーがパスワードリセット画面で最近使用したパスワードを再利用できないようにする