パスワードリセットリスナー
パスワードリセットは、組織内の機密データを不正アクセスから保護するためにPAM360が実行する重要な機能の一つです。重要なシステムのパスワードがリセットされた際には、サービスの中断を防ぐため、そのパスワードを使用している依存サービスおよびシステムにも更新内容を反映させる必要があります。
PAM360のパスワードリセットリスナーは、リセット後のメカニズムであり、更新された認証情報を外部アプリケーションおよびサービスと自動的に同期します。管理者が新しいパスワードを環境全体に安全に注入し、システム、アプリケーション、およびデータベース間の整合性を確保するのに役立ちます。これにより、パスワードの不一致によるダウンタイムが最小限に抑えられ、認証情報の管理が簡素化されます。
このヘルプ ドキュメントでは、次のトピックについて詳しく説明します。
- 役割と権限
- ワークフロー
- PAM360がサポートするフォローアップアクション
- パスワードリセットリスナーの追加
- パスワードリセットリスナーの承認
- カスタムパスワードリセットリスナーの実装
- よくある質問
1.役割と権限
デフォルトでは、特権管理者および管理者の役割を持つユーザーが、PAM360でパスワードリセットリスナーの追加、管理、および設定を行うことができます。さらに、PAM360では管理者が「管理」 >> 「カスタマイズ」 >> 「役割」 >> 「編集」>>「カスタム設定」内で「パスワードリセットリスナー管理」権限を持つカスタム役割を設定し、パスワードリセットリスナーの追加、管理、および承認を行うことができます。
2.ワークフロー
PAM360リポジトリに保存されているアカウントのパスワードがローテーションされるたびに、PAM360に設定されたパスワードリセットリスナーがスクリプトまたは実行可能ファイルを呼び出して、依存するサービスおよびシステム上のパスワードを更新します。リスナースクリプトは、ローカルアカウントのパスワードがローテーションされたとき、およびPAM360がネイティブにリモートパスワードリセットをサポートしていないリソースタイプのパスワードがローテーションされたときに呼び出すことができます。管理者は、カスタム(すなわちユーザー定義)リソースタイプを含む各リソースタイプに対して、パスワードリセットリスナースクリプトを個別に設定することができます。
- リスナースクリプトは、オペレーティングシステムのコマンドプロンプトから実行される場合と同じ方法で実行されます。
- スクリプトの実行に別のプログラムが必要な場合(例:cscript c:\scripts\changepassword.vbs old_password new_password)、それを「事前スクリプトコマンド」として指定することができます。
- デフォルトでは、PAM360はリソース名、DNS名、アカウント名、旧パスワード、および新パスワードなどのパラメーターを引数としてスクリプトに渡します。
- 追加の引数は、「追加パラメーター」フィールドから設定することもできます。
セキュリティ上の理由から、パスワードリセットリスナースクリプトはPAM360サーバーを実行しているユーザーアカウントと同じ権限で実行され、デュアルコントロールメカニズムによりパスワードリセットリスナーに対する追加、編集、または削除操作が別の管理者によって承認されることが確保されます。PAM360は、スクリプトがレビューおよび承認されるまで、スクリプトを呼び出しません。
パスワードリセットリスナーは別のスレッドから呼び出されるため、パスワードリセットプロセス自体には影響しません。リスナースクリプトはPAM360データベースに安全に保存されており、既存のデータベースセキュリティおよびバックアップ設定のメリットを活用できます。
3.PAM360がサポートするフォローアップアクション
PAM360により、管理者は、パスワードリセット直後にリスナースクリプトを介してさまざまなフォローアップアクションを実行できます。これらのアクションは、依存するサービスやプロセスが更新された認証情報と同期された状態を維持し、中断を最小限に抑えるために役立ちます。サポートされているフォローアップアクションには以下が含まれます:
- パスワードリセット直後に依存サービスを再起動し、サービスの中断なく継続性を確保する。
- Windowsのスケジュールタスクおよびその他の関連プロセスの認証情報を更新し、認証の失敗を防ぐ。
- PAM360でパスワードがリセットされるアカウントを使用するサービスについては、リスナースクリプトがサービスのログオンプロパティに保存されている認証情報を自動的に更新できます。
- ネットワーク装置のアカウントがPAM360にリソースとして追加されている場合、まずPAM360内でローカルにパスワードをリセットし、その後カスタムリスナースクリプトを起動して装置に接続し、更新されたパスワードを装置上に直接適用することができます。
4.パスワードリセットリスナーの追加
注意
パスワードリセットリスナーの追加時に表示される次の時間に実行および実行モードフィールドは、ビルド5710以降でのみ使用できます。
新しいパスワードリセットリスナーを設定するには、以下の手順に従ってください:
- 「管理」 >> 「パスワード管理」 >> 「パスワード リセット リスナー」に移動します。
- 表示された「パスワード リセット リスナー」ウィンドウで、上部パネルにある「リスナー追加」ボタンをクリックします。
- 表示されたポップアップウィンドウで、以下の詳細を入力します:
- 事前スクリプトコマンド - 追加するスクリプトを実行するために別のプログラムが必要な場合(例:cscript c:\scripts\changepassword.vbs old_password new_password)、このフィールドに指定します。
- リスナー名 - 作成するパスワードリセットリスナーの名前を入力します。
- リスナー スクリプト - 「Browse」ボタンをクリックして、お使いのマシンからリスナースクリプトをアップロードします。許可される最大ファイルサイズは5 MBです。
- 追加パラメーター - スクリプトに追加のパラメーターを渡す場合は、このフィールドに指定します。これらのパラメーターは、指定された順序で実行時にスクリプトへの引数として渡されます。
- 次の時間に実行 - スクリプトの実行順序を選択します。これにより、管理者はパスワードリセット操作の前または後にスクリプトを実行できます。
- リソースのタイプ - 左側のコラムで目的のリソースタイプをクリックし、右矢印ボタンをクリックしてそのリソースタイプを選択します。このパスワードリセットリスナーを設定する対象となるすべての必要なリソースタイプについて、この手順を繰り返します。
- 実行モード -
ドロップダウンをクリックし、「エージェントレス」、「エージェント」、「エージェントレスとエージェントとの両方」などの指定されたオプションから目的の実行モードを選択します。
- エージェントレスモードを選択した場合、スクリプトはPAM360サーバー上で実行されます。
- エージェントモードを選択した場合、スクリプトはエージェントマシン上で実行されます。
- エージェントレスとエージェントとの両方のモードを選択した場合、スクリプトはまずPAM360サーバーで実行され、失敗した場合はエージェントマシンで実行されます。
- 必要な詳細を追加した後、承認管理者フィールドの横にあるドロップダウンオプションから管理者を選択し、「保存」をクリックします。選択された管理者に承認リクエストを通知するメールが送信されます。
- リスナースクリプトは、選択された管理者によって承認されると正常に追加されます。
5.パスワードリセットリスナーの承認
デフォルトでは、管理者タイプのユーザーロールを持つユーザーがPAM360にパスワードリセットリスナーを追加できます。さらに、管理者によって追加されたすべてのパスワードリセットリスナーは、承認されたスクリプトまたはプログラムのみが呼び出されることを確認するために、別の管理者によって承認される必要があります。パスワードリセットリスナーの追加を承認するには、以下の手順に従います。
- 「管理」 >> 「パスワード管理」 >> 「パスワード リセット リスナー」に移動します。
- パスワード リセット リスナーページには、お使いの環境に追加されたすべてのリスナーの一覧が表示されます。
- 承認するリスナーの横にある承認の状態コラムの下に表示される「承認」ボタンをクリックします。
パスワードリセットリスナーに関連するすべてのイベントは、PAM360で監査されます。
6.カスタムパスワードリセットリスナーの実装
デフォルトのパスワードリセットリスナーに加えて、PAM360では独自のカスタムリスナーを実装することができます。カスタムリスナーは、標準のリスナースクリプトを超えたパスワードリセット後のフォローアップアクションを定義および実行する柔軟性を提供します。これは、提供されたインターフェースを通じてPAM360と統合する独自の実装クラスを記述することで実現できます。
以下は、リセットリスナーを使用してPowerShellスクリプトを実行するステップのサンプル実装です。
- PAM360ListenerInterface.javaインターフェースを実装する独自の実装クラスを記述し、以下に示すようにカスタムリスナーを定義します。
public interface PAM360ListenerInterface {
static final Logger LOG = Logger.getLogger(PAM360ListenerInterface.class.getName());
public String executeListener(Properties resourceProps, Properties accountProps, String listenerFilePath, String oldPassword) throws Exception;} - リソースまたはアカウントのプロパティが引数として渡されるように、クラスを実装します。さまざまなリソースおよびアカウントのプロパティを、実装クラスへの引数として渡すことができます。たとえば、リソース名にアクセスするには、resourceProps.get("RESOURCENAME")シンタックスを使用できます。
- 実装クラスをカスタムリスナーとしてPAM360に追加します。これを行うには、「管理」 >> 「パスワード管理」
>> 「パスワードリセットリスナー」 >> 「リスナー追加」に移動します。
- 表示されたウィンドウで、「Custom Listener」タブに切り替え、以下の詳細を入力します。
- Class Name - 使用可能なオプションから目的の実装クラスを選択します。Add
Newボタンをクリックして、新しい実装クラスを追加します。
- New Class Name - このフィールドに実装クラスの名前を入力します。
- Implementation Class - このフィールドに実装クラスを入力します。
- Description - このフィールドに追加するカスタムリスナーの簡単な説明を入力します。
- リスナー名 - 作成するパスワードリセットリスナーの名前を入力します。
- リスナースクリプト - 「Browse」ボタンをクリックして、お使いのマシンからリスナースクリプトをアップロードします。許可される最大ファイルサイズは5 MBです。
- リソースのタイプ - 左側のコラムで目的のリソースタイプをクリックし、右矢印ボタンをクリックしてそのリソースタイプを選択します。このカスタムリセットリスナーを設定するために必要なすべてのリソースタイプについて、この手順を繰り返します。
- 必要な詳細を追加した後、承認管理者フィールドの横にあるドロップダウンオプションから管理者を選択し、「保存」をクリックします。選択された管理者に承認リクエストを通知するメールが送信されます。
- Class Name - 使用可能なオプションから目的の実装クラスを選択します。Add
Newボタンをクリックして、新しい実装クラスを追加します。
- 実装クラスを.jarファイルに変換し、.jarファイルを<PAM360-Installation-Directory>/binフォルダに移動します。
- 変更を有効にするには、PAM360サービスを再起動してください。
以下に記載されているキーを使用して、任意のプロパティの値を取得できます。
| リソースのプロパティ (resourceProps) | |
|---|---|
|
RESOURCENAME |
PAM360に追加されたリソースの名前。 |
|
IPADDRESS |
リソースのDNS名またはIPアドレス。 |
|
RESOURCEURL |
リソースに設定されたリソースURL。 |
|
DOMAINNAME |
Windowsドメインリソースのドメイン名。 |
|
SSHPORT |
装置がSSH接続をサポートしている場合のSSHポート番号。 |
|
RESOURCEDESC |
リソースの説明。 |
|
LOCATION |
リソースの場所。 |
|
DEPARTMENT |
リソースが属する部門。 |
|
Custom Resource Columns |
各カスタムコラムのラベル名がキーとして機能します。該当するアカウントパラメーターの詳細を返します。 |
| アカウントのプロパティ (accountProps) | |
|
DESCRIPTION |
アカウントの説明。 |
|
LOGINNAME |
PAM360に追加されたユーザーアカウントのログイン名。 |
|
PASSWORD |
ユーザーアカウントのパスワード。 |
|
DOMAINNAME |
Windowsドメインリソースのドメイン名。 |
|
COMPLIANTSTATUS |
パスワードがPAM360で設定されたパスワードポリシーに準拠しているかどうか。 |
|
COMPLIANTREASON |
パスワードがポリシーに準拠していない場合の理由を提供します。 |
|
EXPIRYSTATUS |
アカウントのパスワード有効期限のステータス。 |
|
PASSWRDSYNCSTATUS |
パスワードがリモートリソースに設定されたパスワードと同期しているかどうか。 |
|
Custom Account Columns |
該当するアカウントパラメーターの詳細を返します。各カスタムコラムのラベル名がキーとして機能します。 |
| その他の引数 | |
|
listenerFilePath |
リスナーとして呼び出すスクリプトまたはファイルへのパス。PAM360でリスナーを設定する際に、このファイルを指定することもできます。 |
|
oldPassword |
パスワードリセット操作を実行するために実装クラスに渡される古いパスワード。 |
以下は、リスナーメカニズムを使用してPowerShellスクリプトを実行するよう設計されたカスタム実装クラスの例です。
public class PowerShellListener implements PAM360ListenerInterface {
public String executeListener(Properties resourceProps, Properties accountProps, String listenerFilePath, String oldPassword) throws Exception {
String message = "Executed Successfully";// used for audit reason
// got the properties
// call the powershell script}}
7.よくある質問
1.パスワードリセットリスナーで利用可能な実行モードは何ですか?
2つの実行モードが利用可能です。リセット前(パスワードリセット前にスクリプトを実行)とリセット後(リセット後にスクリプトを実行)です。
2.パスワードリセットリスナーが設定されたリソースに関するレポートはありますか?
はい。「レポート」 >> 「クエリレポート」 >> 「リソース」に移動し、パスワードリセットリスナーを検索してください。レポートには、リスナーが設定されたリソースが一覧表示されます。
3.PAM360ビルド5710にアップグレードした後、既存のリスナーにはどのモードが適用されますか?
デフォルトでは、既存のすべてのリスナーは実行順序がリセット後のエージェントレスモードに設定されます。

