Password Manager Pro での API の管理

パスワードを使用して他のアプリケーションと通信するインフラストラクチャ内のアプリケーションおよびスクリプトの場合、設定ファイルまたはスクリプトにパスワードをハードコーディングする必要がなくなりました。Password Manager Pro に安全にクエリを実行して、必要なときにいつでもパスワードを取得できるため、管理者は、多くの場所でパスワードを手動で更新する必要性を心配することなく、定期的なローテーションなどの適切な方法をそのようなパスワードにも自由に適用できます。

このドキュメントでは以下を学習します。

  1. API を設定するための前提条件
  2. API 管理に含まれる手順のワークフロー
  3. Password Manager ProでAPIユーザーを作成するための初期設定
  4. サポートされる API の種類
  5. セキュア シェル (SSH) を介したスクリプト用のコマンド ライン インターフェイス (CLI)
  6. XML-RPC over HTTPS に基づく包括的なアプリケーション API
  7. RESTful API

1.API を設定するための前提条件

以下は、バージョン6.2からAPIを設定し使用する前に確認すべき重要なポイントです。

  • Password Manager Pro API のみを使用するユーザー アカウントは、Password Manager Pro で作成する必要があります。すべての API ユーザー アカウントは単一のエンドポイント (API が使用されるサーバーまたはデスクトップ) に接続する必要があります。そのため、ユーザー アカウントは user@hostname として一意に識別されます。
  • API ユーザーは、XML-RPC、SSH CLIRESTful API などの APIの種類を使用できます。
  • XML-RPC および SSH CLI ユーザーは、PKI 認証を使用して認証されます。したがって、使用する API の種類に応じて、以下を各ユーザーに提供する必要があります。
    • XML-RPC APIを使用するための共通名としてユーザー名を持つ X.509 形式のSSL証明書
    • SSH CLI を使用するための、user@host の秘密鍵に対応する OpenSSH 形式の公開鍵
  • Password Manager Pro には、特定のポートで実行するように設定できる XML-RPC および SSH サーバーが組み込まれています。
  • API ユーザーが作成され、それぞれのサーバー (XML-RPC および/または SSH) が有効になると、Password Manager Pro が API ユーザーにサービスを提供できるようになります。
  • 管理者は、他のユーザーに対して行うのと同じ方法で、API ユーザーにパスワードへのアクセスを提供できます。API ユーザーは、API を介して権限のあるパスワードにのみアクセスできます。

2.API 管理に含まれる手順のワークフロー

次の図は、Password Manager Pro の API 管理に含まれる手順の概要を示しています。

3.Password Manager ProでAPIユーザーを作成するための初期設定

これは、アプリケーション間のパスワード管理のためのパスワード管理 API を設定して使用するプロセスの最初のステップです。前述したように、パスワード管理 API のみを使用するユーザー アカウントは、Password Manager Pro で作成する必要があります。すべての API ユーザー アカウントは単一のエンドポイント (API が使用されるサーバーまたはデスクトップ) に接続する必要があります。これにより、ユーザー アカウントは一意に識別されます (例: user@hostname)。

API ユーザー アカウントを作成するには:

    1. [ユーザー]タブに移動します。
    2. [ユーザー追加]をクリックし、ドロップダウンから[API ユーザーを追加]を選択します。
    3. それぞれのテキストフィールドにユーザー名を入力します。この名前は API ユーザーを識別します。対応する SSL 証明書の[コモンネーム](CN) として同じ名前を使用することが重要です。MSP エディションでは、[コモンネーム](CN) に加えて、証明書内の組織名 (O) が Password Manager Pro の組織表示名と同じである必要があります。
    4. API ユーザーがパスワード管理操作のために Password Manager Pro にアクセスするホストの名前を入力します。内部的には、ユーザー名とホストを組み合わせて、API ユーザーを一意に特定するために使用されます。たとえば、ホスト[test-server]からの[test]という名前のユーザーは、API ユーザーを一意に識別するために[test@test-server]とみなされます。
    5. [フルネーム]とは、API ユーザーが外部の世界で識別される名前を指します。つまり、レポート、監査証跡、その他のユーザーのアクティビティが追跡される場所です。デフォルトでは、[ユーザー名]と[ホスト名]の組み合わせとサフィックス[API ユーザー]が[フルネーム]として使用されます。上記の例では、[test@test-server - API ユーザー]になります。ただし、別の名前を付けたい場合は、自由に定義できます。
    6. アクセス範囲を使用して、[システム上のすべてのパスワード]オプションを選択することで、管理者/パスワード管理者/特権管理者をスーパー管理者に変更できます。これを行うと、ユーザーは Password Manager Pro のすべてのパスワードに制限なくアクセスできるようになります。逆に、スーパー管理者は、[所有する/共有されたパスワード]オプションを選択することで、以前の役割である管理者/パスワード管理者/特権管理者に変更できます。
    7. SSH は、上で指定したユーザー名で指定したホストに接続し、ログインします。ユーザーは、公開鍵認証を使用してリモート マシンに対して自分の身元を証明する必要があります。SSH CLIアクセスを利用するには、CLI ユーザーのオープン SSH 形式の公開鍵を参照して選択します。
      1. SSH形式の秘密-公開鍵を新たに作成するには、
        1. コマンド プロンプトを開き、コマンド[ssh-keygen]を実行します。
        2. デフォルトでは、秘密鍵は id_rsa ファイルに保存され、公開鍵は id_rsa.pub に保存されます。これら 2 つのファイルは、デフォルトでコマンド プロンプトで指定されたディレクトリに保存されます。
        3. これらを別の場所に保存するには、id_rsa.pub をインポートします。これで、Password Manager Proの次の場所に保存されます:<PMP_HOME>/<user name>/.ssh/authorized_keys]
        4. セキュリティ層をさらに強化するには、SSH鍵にパスフレーズを使用します。パスフレーズを入力して確認すると、そのパスフレーズがキーに追加されます。SSH鍵を使用するときは、毎回パスフレーズを入力する必要があります。
        5. キーを生成したら、公開鍵の場所を指定します。(ユーザー追加 GUI を参照して見つけます)
        6. 上記のシーケンスを以下に説明します。
          • Generating public/private rsa key pair.
          • Enter file in which to save the key (/home/xyz/.ssh/identity): /home/xyz/.ssh/pmp_identity
          • Enter passphrase (empty for no passphrase): *enter your passphrase here*
          • Enter same passphrase again: *repeat your passphrase*
          • Your identification has been saved in /home/xyz/.ssh/pmp_identity.
          • Your public key has been saved in /home/xyz/.ssh/pmp_identity.pub.
          • The key fingerprint is:

            22:71:3c:ff:7e:df:59:ad:72:47:d1:16:bd:e2:e9:2d xyz@xyz

      上の例は、オープン SSH を使用してキーペアを生成する方法を示しています。必要に応じて、他の標準ツールを使用してキーを生成することもできます。
    8. XML-RPC API アクセスを利用するには、XML-RPC API ユーザーの X.509 形式の SSL 証明書を入力します。証明書は OpenSSL を使用して作成でき、認証局 (CA) によって署名することもまたは自己署名することもできます。

      8a.証明書の生成

      1. OpenSSL を使用して証明書を作成するには、秘密鍵の生成と証明書の生成という 2 つの手順が必要です。次のコマンドを使用して、証明書を作成します。
      2. 次のコマンドを使用して秘密鍵を生成します。
        • openssl genrsa -des3 -out server.key 2048
      3. 証明書要求を生成します。
      4. サーバーの秘密鍵を使用して証明書要求を作成します。次のプロンプトが表示されたら、キーのパスフレーズ、共通名、ホスト名、または IP アドレスを入力します:
        • openssl req -new -key server.key -out server.csr
      5. 証明書を生成した後、CA による署名を取得する必要があります。ここでは、VerisignThawteRapidSSL などのサードパーティ CA によって署名してもらうか、証明書に自己署名するかを選択できます。

      両方の手順を以下で説明します。環境に基づいていずれかを選択してください。

      8b.証明書への署名

      1. サードパーティ CA (Verisign など) によって署名された証明書を取得する方法
        1. 著名な CA には、VerisignThawteRapidSSL などがあります。CSR の提出の詳細については、ドキュメント/Web サイトを確認してください。これには、有料サービスです。
        2. 通常、このプロセスには数日かかります。署名された SSL 証明書と CA のルート証明書が .cer ファイルとして返されます。
        3. 手順 1 と 2 のファイルが保存されている同じ作業フォルダに両方を保存します。

          (または)

      2. 証明書の自己署名

        証明書に自己署名する手順には、次の手順が含まれます。

        1. 秘密鍵の作成
          1. 次のコマンドを使用して秘密鍵を作成します:
            • openssl genrsa -des3 -out server.key 2048
          2. このコマンドは次のような出力を生成します:

            RSA 秘密鍵 (2048 ビット長のモジュラス) を生成しています
            .....++++++
            .............
            .++++++
            e is 65537 (0x10001)

          3. [Ca.key: password]のパスフレーズを入力します
          4. 確認しています... [ca.key: confirm_password]のパスフレーズを入力してください
        2. CA を使用しない公開鍵の作成
          1. CA を使用せずに公開鍵を作成するには、次のコマンドを使用します:
            • openssl req -new -x509 -key server.key -out server.crt -days 1095
          2. このコマンドの出力は次のようになります:
            • [Ca.key: password]のパスフレーズを入力します
            • 国名 (2 文字コード) [AU]: US
            • 州名または県名 (フルネーム) [お住いの州]: CA
            • 地域名 (市など) []: Pleasanton
            • 組織名 (例: 会社: Zoho Corporation
            • 組織単位名 (セクションなど) []: Manage Engine Password Manager Pro
            • コモンネーム (例: あなたの名前) []: localhost
            • メールアドレス []: メールアドレス
          3. 注:[.]を入力した場合、フィールドは空白のままになります。

8c.PKCS12証明書ファイルの生成

証明書に自己署名する手順は上記の手順で終了です。ただし、A-to-A パスワード管理の呼び出し側アプリケーションで使用する PKCS12 ファイルを生成する必要があります。OpenSSL を使用して、x509 証明書や RSA キーを公開鍵暗号化標準 #12 (PKCS#12) 形式に変換します:

  • openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server_cert.p12 -name "PMP"
  1. ユーザーが所属する部門を入力します (オプション)。
  2. ユーザーの場所を入力します。これは将来の参照に役立ちます (オプション)。
  3. [保存]をクリックします。必要なアクセス制限を持つ必要な API ユーザーが作成されました。

      注:

      1. XML-RPC API と SSH CLI API のいずれかまたは両方を使用できます。API ユーザーの作成プロセスはどちらも同じです。
      2. API ユーザーの作成は、アプリケーションがパスワードを取得するために Password Manager Pro に接続するホストに固有です。つまり、ユーザーとホストは互いに結びついています。複数のホストからパスワード管理 API を利用する場合は、ホストの数と同じ数の API ユーザーを作成する必要があります。逆に、単一ホスト上に多くのユーザーを配置したい場合は、やはり必要な数の API ユーザーを作成する必要があります。

4.サポートされる API の種類

Password Manager Pro は、次の 3 つの API フレーバーを提供します:

  1. セキュアシェル (SSH) を介したスクリプト用のコマンド ライン インターフェイス (CLI)
  2. XML-RPC over HTTPS に基づく包括的なアプリケーション API
  3. RESTful API

XML-RPC および SSH CLI は、API を介した Password Manager Pro アプリケーションへのアクセスを許可するために PKI 認証を使用します。XML-RPC API には、Java アプリケーションとの統合を容易にする Java Wrapper API も付属しています。

5.セキュアシェル (SSH) 経由のスクリプト用のコマンド ラインインターフェイス (CLI)
(Premium Edition と Enterprise Edition の両方でのみ利用可能な機能)

SSH 経由のスクリプト用に CLI をセットアップするには、次の手順を実行します:

  1. APIユーザーの作成
  2. サーバー側の設定と SSH サーバーの起動
  3. アプリケーションが Password Manager Pro にアクセスできるようにするためのクライアント側の設定

5.1 API ユーザーの作成

API ユーザーの作成については、ここをクリックしてください。

5.2 サーバー側の設定とSSHサーバーの起動

Password Manager Pro には、SSH サーバーが組み込まれています。デフォルトでは、5522 を占めます。必要に応じて、他の任意のポートで実行するように設定できます。SSHサーバーを起動する必要があります。

SSHサーバーポートを設定して起動するには、

  1. [管理] >> [設定] >> [パスワード管理 API] に移動します。
  2. 開いた UI で、左側にリストされているオプションから SSH-CLI を選択します。
  3. 必要に応じて、SSH-CLI サーバー ポートを変更します。
  4. [SSHD サーバーを開始]をクリックします。

5.3 アプリケーションから Password Manager Pro にアクセスする

API ユーザーを作成し、Password Manager Pro で SSH サーバーを開始すると、API ユーザーは自分に割り当てられたパスワードを使用して Password Manager Pro にアクセスできるようになります。Password Manager Pro の所有権と共有メカニズムは API ユーザーの場合にも適用されることに注意してください。つまり、API ユーザーは、自分に割り当てられたパスワードのみにアクセスできるようになります。パスワード管理 API を使用すると、ユーザーはアカウントを取得、変更、作成できます。

クライアント側のパスワード アクセス ワークフローはどのように機能しますか?

各ユーザーは、認証のために SSH 公開鍵と秘密鍵のペアを作成します。サーバーは公開鍵を知っており、ユーザーは秘密鍵を知っています。[<PMP_HOME>/<user name>/.ssh/authorized_keys]のファイルには、ログインが許可されている公開鍵がリストされます。ユーザーがログインすると、SSH プログラムは認証に使用する鍵のペアをサーバーに伝えます。サーバーは、このキーが許可されているかどうかを確認し、許可されている場合は、ユーザーの公開鍵で暗号化されたチャレンジ (乱数) をユーザーに送信します。チャレンジは、適切な秘密鍵を使用してのみ復号化できます。次に、ユーザーのクライアントは秘密鍵を使用してチャレンジを復号化し、ユーザーが秘密鍵を知っていることを証明しますが、サーバーには公開しません。認証が成功すると、ユーザーはパスワード管理操作を実行できるようになります。

API ユーザーによる Password Manager Pro への接続による各種パスワード操作

上で説明したように、API ユーザーは、機能するように設定されているホストからのみ、パスワードの取得やその他の操作のために Password Manager Pro にアクセスできます。つまり、ユーザーの作成時に、API ユーザーがパスワード管理操作のために Password Manager Pro にアクセスするホストの名前を入力することになります。API ユーザーは、指定されたホストからのみ Password Manager Pro にアクセスできます。

パスワードを取得したり、その他のパスワード管理操作を実行するには、ホストで実行されているアプリケーションが、Password Manager Pro で実行されている SSH サーバーにアクセスする必要があります。次に、SSH サーバーは、パスワード操作のために Password Manager Pro に接続します。

SSH サーバーには、標準の openSSH コマンドを使用してアクセスできます。以下で説明するように、必要なパスワード管理操作を実行するには、コマンドとともに、Password Manager Pro 固有のコマンドを追加する必要があります。

ssh -q [-p port] user@hostname [-i private_key] [Password Manager Pro固有のコマンド]
            

例:

ssh -q -p 5522 test@test-server -i /home/guest/id_rsa [PMP固有のコマンド]

MSP エディションの場合は、次のコマンドを使用します

ssh -q [-p port] ORGNAME/user@hostname
              [-i private_key] [PMP固有のコマンド]

例:

ssh -q -p 5522 MANAGEENGINE/test@test-server -i
                  /home/guest/id_rsa [PMP固有のコマンド]

5.3.i アプリケーション間のパスワード管理のためにアプリケーションに含める Password Manager Pro 固有のコマンド

A-to-A パスワードを自動管理するには、アプリケーションで API を呼び出す特定のコマンドを使用する必要があります。次の操作には give コマンドを使用します:

1.パスワード取得用

ssh -q [-p port] user@hostname [-i private_key] RETRIEVE --resource=<PMP内で表示される
                RESOURCE NAME> --account=<PMP内で表示される ACCOUNT NAME>
              --reason=<パスワードアクセスの理由> --ticketid=<パスワードアクセス用のチケットID>

例:

ssh -q -p 5522 test@test-server -i /home/guest/id_rsa
                RETRIEVE --resource=test-server --account=root --reason=SSHクライアントAPIを使用してパスワードの取得をテストしています
                --ticketid=7

2.パスワードリセットの場合

2.1 ローカルパスワードリセットの場合

ssh -q [-p port] user@hostname [-i private_key] RESET_LOCAL --resource=<PMP内で表示される RESOURCE NAME> --account=<PMP内で表示される
                ACCOUNT_NAME> --newpassword=<新しいパスワード> --reason=<パスワードリセットの理由> --ticketid=<パスワードリセット用チケットID>

例:

ssh -q -p 5522 test@test-server -i /home/guest/id_rsa RESET_LOCAL --resource=test-server --account=root--newpassword=rootnew --reason=パスワードのローテーション --ticketid=7

2.2 リモートパスワードリセットの場合

ssh -q [-p port] user@hostname [-i private_key] RESET_REMOTE
              --resource=<PMP内で表示される RESOURCE NAME> --account=<PMP内で表示される ACCOUNT_NAME> --newpassword=<新しいパスワード> --reason=<パスワードリセットの理由>
              --ticketid=<パスワードリセット用チケットID>

例:

ssh -q -p 5522 test@test-server -i /home/guest/id_rsa
                RESET_REMOTE --resource=test-server --account=root --newpassword=rootnew --reason=パスワードのローテーション --ticketid=7

3.新しいリソースとユーザーアカウントを作成する場合

ssh -q [-p port] user@hostname [-i private_key] CREATE
              --resource=<作成される RESOURCE NAME> --account=<作成される ACCOUNT NAME>--newpassword=<追加されるアカウントのパスワード> --resourcetype=<追加されるリソースの種類> --notes=<参考ノート>

例:

ssh -q -p 5522 test@test-server -i /home/guest/id_rsa
                CREATE --resource=testresource --account=testaccount --newpassword=test
                  password--resourcetype=Windows --notes=新しいリソースが追加されました

詳細については、このドキュメントを参照してください。

トラブルシューティングのヒント

1.上記のコマンドを実行した後、Password Manager Pro から応答を受け取りませんでした。

上記のコマンドの -q オプションを削除します。画面に警告/エラー メッセージが表示されます。

たとえば、パスワードを取得するには、次のようにコマンドを実行します:

ssh [-p port] user@hostname [-i private_key] RETRIEVE --resource=<PMP内で表示される RESOURCE
                  NAME> --account=<PMP内で表示される ACCOUNT NAME>
                --reason=≪パスワードアクセスの理由>

画面に表示されたメッセージを添えて、Password Manager Pro サポートにお問い合わせください。

2.高可用性モードで Password Manager Pro セカンダリ サーバーからパスワードを取得しようとしましたが、要求されたパスワードを取得できませんでした。

新しい API ユーザーを追加するたびに、<PMP_Primary_installation_Folder> で使用可能な sshd フォルダ全体をコピーし、<PMP_Secondary_installation_Folder> に貼り付ける必要があります。これが完了すると、PMP セカンダリからパスワードにアクセスできるようになります。

5.3.ii A-to-A パスワード管理のための Password Manager Pro セカンダリへのアクセス (HA モード - SSH CLI)

Password Manager Pro で高可用性セットアップを設定している場合、プライマリ サーバーがダウンしたときに、アプリケーションは A-to-A パスワード管理のためにシームレスにセカンダリ サーバーに接続できます。これを機能させるには、次の簡単な設定を行う必要があります。

  1. <PMP_Primary_Installation_Folder>に移動します。
  2. [ssh]ディレクトリをコピーし、<PMP_Secondary_Installation_Folder> に貼り付けます。

重要な注記:新しい API ユーザーを作成するたびに、上記で説明したように sshd フォルダをコピーして貼り付ける必要があります。

前述したように、Password Manager Pro には SSH サーバーが組み込まれています。以下で説明するように、Password Manager Pro のセカンダリ インストールで開始する必要があります。

Password Manager Pro で高可用性セットアップを設定している場合、プライマリ サーバーがダウンしたときに、アプリケーションは A-to-A パスワード管理のためにシームレスにセカンダリ サーバーに接続できます。これを機能させるには、次の簡単な設定を行う必要があります。

    1. Password Manager Pro プライマリ サーバーを停止します。
    2. Password Manager Pro Secondary の Web インターフェイスに接続します。
    3. [管理] >> [設定] >> [パスワード管理 API] >> [SSH CLI] に移動します。
    4. 必要に応じて、SSH-CLI サーバー ポートを変更します (デフォルトでは 5522 を占有します)。
    5. [SSHD サーバーを開始]をクリックします。

5.3.iii Password Manager Pro セカンダリ サーバーにアクセスするためのコマンド

A-to-A パスワードを自動管理するには、アプリケーションで次のコマンドを使用する必要があります。

1.パスワード取得用

ssh -q [-p port] user@PMP_Secondary_hostname [-i private_key]
              RETRIEVE --resource=<PMP内に表示される RESOURCE NAME> --account=<PMP内に表示される ACCOUNT NAME>
              --reason=<パスワードアクセスの理由>

例:

ssh -q -p 5522 test@test-secondary-server -i
                  /home/guest/id_rsa RETRIEVE --resource=test-server
                --account=root --reason=SSHクライアントAPIを使用してパスワードの取得をテストしています

上記の設定が完了すると、高可用性モードでのパスワード アクセスがシームレスになります。ただし、プライマリ サーバーがダウンしている場合は書き込み操作が許可されないため、アプリケーションはパスワードを取得することしかできません。パスワードのリセットやリソース/アカウントの作成を実行することはできません。

6.XML-RPC over HTTPS に基づくアプリケーション API の設定

(この機能は、Premium Edition と Enterprise Edition の両方のみで利用可能です)

    1. APIユーザーの作成
    2. サーバー側の設定
    3. アプリケーションが Password Manager Pro にアクセスできるようにするためのクライアント側の設定
      • アプリケーションを呼び出して Password Min によって提供される Java Wrapper を使用することも、XML-RPC クライアント (環境に存在する他のプログラミング言語を使用) を使用することもできます。 Password Manager Proが提供するJava Wrapperを使用する場合は、API jarをダウンロードし、アプリケーションがPassword Manager Proに接続するホスト上に配置します。
      • Jar にバンドルされている設定ファイル内のエントリを編集
      • PMP 固有のコマンドを呼び出し側アプリケーションに含める
      • 環境内に存在する他のプログラミング言語で XML-RPC クライアントを使用する場合は、呼び出し側アプリケーションに PMP 固有のコマンドを含める

6.1 API ユーザーの作成

API ユーザーの作成については、ここをクリックしてください。

6.2 サーバー側の設定

6.2.i XML-RPC サーバーポートの設定

Password Manager Proには、XML-RPCサーバーが組み込まれています。デフォルトでは、7070 を占めます。他の任意のポートで実行するように設定できます。

XML-RPC サーバー ポートを設定するには、次のようにします。

    1. [管理] >> [設定] >> [パスワード管理 API] に移動します。
    2. 次に、左側のパネルから[XML-RPC]を選択します。
    3. 目的の XML-RPC サーバー ポートを指定し、[保存] をクリックします。
    4. Password Manager Pro サーバーを再起動して、変更を適用します。

6.2.ii 自己署名証明書または独自の証明書の設定

注:サードパーティ CA によって署名された証明書を使用している場合は、次の手順をスキップします。

API ユーザーを作成するときに、自己署名 SSL 証明書がある場合 (上記の前提条件のステップ 8)、またはすでに使用可能な内部証明書 (独自の証明書) を使用している場合は、以下のように CA のルートを指定する必要があります。

SSLルート証明書を指定するには、

    1. <PMP_Installation_Folder>/binディレクトリに移動します。
    2. 次のコマンドを実行します。
    3. Windows の場合:

      • 自己署名証明書の場合:

      importCert.bat <自己署名証明書の絶対パス>

      • 独自の証明書またはすでに利用可能な内部 CA の場合:

      importCert.bat <CA のルートの絶対パス>

      Linux の場合:

      • 自己署名証明書の場合:

      sh importCert.sh <自己署名証明書の絶対パス>

      • 独自の証明書またはすでに利用可能な内部 CA の場合:

      sh importCert.sh <CA のルートの絶対パス>

    4. Password Manager Pro サーバを再起動します。

上記を実行すると、CA のルートが Password Manager Pro に記録されます。今後、特定の CA によって署名されたすべての証明書が自動的に取得されます。

注:CA のルートは、<PMP_Installation_Folder>/confディレクトリにある server.xml ファイルに記録されます。これを変更する場合、または特定のルート ディレクトリを入力する場合は、以下で説明するようにファイルを編集します。

  1. Server.xml ファイルで、次の行を探します (ヒント: clientAuth="true" というエントリを含む行を探す必要があります)

    <Connector URIEncoding="UTF-8" useBodyEncodingForURI="true" acceptCount="100" clientAuth="true" port="7070"connectionTimeout="-1" debug="0" disableUploadTimeout="true" enableLookups="false" keystoreFile="conf/server.keystore" keystorePass="passtrix" truststoreFile="jre/lib/security/cacerts" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" port="7070" scheme="https" secure="true" sslProtocol="TLS"/>

  2. デフォルトでは、CA のルートは [jre/lib/security/cacerts] になります。これを編集する場合は、上記のように truststoreFile エントリの値を変更する必要があります。
  3. クライアント証明書で Online Certificate Status Protocol (OCSP) が有効になっている場合、Password Manager Pro はそれを介して認証を実行します。OCSP による認証にはインターネットへのアクセスが必要です。企業ネットワークのセットアップでは、インターネットにアクセスするためにプロキシ サーバーを経由する必要がある場合があります。[管理] >> [セットアップ] >> [プロキシサーバー設定] からプロキシサーバー設定を指定できます。

6.3 クライアント側の設定

API ユーザーを作成し、Password Manager Pro で XML-RPC サーバーを開始すると、API ユーザーは自分に割り当てられたパスワードを取得するために Password Manager Pro にアクセスできるようになります。Password Manager Pro の所有権と共有メカニズムは API ユーザーの場合にも適用されることに注意してください。つまり、API ユーザーは、自分に割り当てられたパスワードのみにアクセスできるようになります。パスワード管理 API を使用すると、ユーザーはアカウントを取得、変更、作成できます。

パスワード管理 API は XML-RPC ベースです。ここには 2 つのオプションがあります。

  1. Password Manager Pro は、XML-RPC 上の Java ラッパーを提供します。呼び出し元のアプリケーションで使用できます。
  2. または、XML-RPC クライアント (他のプログラミング言語を使用) を利用することもできます。

6.3.i Password Manager Pro が提供する Java ラッパーの使用

ステップ1:Password Manager Pro から Java Wrapper Jar をダウンロード

    1. [管理] >> [設定] >> [パスワード管理 API] に移動します。
    2. 開いた UI の左側のパネルから [XML-RPC] を選択します。
    3. Java Password Manager Pro API パッケージ[JavaWrapper.zip]という名前の zip 形式でダウンロードします。
    4. この zip を、アプリケーションが Password Manager Pro に接続するホストに配置します。JavaWrapper.zip を解凍
    5. メインフォルダ[JavaWrapper]内に[docs]と[lib]という名前の 2 つのフォルダが作成されます。

ステップ2:設定ファイル内のエントリを編集

  1. JavaWrapper の[lib]フォルダ内に、[JAVA_API.conf]という名前の設定ファイルがあります。
  2. 以下の詳細に従って、設定ファイル内のエントリを編集します。
    1. サーバー名:XML-RPC サーバーが実行されているホストの名前。これは、Password Manager Pro が実行されているホストと同じになります。値はデフォルトで入力されるため、この値を編集する必要はありません。
    2. サーバポート:デフォルトでは、XML-RPC サーバーは 7070 を占有します。
    3. セカンダリサーバー名: Password Manager Pro セカンダリ サーバーが実行されているホストの名前。A-to-A パスワード管理を設定する前に高可用性が設定されていた場合、デフォルトでセカンダリ サーバー名が使用されます。後で高可用性を設定する場合は、ここで Password Manager Pro セカンダリ サーバーのホスト名を手動で指定する必要があります。高可用性を使用する予定がない場合は、このフィールドを空白のままにしておきます。
    4. セカンダリサーバーポート: これは、Password Manager Pro セカンダリ インストールにおける XML-RPC サーバーのポートを表します。デフォルトでは、7070 を占めます。
    5. キーストアパス: PKCS12 形式のキーストアのパス。
    6. キーストアのパスワード: PKCS12 形式のキーストアのパスワード (該当する場合)。

    例:

    • サーバー名: testserver
    • サーバポート:7070
    • セカンダリサーバー名: test_workstation_secondary
    • セカンダリサーバーポート: 7070
    • キーストアパス: C:\\openssl\\bin\\file.p12
    • キーストアパスワード: passtrix

呼び出し側アプリケーションは、パスワード管理 API を使用するときに SSL 証明書を提示する必要があります。Password Manager Pro によって提供される jar には、必要な証明書が含まれています。

ステップ3:Password Manager Pro 固有のコマンドを呼び出し側アプリケーションに含める

含めるコマンド (詳細は Javadoc を参照)

1.パスワード取得用

1.1 パスワードの取得に理由の入力が不要な場合

リソースのパスワードを取得するには、Password Manager Pro に存在するリソースの名前とアカウント名をそれぞれ正確に入力します。

retrievePassword (String resourceName, String accountName)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { System.out.println(PasswordManagerPro.getInstance().retrievePassword("test-server","administrator")); } catch (PMPException pmpEx) { } } }

1.2 パスワードの取得に理由の入力が必要な場合

ご使用の環境の Password Manager Pro の設定で、パスワードを取得する理由の入力が義務付けられている場合は、Password Manager Pro に存在するリソースの名前とアカウント名をそれぞれ正確に入力する必要があります。また、パスワードを取得する[理由]を指定する必要があります。

retrievePassword (String resourceName, String accountName, String reason)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { System.out.println(PasswordManagerPro.getInstance().retrievePassword("test-server","administrator","testing")); } catch (PMPException pmpEx) { } } }

1.3 パスワードの取得にチケット ID の入力が必要な場合

ご使用の環境の Password Manager Pro 設定で、パスワードを取得するためのチケット ID の入力が必須となっている場合は、Password Manager Pro に存在するリソースの名前とアカウント名をそれぞれ正確に入力する必要があります。また、パスワードを取得するには[ticketId]を指定する必要があります。

retrievePassword (String resourceName, String accountName, String reason, String ticketId)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { System.out.println(PasswordManagerPro.getInstance().retrievePassword("test-server","administrator","testing","7")); } catch (PMPException pmpEx) { } } }

2.パスワードリセットの場合

2.1 ローカルパスワードのリセット

リソースのパスワードをローカルでリセットするには、Password Manager Pro に存在するリソースの名前とアカウント名をそれぞれ正確に入力します。パスワードをリセットする[理由]の指定はオプションです。パスワードをローカルでリセットするには、ブール値の updateRemote に[false]を指定します。

changePassword (String resourceName, String accountName, String reason, String updateRemote) (これにより、新しいランダムなパスワードが割り当てられます)

または

changePassword (String resourceName, String accountName, String reason, String newPassword, String updateRemote) (これにより、指定した新しいパスワードが割り当てられます)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { PasswordManagerPro.getInstance().changePassword("test-server","administrator","testing","false" ); } catch (PMPException pmpEx) { } } }

2.2 リモートパスワードリセット

リモート パスワード リセットを実行するには、Password Manager Pro に存在するリソースの名前とアカウント名をそれぞれ正確に入力します。リモート パスワードのリセットを示すには、ブール値 updateRemote の値として[true]を指定します。オプションで、パスワード リセットの理由を文字列として含めることができます。

changePassword (String resourceName, String accountName, String reason, String updateRemote) (これにより、新しいランダムなパスワードが割り当てられます)

または

changePassword (String resourceName, String accountName, String reason, String newPassword, String updateRemote) (これにより、指定した新しいパスワードが割り当てられます)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { PasswordManagerPro.getInstance().changePassword("test-server","administrator","testing","true"); } catch (PMPException pmpEx) { } } }

2.3 パスワードのリセットにチケットIDの入力が必要な場合

2.3.i ローカルパスワードのリセット

リソースのパスワードをローカルでリセットするには、Password Manager Pro に存在するリソースの名前とアカウント名をそれぞれ正確に入力します。パスワードをリセットするための[reason]と[ticketId]の指定はオプションです。パスワードをローカルでリセットするには、ブール値の updateRemote に[false]を指定します。

changePassword (String resourceName, String accountName, String reason, String updateRemote, String ticketId) (これにより、新しいランダムなパスワードが割り当てられます)

または

changePassword (String resourceName, String accountName, String reason, String newPassword, String updateRemote, String ticketId) (これにより、指定した新しいパスワードが割り当てられます)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { PasswordManagerPro.getInstance().changePassword("test-server","administrator","testing","false","7"); } catch (PMPException pmpEx) { } } }

2.3.ii リモートパスワードリセット

リモート パスワード リセットを実行するには、Password Manager Pro に存在するリソースの名前とアカウント名をそれぞれ正確に入力します。リモート パスワードのリセットを示すには、ブール値 updateRemote の値として[true]を指定します。オプションで、パスワード リセットの理由とチケット ID を文字列として含めることができます。

changePassword (String resourceName, String accountName, String reason, String updateRemote, String ticketId) (これにより、新しいランダムなパスワードが割り当てられます)

または

changePassword (String resourceName, String accountName, String reason, String newPassword, String updateRemote, String ticketId) (これにより、指定した新しいパスワードが割り当てられます)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { PasswordManagerPro.getInstance().changePassword("test-server","administrator","testing","true","7"); } catch (Password Manager ProException pmpEx) { } } }

3.新しいリソースとユーザーアカウントの作成

新しいリソースとユーザー アカウントを作成するには、追加するリソースとアカウントの名前、および Password Manager Pro に存在するアカウント名を正確に入力します。リモート パスワードのリセットを示すには、ブール値 updateRemote の値として[true]を指定します。必要に応じて、参考として役立つメモを含めることができます。

createResource (String resourceName, String resourceType, String accountName, String notes) (これにより、作成されるアカウントに新しいランダムなパスワードが割り当てられます)

または

createResource (String resourceName, String resourceType, String accountName, String newPassword, String notes) (これにより、作成されるアカウントに特定のパスワードが割り当てられます)

例:

 import com.manageengine.pmp.PasswordManagerPro; import com.manageengine.pmp.PMPException; class Sample { public static void main(String args[]) { try { PasswordManagerPro.getInstance().createResource("Mail-Server","Windows","administrator","testing"); } catch (PMPException pmpEx) { } } }

6.3.ii XML-RPC クライアントの利用 (他のプログラミング言語を使用)

詳細については、このドキュメントを参照してください。

6.3.iii 高可用性モード (XML-RPC) での Password Manager Pro へのアクセス

Password Manager Pro で高可用性セットアップを設定している場合、プライマリ サーバーがダウンしたときに、アプリケーションは A-to-A パスワード管理のためにシームレスにセカンダリ サーバーに接続できます。

ケース 1: XML-RPC による A-to-A パスワード管理を設定する前に高可用性セットアップを設定した場合

  • サードパーティ CA によって署名された証明書を使用している場合は、プライマリ サーバーがダウンしているときにセカンダリ サーバーにアクセスするための特別な設定を実行する必要はありません。すべてが自動的に処理されます。
  • 自己署名証明書または独自の証明書を使用している場合は、上記のいずれかのセクションで説明した手順に従って、SSL ルート証明書を Password Manager Pro セカンダリ サーバーにインポートする必要があります。

前述したように、Password Manager Pro には XML-RPC サーバーが組み込まれています。デフォルトでは、Password Manager Pro セカンダリ インストールのポート 7070 を占有します。他の希望する値に変更するには、以下で説明するように変更できます。

    1. Password Manager Pro プライマリ サーバーを停止
    2. Password Manager Pro Secondary の Web インターフェイスに接続
    3. [管理]>>[設定]>>[パスワード管理API]に移動します。
    4. 開いた UI で、左側のオプションから XML RPC を選択します。
    5. XML-RPC ポート (デフォルトでは 7070 を占有) を指定し、[保存]をクリックします。
    6. この変更を有効にするには、Password Manager Pro セカンダリ サーバーを再起動します。

上記の設定が完了すると、高可用性モードでのパスワード アクセスがシームレスになります。ただし、プライマリ サーバーがダウンしている場合は書き込み操作が許可されないため、アプリケーションはパスワードを取得することしかできません。パスワードのリセットやリソース/アカウントの作成を実行することはできません。

ケース 2: XML-RPC による A-to-A パスワード管理を設定した後に高可用性セットアップを設定する場合

この場合、次の設定を行う必要があります。

ステップ1

JavaWrapper の[lib]フォルダ内に、[JAVA_API.conf]という名前の設定ファイルがあります。[SecondaryServerName]という名前のエントリが見つかります。これに対して、セカンダリサーバーのホスト名を指定します。

SecondaryServerName=<Password Manager Pro セカンダリ サーバーが実行されているホストの名前>

前述したように、Password Manager Pro には XML-RPC サーバーが組み込まれています。デフォルトでは、Password Manager Pro セカンダリ インストールのポート 7070 を占有します。他の希望の値に変更したい場合は、以下で説明するように変更できます。

    1. Password Manager Pro プライマリ サーバーを停止します。
    2. Password Manager Pro Secondary の Web インターフェイスに接続
    3. [管理] >> [設定] >> [パスワード管理 API] に移動します。
    4. 開いた UI で、左側のオプションから[XML RPC]を選択します。
    5. XML-RPC ポート (デフォルトでは 7070 を占有) を指定し、[保存]をクリックします。
    6. この変更を有効にするには、Password Manager Pro セカンダリ サーバーを再起動します。

[SecondaryServerPort]のテキストフィールドに対して、[JAVA_API.conf]に新しいポートを指定します。

SecondaryServerPort=<これは、Password Manager Pro セカンダリ インストールにおける XML-RPC サーバーのポートを表します。デフォルトでは、7070> を占めます。

ステップ2

自己署名証明書または独自の証明書を使用している場合は、上記のセクションのいずれかで説明した手順に従って、SSL ルート証明書を Password Manager Pro セカンダリ サーバーにインポートする必要があります。(サードパーティ CA によって署名された証明書を使用している場合は、プライマリ サーバーがダウンしているときにセカンダリ サーバーにアクセスするための特別な設定を実行する必要はありません。すべてが自動的に処理されます)。

上記の設定が完了すると、高可用性モードでのパスワード アクセスがシームレスになります。ただし、プライマリ サーバーがダウンしている場合は書き込み操作が許可されないため、アプリケーションはパスワードを取得することしかできません。パスワードのリセットやリソース/アカウントの作成を実行することはできません。