パスワード変更プラグイン

Password Manager Proは主に、Windowsローカルアカウント、Windowsドメインアカウント、Linuxのrootアカウントなど、一般的に使用されるさまざまなリソース種別に対して自動でのリモートパスワードリセットを強制することができます。これに加えて、パスワード変更プラグイン機能を使用すると、独自の実装クラスを追加し、レガシーリソース種別、社内アプリケーションなど、Password Manager Proでサポートされていないリソースに対してすぐに自動パスワードリセットを強制できます。

このプラグインを使用すると、従来のアカウントのアクセス制御を活用し、使用時に即座にパスワードの自動リセットを有効にすることもできます。このように、これらのアカウントのパスワードには、関連づけられたプラグインにより、使用ごとにリセットされるワンタイムパスワードとしての役割があります。

1.パスワード変更プラグインはどのように機能しますか?

パスワード変更プラグインは主に、管理者がPassword Manager Proに手動で追加する必要がある実装クラスです。このプラグインは、Password Manager Proサーバーから呼び出して、リモートリソースに接続し、パスワードの変更を実行できます。パスワード変更プラグインは、ユーザー定義のリソース種別のリソースに対して個別に設定できます。

パスワード変更プラグインが関連付けられているカスタムリソース種別に属するリソースのパスワード変更をトリガーすると、Password Manager Proはそのプラグインのインターフェースメソッドを呼び出します。プラグインが呼び出されると、まずリモートリソースに接続し、リソースのパスワードの変更を試みます。プラグインによるリモートパスワード変更が正常に完了すると、Password Manager Proはリポジトリ内の新しいパスワードを更新します。これに加えて、プラグインは、リモートリソースのパスワードが、Password Manager Proのリポジトリにローカルに保存されているパスワードと同期しているかどうかを確認するのに役立ちます。

2.パスワード変更プラグインを追加できるのは誰ですか?

パスワード変更プラグインを追加できるのは、デフォルトの管理者の役割、または操作カテゴリ[カスタム設定]内の[パスワード変更プラグインの管理]スコープが設定されたカスタム役割を持つユーザーのみです。さらに、任意のプラグインの呼び出しによる潜在的なリスクを防ぐために、追加されたすべてのプラグインは、2人目の管理者によって承認される必要もあります。

最近追加されたパスワードリセットリスナーの承認方法

あなたが管理者で、別の管理者から追加したパスワード変更プラグインの承認を要求された場合は、次のことを行う必要があります。

  1. [管理] >> [カスタマイズ] >> [パスワード変更プラグイン]に移動します。
  2. 承認する必要があるプラグインの横にある[承認の状態]列の下のリンクをクリックします。

プラグインの作成、編集、削除、承認の操作はすべて、今後参照できるよう監査が行われます。

3.パスワード変更プラグインの追加方法

  1. 実装クラスを作成する
  2. コンパイル
  3. 実装のヒント
  4. Password Manager Proインストールの設定

ステップ1:実装クラスを作成する

次のRemotePasswordResetインターフェースを実装してJavaクラスを作成します。

public interface RemotePasswordReset
  {
    public boolean changeRemotePassword(Properties resetPropsprop) throws Exception;
    public String getErrorMessage() throws Exception;
    public boolean verifyRemotePassword(Properties verifyProps) throws Exception;
    public boolean isDeviceAvailable(Properties verifyProps) throws Exception;
  }

実装の説明:

// This class provides the methods to implement password reset plugin. You need to implement the interface 
public interface RemotePasswordReset
{
/**

* Used to display the error message while doing the password reset and verification operations. The output gets reflected in audit trails.
* @return Error message, if password reset is successful, return null. Otherwise, return a proper error message.
*/

public boolean changeRemotePassword(Properties resetProps) throws Exception;
/** Actual function that will be called whenever "change remote password" functionality is triggered 
*@param resetProps will contain all the details regarding the account for which password reset is triggered.
* @return Final output that will be sent to Password Manager Pro server.
* {@value true} Success case - Allows the operation to proceed.   
* {@value false} Failure case - Denies the operation to proceed. 
**/
               
public String getErrorMessage() throws Exception;  
/*** Used to display the error message while doing the remote password reset and verification operations. The output gets reflected in audit trails.  
* Return a proper error message.  
*/ 

public boolean verifyRemotePassword(Properties verifyProps) throws Exception;  
/** This function will be called whenever "verify remote password" functionality is triggered. 
*@param verifyProps will contain all the details regarding the account for which "verify remote password" was triggered.
*@return Final output that will be sent to Password Manager Pro server. 
*{@value true} Success case - Allows the operation to proceed.   
*{@value false} Failure case - Denies the operation to proceed.
**/

public boolean isDeviceAvailable(Properties verifyProps) throws Exception; }
/** This function will be called before "verify remote password" function to check the accessibility of the device for which verify password was triggered.
*@param verifyProps will contain all the details regarding the account for which verify remote password was triggered. 
*@return Final output that will be sent to Password Manager Pro server.   
*{@value true} Success case - Allows the operation to proceed.   
*{@value false} Failure case - Denies the operation to proceed.
**/ 

ステップ2:コンパイル

<PMP_HOME>\lib folder.
AdventNetPassTrix.jar;
json_simple-1.1.jar;
For Example,
javac -d . -cp AdventNetPassTrix.jar;json_simple-1.1.jar; JiraServerResetImplementation.java - (For Windows)
javac -d . -cp AdventNetPassTrix.jar:json_simple-1.1.jar; JiraServerResetImplementation.java - (For Linux)

ステップ3:実装のヒント

リソース (Password Manager Proのリソースおよびアカウント) のプロパティを引数として取得する方法でクラスを実装できます。以下のキーのリストから任意のプロパティの値を取得できます。

resetProps.get("RESOURCEID");

リソースIDのLongオブジェクトを返します。

resetProps.get("ACCOUNTID");

アカウントIDのLongオブジェクトを返します。

resetProps.get("OLDPASSWORD");

アカウントの古いパスワードのStringオブジェクトを返します。

resetProps.get("NEWPASSWORD");

設定されたアカウントの新しいパスワードのStringオブジェクトを返します。

resetProps.get("RESOURCENAME");

リソース名のStringオブジェクトを返します。

resetProps.get("DNSNAME");

リソースのDNS名のStringオブジェクトを返します。

resetProps.get("ACCOUNTNAME");

アカウント名のStringオブジェクトを返します。

resetProps.get("OSTYPE");

リソースのOSタイプのStringオブジェクトを返します。

resetProps.get("NOTES");

アカウント情報の下にあるメモのStringオブジェクトを返します。

resetProps.get("LOGINNAME");

パスワードの変更を行ったユーザーのログイン名のStringオブジェクトを返します。

resetProps.get("IPADDRESS");

リソースのIPアドレスのStringオブジェクトを返します。

resetpresetPropsrops.get("RESOURCEDETAILS");

リソースのその他すべての情報を含むResourceDetailsオブジェクトを返します。

ステップ4:Password Manager Proインストールの設定

  1. 最初のステップは、パスワード変更プラグインをPassword Manager Proに追加することです。[管理] >> [カスタマイズ] >> [パスワード変更プラグイン]に移動します。
  2. [追加]オプションをクリックします。
  3. 表示されるダイアログボックスで、プラグインに適切な名前を付け、実装クラスの名前を指定します (例:com.manageengine.helpdesk.JIRASecretResetPlugin)。
  4. プラグインの情報を追加した後、承認リクエストの送信先となる管理者をドロップダウンから選択し、[保存]をクリックします。
  5. 注記:上記の手順で[保存] をクリックすると、リクエストに関するメールが選択した管理者に送信されます。それに加えて、あなた以外のすべての管理者にリクエストが通知されます。通知をクリックするか、[管理] >> [カスタマイズ] >> [パスワード変更プラグイン] に移動し、プラグインの横の [承認の状態] 列で承認することで、誰でも承認できます。

  6. プラグインが承認されたら、プラグインを使用してリソースのパスワードを変更するリソース種別を追加できます。これを行うには、[リソース] タブに移動し、上部にある[リソース種別]ボタンをクリックします。あるいは、[管理]>>[リソース設定]>>[リソース種別]に移動して、新しいリソース種別を追加することもできます。
  7. [リソース種別]ページで[追加]をクリックし、表示されるダイアログボックスの [高度な設定]タブに切り替えます。
  8. 適切な名前を付け、カスタムリソース種別のアイコン (オプション) を設定します。次に、[パスワード変更プラグイン]ラジオボタンを選択します。
  9. 承認されたすべてのプラグインは、[次のようなリセット方法] ドロップダウンメニューから利用できます。必要なプラグインを選択し、[保存]をクリックします。
  10. このプラグインは、このカスタム種別のリソースを作成し、リソースの特権アカウントのリモートパスワードリセットを設定し、変更アクションをトリガーするたびに呼び出されるようになります。

詳細については、Jira Service Deskのユーザーアカウントのパスワードを変更するために作成された実装クラスのサンプルをご参照ください。このコードをパスワード変更プラグインに実装し、Jira Service Deskのパスワードを変更できます。