DevSecOps 软件开发工具包 - Java
当组织中的 PAM360 用户获得 SDK 访问权限和注册令牌后,即可通过在应用程序/服务中注册相应的 PAM360 SDK 来继续使用该 SDK。请按照以下文档操作。
1. Java SDK 先决条件
- Java SDK 要求 Java 应用程序版本为 8 或更高。
- 将下载的 PAM360 Java SDK JAR 文件部署到应用程序或开发服务目录中的 lib 文件夹内。
通过提供的链接下载核心 SDK。请一并包含以下 JAR 文件:commons-logging-1.1.jar、 httpclient-4.5.13.jar、 httpcore-4.4.9.jar, httpmime-4.5.3.jar 以及 json.jar)添加到项目的引用库中。其他详情
在 PAM360 中获得 SDK 访问权限后,系统将向您的注册邮箱发送一封包含身份验证令牌和 Java SDK 下载链接的邮件。 此外,您也可以联系管理员获取 Java SDK 文件。
- 为确保 SDK 注册成功,请将 PAM360 Web 服务器证书添加到 Java 安装目录下的 cacerts 文件夹中。
2. 将 Java 应用程序注册到 PAM360
将 SDK JAR 文件部署到 Java 应用程序后,在开始创建您的 Java 应用程序之前,需要执行某些配置步骤或提供必要的信息,以建立连接、注册或使用 SDK 提供的 PAM360 功能。
请使用提供的示例代码,配合 ClientRegistrationManager和ServiceConfiguration对象,将您的 Java 应用程序/服务注册到 PAM360 服务器。此注册操作将您的 Java 应用程序注册到 PAM360 接口,并便于后续通过可用 API 方法从 PAM360 存储库中检索数据。这是一项在部署 PAM360 SDK 的机器上仅需执行一次的操作。
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);
//更新新的注册令牌 - registrationManager.update(registrationToken,"");
//检查是否有 SDK 已注册 - boolean isRegistered = registrationManager.isRegistered();
}
catch (SDKException ex) {
ex.printStackTrace();
}
}
}
- registrationToken- 通过电子邮件或管理员获取的、与 SDK 策略关联的唯一标识符。
- pamHostName- PAM360 应用程序运行的特定主机。
- pamServerPort- 与 PAM360 服务器通信的端口号。
2.1 用户注册如何工作?
执行上述包含ClientRegistrationManager和ServiceConfigurationSDK Java 对象的示例代码后,Java 应用程序将注册到 PAM360 应用程序中。作为注册响应,系统将在名为sdk_config 的文件夹中创建一个 SDK 配置文件。
注意
请确保 安全地存储 生成的配置文件。 当从 Java 应用程序发起 API 调用时,该配置文件中的值将作为 Java 应用程序与 PAM360 之间身份验证的主要依据。
完成注册后,已部署 PAM360 SDK 的应用程序将显示在 PAM360 Web 界面中。用户可访问 策略名称、应用程序类型、访问信息等数据,以及应用程序内与 PAM360 相关的操作审计详情。管理员可直接通过 PAM360 界面管理已部署 SDK 的应用程序详情。
3. 通过已部署 SDK 的应用程序调用 PAM360 API
以下是通过 PAM360 SDK 从 Java 应用程序/服务初始化 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 时通过以下步骤,在首选目录中指定一个绝对文件路径。此操作仅需执行一次;一旦定义,后续 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")
.
.