DevSecOps 向け PAM360 ソフトウェア開発キット - Java
組織内の PAM360 ユーザーに SDK アクセスと登録済みトークンが提供されると、ユーザーはアプリケーション/サービスに関連する PAM360 SDK を登録することで、SDK の使用をさらに進めることができます。そのためには、以下のドキュメントに従ってください。
1.Java SDK - 前提条件
- Java SDK にはバージョン 8 以上の Java アプリケーションが必要です。
- ダウンロードした PAM360 Java SDK JAR を、アプリケーションまたは開発サービス ディレクトリ内の lib フォルダにデプロイします。
注記:PAM360 で SDK アクセスが許可されると、認証トークンと Java SDK をダウンロードするためのリンクを含むメールが登録済みのメール アドレスに送信されます。
または、Java SDK ファイルについては管理者に問い合わせることもできます。 - SDK 登録を正常に行うには、PAM360 Web サーバー証明書を Java インストール ディレクトリの cacerts フォルダに追加します。
2.PAM360 への Java アプリケーションの登録
SDK JAR ファイルを Java アプリケーションにデプロイする際、Java アプリケーションの作成を開始する前に、接続を確立したり、SDK によって提供される PAM360 機能を登録または利用したりするために、特定の構成手順を実行するか、必要な情報を提供する必要があります。
提供されているサンプル コードを ClientRegistrationManager および ServiceConfiguration オブジェクトとともに使用して、Java アプリケーション/サービスを PAM360 サーバーに登録します。この登録により、Java アプリケーションが PAM360 インターフェースに登録され、その後、利用可能な API メソッドを介して PAM360 リポジトリからデータを取得できるようになります。これは、PAM360 SDK が利用されているマシン上での 1 回限りの操作です。
import com.manageengine.pam360.sdk.exception.SDKException; import com.manageengine.pam360.sdk.services.ClientRegistrationManager; import com.manageengine.pam360.sdk.services.ServiceConfiguration; public class SDKRegistrationExample { public static void main(String [] args) { ServiceConfiguration config = null; try { String registrationToken = "#######-####-####-####-############"; String pamHostName = "CHEST11F-H07"; int pamServerPort = 8282; config = new ServiceConfiguration(pamHostName, pamServerPort); ClientRegistrationManager registrationManager = new ClientRegistrationManager(config); registrationManager.register(registrationToken); //To Update a New Registration Token - registrationManager.update(registrationToken,""); //To check if there any SDK registered - boolean isRegistered = registrationManager.isRegistered(); } catch (SDKException ex) { ex.printStackTrace(); } } }
- registrationToken - 電子メールまたは管理者から受信した SDK ポリシーに関連付けられた一意の識別子。
- pamHostName - PAM360 アプリケーションが動作する特定のホスト。
- pamServerPort - PAM360 サーバーとの通信用のポート番号。
ユーザー登録はどのように行われますか?
分類された ClientRegistrationManager および ServiceConfiguration SDK Java オブジェクトを使用して上記のサンプル コードを実行すると、Java アプリケーションが PAM360 アプリケーションに登録されます。登録に応じて、sdk_config という名前のフォルダに SDK 構成ファイルが作成されます。
注記:
生成された設定ファイルを必ず安全に保存してください。
構成ファイルの値は、Java アプリケーションから API 呼び出しを行う際に、Java アプリケーションと PAM360 間の認証の主なソースとして機能します。
完了すると、デプロイされた PAM360 SDK で登録されたアプリケーションが PAM360 Web インターフェースに反映されます。ポリシー名、アプリケーション タイプ、アクセスされた情報などの情報に加え、PAM360 に関連するアプリケーション内で実行されたアクションの監査の詳細にアクセスできるようになります。管理者は、PAM360 インターフェースから直接、SDK で展開されたアプリケーションの詳細を監視する機能を備えています。
3.SDK でデプロイされたアプリケーション経由で PAM360 API を呼び出す
以下は、Java アプリケーション/サービスから PAM360 SDK 経由で API を初期化するためのサンプル コードです。
例: アカウントのパスワードを取得する
import com.manageengine.pam360.sdk.exception.SDKException; import com.manageengine.pam360.sdk.resources.Password; import com.manageengine.pam360.sdk.services.ClientRegistrationManager; import com.manageengine.pam360.sdk.services.PAMService; import com.manageengine.pam360.sdk.services.ServiceConfiguration; public class getPasswordOfAccount { public static void main(String[] args) { ServiceConfiguration config = null; try { String pamHostName = "CHEST11F-H07"; int pamServerPort = 8282; config = new ServiceConfiguration(pamHostName, pamServerPort); String restApiToken = "########-####-####-####-############"; PAMService service = new PAMService(config, restApiToken); Password password = service.getPasswordInstance(); System.out.println(password.getPasswordOfAccount("ad-services2k19", "sysadmin")); } catch (SDKException ex) { ex.printStackTrace(); } } }
残りの SDK 対応 API サンプル コードについては、このヘルプ ドキュメントを参照してください。利用可能なオブジェクト、メソッド、クラスについて詳しくは、この Java ドキュメントを参照することもできます。
4.Java SDK でのベスト プラクティス
SDK ログ - PAMSDKLogger は、PAM360 SDK 内で発生するすべての内部エラーとアクティビティをログに記録する役割を担います。このクラスは、エンティティ、登録などで発生するすべての内部エラーを報告します。デフォルトでは、SDK 関連のログは、PAM360 SDK のデプロイされた Java アプリケーションの sdk_logs という名前のフォルダに保存されます。ただし、セキュリティ上の理由から、API を呼び出すときに以下の手順を使用して、優先ディレクトリに絶対ファイル パスを指定できます。これは 1 回限りのプロセスです。一度定義すると、後続の API 呼び出しのログに同じパスが使用されます。
import com.manageengine.pam360.sdk.services.PAMSDKLogger; ..PAMSDKLogger logger = new PAMSDKLogger(); logger.setLogLocation("D:\2024\Java\Vault\SDK"); ..
SDK 構成 - アプリケーション登録中に生成された構成ファイルの値は、Java アプリケーションから API 呼び出しを行う際に、Java アプリケーションと PAM360 間の主要な認証ソースとして機能します。デフォルトでは、アプリケーションを登録するときに、構成ファイルは Java アプリケーション内の sdk_config というフォルダに保存されます。ただし、セキュリティ上の理由から、API を呼び出すときに以下の手順を使用して、優先ディレクトリに目的のディレクトリ パスを指定できます。これにより、SDK 構成ファイルを任意の場所に保存できるようになります。
import com.manageengine.pam360.sdk.services.DefaultClientConfigHandler; ..ServiceConfiguration config = null; try { String pamHostName = "CHEST11F-H07"; int pamServerPort = 8282; config = new ServiceConfiguration(pamHostName, pamServerPort); config.setConfigurationPath("D:\2024\Java\Vault\SDK") ..