Java SDK API 示例

所有 PAM360 API 均可通过基于 PAM360 中指定用户角色的 Java SDK 进行调用,从而支持开发自定义应用程序,以高效地执行所需操作。

此处提供了 PAM360 Java SDK 中所有受支持 API 方法的示例代码,供您参考,同时附有相关的 SDK 异常说明。

您还可以参考 Java 文档 以获取更多详细信息。

使用 Java SDK 的 REST API 示例代码

1. 资源操作

- Resource

构造函数- Resource(PAMService service, APIRequestHandler rest)

描述- 创建一个包含与 PAMService 相关资源功能的资源实体类实例。

方法

描述

createResource

public boolean createResource() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    ResourceModel resourceModel=new ResourceModel();
    resourceModel.setResourceName("CHTOW-08F-165");
	resourceModel.setDomainName("manageengine.com");
    resourceModel.setDnsName("acme.com");
    resourceModel.setResourceType("Windows");
    resourceModel.setNotes("用于系统管理");
	resourceModel.setResourceLocation("Noida");
    resourceModel.setResourceDescription("通过 SDK 添加");
    resourceModel.setResourceDepartment("系统管理");
    resourceModel.setResourcePasswordPolicy("");
    resourceModel.setAccountName("aut-2k23");
	resourceModel.setPassword("GD*yuhf@gDht%");
    resourceModel.setAccountPasswordPolicy("Strong");
    if(resource.createResource(resourceModel)!=null){
        return true;
    }
    return false;
}

在 PAM360 存储库中使用提供的属性创建一个新资源。

deleteResource

public boolean deleteResource() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return resource.deleteResource("CHTOW-08F-165");
}

根据提供的资源 ID 或资源名称,从 PAM360 存储库中删除资源。

editResource

public boolean editResource() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    ResourceModel resourceModel = new ResourceModel();
    resourceModel.setResourceName("DLWO-0L8-0H5"); 
    resourceModel.setResourceLocation("Noida");
	return resource.editResource("resource1", resourceModel);
}	

根据提供的属性编辑 PAM360 存储库中的资源。

getAccountsOfResource

public boolean getAccountsOfResource() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    List list=resource.getAccounts("CHTOW-08F-165");
    if(list==null){
        return false;
    }
    return true;
}	

根据提供的资源 ID 或资源名称,获取该资源下的账户列表。

getAssociatedGroups

public boolean getAssociatedGroups() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    JSONObject associateGroups=resource.getassociatedResourceGroups("CHTOW-08F-165");
    if(associateGroups==null){
        return false;
    }
    return true;
}	

根据资源名称获取与该资源关联的资源组列表。

getID

public boolean getID() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    long id=0;
    id=resource.getResourceID("CHTOW-08F-165");
    if(id==0){
        return false;
    }
    return true;
}	

根据资源名称获取资源的 ID。

getResourceAndAccountId

public boolean getResourceAndAccountId() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    ResourceAccountID ids = resource.getResourceAndAccountID("DLWO-0L8-0H5","sysadmin");
    if(ids==null){
        return false;
    }
    return true;
}	

根据资源名称和账户名称获取账户 ID 及相关资源 ID。

getSharedResources

public boolean getSharedResources() throws SDKRegistrationException, SDKConnectionException, SDKOperationFailedException {
    List list=resource.getSharedResources();
    if(list==null){
        return false;
    }
    return true;
}	

获取用户共享或拥有的资源列表。

sharetoUserGroup

public boolean sharetoUserGroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return resource.shareResourceToUsergroup("DLWO-0L8-0H5", sdkEnumConstants.AccessPermission.MODIFY, "系统管理");
}

使用资源名称和用户名作为输入,将资源共享给用户。

shareResourceToUser

public boolean shareResourceToUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return resource.sharerResourceToUser("DLWO-0L8-0H5","guest", sdkEnumConstants.AccessPermission.MODIFY);
}

使用资源名称和用户组名称作为输入,将资源共享给用户组。

move_resource_to_trash

   
public boolean trashResource() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return resource.trashResource(301L); 
}

将用户拥有的资源移至垃圾桶。

fetch_all_trashed_resources

public boolean getTrashResourceDetails() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    List<TrashDetails> trashDetails = trash.getTrashedResources();
    return trashDetails != null &&  !trashDetails.isEmpty();
}

从 PAM360 中检索用户已移至垃圾桶的自有资源。

restore_resources_from_trash

public boolean fetchAndRestoreResource() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return trash.restoreResources(Arrays.asList("resource")); 
}

将用户拥有的资源从 PAM360 的回收站中恢复。

configure_remote_password_reset_mssql

public boolean configureRemotePasswordReset() 
        throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    
    ConfigureRemotePasswordResetModel configureRemotePasswordResetModel = new ConfigureRemotePasswordResetModel();
    
    configureRemotePasswordResetModel.setMssqlAuthentication(sdkEnumConstants.MSSQLAuthenticationType.MSSQL_SERVER);
    configureRemotePasswordResetModel.setMssqlPort("1433");
    configureRemotePasswordResetModel.setWinAuthResourceName("test");
    configureRemotePasswordResetModel.setWinAuthAccountName("administrator");
    configureRemotePasswordResetModel.setMssqlAccount("test1");
    configureRemotePasswordResetModel.setresources(Arrays.asList(
        "301",
        "302"
    ));
    configureRemotePasswordResetModel.setConnectionMode(sdkEnumConstants.ConnectionMode.NON_SSL);
    configureRemotePasswordResetModel.setResourceType(sdkEnumConstants.ResourceType.MSSQL);
    configureRemotePasswordResetModel.setMssqlInstanceName("sample");
    
    resource.configureRemotePasswordReset(configureRemotePasswordResetModel);
    
    return true;
}

用于配置 PAM360 中可用 MS SQL 资源的远程密码重置。


2. 访问控制操作

- AccessControl

构造函数- AccessControl(PAMService service, APIRequestHandler rest)

描述- 创建一个包含访问控制相关功能的访问控制实体类实例。

方法

描述

approvePasswordRequests

public boolean approvePasswordRequests() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    return accessControl.approvePasswordRequests("aut-2k23","DLWO-0L8-0H5","guest");
}	

批准用户使用资源名称和请求的用户名提出的密码访问请求。

checkInAsAdmin

public boolean checkInAsAdmin() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    return accessControl.checkInasAdmin("DLWO-0L8-0H5","aut-2k23","guest");
}	

使用资源名称、账户名称和请求者名称,以管理员身份签入为某个账户请求的密码。

checkInAsUser

public boolean checkInAsUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    return accessControl.checkInasUser("DLWO-0L8-0H5","aut-2k23"); 
}	

以用户身份,使用资源名称和账户名称,签入为某个账户请求的密码。

checkOut

public boolean checkOut() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    String response=accessControl.checkOut("DLWO-0L8-0H5","aut-2k23","用于自动化处理。");
	if(response==null){
        return false;
    }
    return true;
}	

在批准后,使用资源名称和理由签出该账户的密码请求。

getPasswordRequests

public boolean getPasswordRequests() throws SDKConnectionException, SDKOperationFailedException {
    List list=accessControl.getPasswordRequests();
    if(list==null){
        return false;
    }
    return true;
}	

获取待审批的密码访问请求列表。

rejectPasswordRequests

public boolean rejectPasswordRequests() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    return accessControl.rejectPasswordRequest("aut-2k23","DLWO-0L8-0H5","guest");
}	

通过资源名称和请求的用户名,拒绝用户提出的密码访问请求。

requestPasswordApproval

public boolean requestPasswordApproval() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    String response=accessControl.requestPasswordApproval("aut-2k23","DLWO-0L8-0H5","用于自动化测试");
	if(response==null){
        return false;
    }
    return true;
}	

使用账户名称和请求理由,请求对该账户的密码访问权限。


3. 账户操作

- Account

构造函数- Account(PAMService service, APIRequestHandler rest)

描述- 创建一个包含账户相关操作的账户实体类实例。

方法

描述

createAccount

public boolean createAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
    List accountModels=new ArrayList<>();
	AccountModel accountModel1 = new AccountModel();
    accountModel1.setAccountName("sysadmin");
    accountModel1.setPassword("GD*yuhf@gDht%");
    accountModel1.addCustomField("Test", "Value");
    accountModels.add(accountModel1);
	AccountModel accountModel2 = new AccountModel();
    accountModel2.setAccountName("aut-2k23");
    accountModel2.setPassword("BgfUgDD5#@h&");
    accountModel2.addCustomField("Test", "Value");
    accountModels.add(accountModel2);
	JSONObject data=account.createAccount("DLWO-0L8-0H5", accountModels);
    if(data==null){
        return false;
    }
    return true;
}	

使用提供的账户属性和资源名称,在资源中创建一个新账户。

deleteAccount

public boolean deleteAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return account.deleteAccount("DLWO-0L8-0H5","guest");
}	

根据提供的资源名称和账户名称,删除资源中的账户。

editAccount

public boolean editAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
        AccountModel accountModel = new AccountModel();
        accountModel.setAccountName("kmp-2k19");
		accountModel.setDisablePasswordResets(false);
        return account.editAccount("DLWO-0L8-0H5","sysadmin",accountModel);
}	

根据提供的账户属性和资源名称,编辑资源中的某个账户。

getAccountDetails

public boolean getAccountDetails() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    AccountDetails accountDetails=account.getDetails("DLWO-0L8-0H5","aut-2k23");
    if(accountDetails==null){
        return false;
    }
    return true;
}	

用于获取资源中某个账户的详细信息

shareToUser

public boolean shareToUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return account.shareAccountToUser("CHTOW-08F-165", "aut-2k23", "guest", sdkEnumConstants.AccessPermission.MODIFY);
}	

使用资源名称、账户名称和用户名作为输入,将账户共享给用户。

shareToUsergroup

public boolean shareToUsergroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return account.shareAccountToUserGroup("CHTOW-08F-165","aut-2k23","System Administration", sdkEnumConstants.AccessPermission.MODIFY);
}	

使用资源名称、账户名称和用户组名称作为输入,将资源共享给用户组。

move_account_to_trash

   
public boolean trashAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return account.trashAccount("resource1","account2"); 
}

将用户拥有的账户移至 PAM360 的回收站。

fetch_all_trashed_accounts

 
public boolean getTrashAccountDetails() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    List<TrashDetails> trashDetails = trash.getTrashedAccounts();
    return trashDetails != null && !trashDetails.isEmpty();
}

用于检索用户在 PAM360 中已移至垃圾桶的所属账户。

从回收站恢复账户

   
public boolean fetchAndRestoreAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return trash.restoreAccounts("resourceName", Arrays.asList("account"));
}

将用户拥有的账户从 PAM360 的回收站中恢复。


4. 密码操作

- 密码

构造函数- Password(PAMService service, APIRequestHandler rest)

描述- 创建一个包含密码相关操作的密码实体类实例。

方法

描述

changePasswordOfAccount

public boolean changePasswordOfAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return password.changePasswordOfAccount("DLWO-0L8-0H5","sysadmin","GH*ikHij%6g$",sdkEnumConstants.ResetType.LOCAL);
}	

使用资源名称和账户名称更改账户密码。

generatePassword

public boolean generatePassword() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    String pass=password.generate("Strong");
    if(pass==null){
        return false;
    }
    return true;
}	

根据提供的策略生成新密码。

getPasswordOfAccount

public boolean getPasswordOfAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    String pass=password.getPasswordOfAccount("CHTOW-08F-165","aut-2k23");
    if(pass==null){
        return false;
    }
    return true;
}	

使用提供的资源名称和账户名称获取账户密码。

getPasswordPolicies

public boolean getPasswordPolicies() throws SDKConnectionException, SDKOperationFailedException {
    JSONObject policies=password.getPasswordPolicies();
    if(policies==null){
        return false;
    }
    return true;
}	

用于获取组织中所有可用的密码策略。

验证密码

public boolean validatePassword() throws SDKInvalidArgumentException, SDKConnectionException, SDKOperationFailedException {
	String pass="GD*yuhf@gDht%"; 
    sdkEnumConstants.PasswordPolicy passwordPolicy= sdkEnumConstants.PasswordPolicy.Strong;
    return password.validatePassword(pass,passwordPolicy);
}	

用于验证所提供密码是否符合密码策略。

reset_passwords_accessed_by_user

public boolean resetOwnedAndSharedPasswords() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return user.resetOwnedAndSharedPasswords(2L, new JSONArray(Arrays.asList("email1@example.com", "email2@example.com"))); 
}

重置用户在 PAM360 中拥有的所有密码以及与该用户共享的密码。


5. 用户操作

- User

构造函数- User(PAMService service, APIRequestHandler rest)

描述- 创建一个包含用户相关操作的用户实体类实例。

方法

描述

adduserToUserGroup

public boolean adduserToUserGroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return user.addUserToGroup("samand-1765","Automation Members"); 
}	

使用用户名和用户组名称将用户添加到用户组。

createUser

public boolean createUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    UserModel userModel = new UserModel();
    userModel.setUserName("samand-1765");
	userModel.setFirstName("Sam");
    userModel.setLastName("Anderson"); 
    userModel.setEmail("samander@zykler.com"); 
    userModel.setDepartment("Automation"); 
    userModel.setLanguage("english"); 
    userModel.setEnableBrowserExtensionAccess(false);
	userModel.setEnableMobileAccess(false);
    userModel.setEnableWebAccess(true);
    userModel.setEnableApiAccess(false);
    userModel.setEnableSdkAccess(true);
    userModel.setRole("密码用户");
	userModel.setPolicy(""); 
    userModel.setLocation("诺伊达"); 
    userModel.setSuperAdmin(false);
    userModel.setCheckHostName(false);
	userModel.setApiTokenExpiryDate("2024-10-20"); 
    userModel.setEnableTwoFactorAuthentication(false);
    userModel.setPassword("SyubvEyui"); 
    if(user.createUser(userModel)!=null){
    return true;
    }
    return false;
}	

根据提供的用户属性创建用于 PAM360 访问的新用户账户。

deleteUser

public boolean deleteUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return user.deleteUser("guest"); 
}	

使用用户名删除用户账户。

editUser

public boolean editUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    UserModel userModel=new UserModel();
    userModel.setRole("Administrator");
	userModel.setEnableApiAccess(true);
    if(user.editUser("samand-1765",userModel)!=null){
        return true;
    }
    return false;
}	

根据提供的用户属性编辑 PAM360 用户账户。

getUserId

public boolean getUserId() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    long id = user.getUserID("samand-1765");
    if (id == 0) {
        return false;
    }
    return true;
}	

根据用户名获取 PAM360 用户账户的用户 ID。

getUsergroupId

public boolean getUsergroupId() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    long groupId=user.getusergroupID("Automation Members");
    if(groupId==0){
        return false;
    }
    return true;
}	

根据用户组名称获取用户组的 ID。

lockUser

public boolean lockUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return user.lockUser("samand-1765");
}	

使用用户名锁定用户账户。

removeFromUsergroup

public boolean removeFromUsergroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    ArrayList usernames = new ArrayList();
    usernames.add("john");
    usernames.add("guest");
	JSONObject json = user.removeFromUserGroup(usernames, "System Administration");
    if (json == null || json.isEmpty()) {
        return false;
}	

根据用户名和用户组名称将用户从用户组中移除。

unlockUser

public boolean unlockUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return user.unlockUser("guest"); 
}	

使用用户名解锁用户账户。

deleteUserGroup

public boolean deleteUserGroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    ArrayList usergroupNames=new ArrayList<>();
    usergroupNames.add("自动化成员");
    usergroupNames.add("系统管理");
	JSONObject ans = user.deleteUserGroup(userGroupNames);
    if (ans == null) {
        return false;
    }
    return true;
}	

根据用户组名称删除用户组。

resetMFA

public boolean resetMFA() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    String userName="john";  
    return user.resetMFA(userName);
}	

重置用户的多因素身份验证。

regenerateRestToken

public JSONObject regenerateRestToken() throws SDKConnectionException, SDKOperationFailedException {
    JSONObject data=user.regenerateRestToken();
    System.out.println(data);
    return data;
}	

为自己重新生成身份验证令牌。


6. 资源组操作

- ResourceGroup

构造函数- ResourceGroup(PAMService service, APIRequestHandler rest)

描述- 创建一个包含资源组相关操作的资源组类实例。

方法

描述

associateResources

public boolean associateResources() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    ArrayList resourceNames=new ArrayList();
    resourceNames.add("aut-2k23");
	resourceNames.add("kuber-76BH");
    return resourceGroup.associateResources(resourceNames, "Human Resources VM", "newuser");
}	

使用资源 ID 和资源组 ID 或资源名称和资源组名称,将资源关联到静态资源组。

createDynamicGroup

public boolean createDynamicGroup() throws SDKInvalidArgumentException, SDKConnectionException, SDKOperationFailedException {
    ResourceGroupModel resourceGroupModel=new ResourceGroupModel();
    DynamicGroupCriteria criteria = new DynamicGroupCriteria();
    criteria.add(sdkEnumConstants.DefaultFields.RESOURCENAME.toString(), sdkEnumConstants.Operator.CONTAINS, null, "resource")
    resourceGroupModel.setGroupName("实习生和培训生计算机");
    resourceGroupModel.setGroupType(sdkEnumConstants.GroupType.DYNAMIC);
    resourceGroupModel.setDescription("实习生和培训生资源的动态组"); 
	resourceGroupModel.setPasswordpolicy(sdkEnumConstants.PasswordPolicy.Low);
    resourceGroupModel.setDynamicGroupCriteria(criteria);
    resourceGroupModel.setMatchAllCriteria(true);
    return resourceGroup.createResourceGroup(resourceGroupModel);
}	

根据提供的属性创建动态资源组。

createStaticgroup

public boolean createStaticgroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    ResourceGroupModel resourceGroupModel=new ResourceGroupModel();
    resourceGroupModel.setGroupName("人力资源虚拟机"); 
    resourceGroupModel.setGroupType(sdkEnumConstants.GroupType.STATIC);
	resourceGroupModel.setDescription("人力资源团队的虚拟机资源组"); 
    resourceGroupModel.setPasswordpolicy(sdkEnumConstants.PasswordPolicy.Low);
    return resourceGroup.createResourceGroup(resourceGroupModel);
}	

根据提供的属性创建动态资源组。

deleteResourceGroup

public boolean deleteResourceGroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    return resourceGroup.deleteResourceGroup("实习生和培训生机器", "newuser"); 
}	

根据资源名称删除资源组。

disassociateResources

public boolean disassociateResources() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    ArrayList resourceNames=new ArrayList();
    resourceNames.add("aut-2k23");
    return resourceGroup.disassociateResources(resourceNames,"人力资源虚拟机","newuser");
}	

根据资源 ID 和资源组 ID,或资源名称和资源组名称,将资源从静态资源组中解除关联。

fetchAllResourceGroups

public boolean 获取所有资源组() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
	JSONArray resourcegroupDetails = resourceGroup.fetchAllResourceGroups(1, 1, sdkEnumConstants.SearchType.STATIC, sdkEnumConstants.SearchColumn.ALL, "a"); 
    if (resourcegroupDetails == null) {
        return false;
    }
    return true;
}	

用于获取 PAM360 中所有可用的资源组。

getResourceGroupId

public boolean getResourceGroupId() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    long id = resourceGroup.getResourceGroupID("Human Resources VM", "newuser"); 
    if (id == 0) {
        return false;
    }
    return true;
}	

根据资源组名称获取资源组 ID。


7. 审计操作

- Audit

构造函数- Audit(PAMService service, APIRequestHandler rest)

描述- 创建一个包含审计相关操作的审计实体类实例。

方法

描述

getauditDetails

public boolean getauditDetails() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException {
    AuditModel auditModel=new AuditModel();
    auditModel.setAuditId(30);    
    auditModel.setAuditType(sdkEnumConstants.AuditType.USER);
	auditModel.setDate("2023-06-20");
    auditModel.setStartTime(12);
    auditModel.setEndTime(6);
    auditModel.setDuration(sdkEnumConstants.Duration.LAST_7_DAYS);
	List list=audit.getAuditDetails(auditModel);
    if(list==null){
        return false;
    }
    return true;
}	

从 PAM360 存储库中获取资源和用户的审计详细信息。


8. 组织操作

- Organizations

构造函数- Organizations(PAMService service, APIRequestHandler rest)

描述- 创建一个包含资源组相关操作的组织类实例。

方法

描述

manage_org_access

public boolean manageUserOrgWithIds() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException {
		organizations.manageOrganizationAccessWithIds(Arrays.asList(2L), Arrays.asList(7L, 35L), Arrays.asList(7L, 35L), 2L, sdkEnumConstants.ManagePermission.GRANT);
        return true;
}

请求授予或撤销用户管理客户组织的权限,用于审批工作流。


9. 报告操作

- 报告

构造函数- Reports(PAMService service, APIRequestHandler rest)

描述- 创建一个包含报告相关操作的报告类实例。

方法

描述

fetch_all_users_report

public boolean getAllUserReports() throws SDKConnectionException, SDKOperationFailedException, SDKInvalidArgumentException {
    SearchModel searchModel = new SearchModel();
    searchModel.setLimit(10);
    searchModel.setStartIndex(0);
    searchModel.setSearchValue("admin"); 
	searchModel.setSearchColumn(sdkEnumConstants.ReportsSearchColumn.USER_ID);
    searchModel.setSearchOperator(sdkEnumConstants.SearchOperator.CONTAINS);
    List<ReportDetails> users = report.getUserReportDetails(searchModel);
    return users != null && !users.isEmpty();
}

用于获取 PAM360 中所有用户的用户名和用户 ID。

fetch_all_user_groups_report

 
public boolean getAllUserGroupReports() throws SDKConnectionException, SDKOperationFailedException, SDKInvalidArgumentException {
    SearchModel searchModel = new SearchModel();
    searchModel.setLimit(2);
    searchModel.setStartIndex(0);
    searchModel.setSearchValue("group1");
    searchModel.setSearchColumn(sdkEnumConstants.ReportsSearchColumn.USER_GROUP_NAME);
    searchModel.setSearchOperator(sdkEnumConstants.SearchOperator.CONTAINS);
    List<ReportDetails> userGroupReportDetails = report.getUserGroupReportDetails(searchModel);
    return userGroupReportDetails != null && !userGroupReportDetails.isEmpty();
}

用于获取 PAM360 中所有用户组的名称和用户组 ID。

fetch_all_resources_report

public boolean getAllResourceReports() throws SDKConnectionException, SDKOperationFailedException, SDKInvalidArgumentException {
    SearchModel searchModel = new SearchModel();
    searchModel.setLimit(3);
    searchModel.setStartIndex(0);
    searchModel.setSearchValue("pmp");
	searchModel.setSearchColumn(sdkEnumConstants.ReportsSearchColumn.RESOURCE_NAME);
    searchModel.setSearchOperator(sdkEnumConstants.SearchOperator.CONTAINS);
    List<ReportDetails> resourceReportDetails = report.getResourceReportDetails(searchModel);
    return resourceReportDetails != null && !resourceReportDetails.isEmpty();
}

用于获取 PAM360 中所有资源的资源名称和资源 ID。

fetch_all_resource_groups_report

public boolean getAllResourceGroupReports() throws SDKConnectionException, SDKOperationFailedException, SDKInvalidArgumentException {
    SearchModel searchModel = new SearchModel();
    searchModel.setLimit(2);
    searchModel.setStartIndex(0);
	searchModel.setSearchValue("Default Group");
    searchModel.setSearchColumn(sdkEnumConstants.ReportsSearchColumn.RESOURCE_GROUP_NAME);
    searchModel.setSearchOperator(sdkEnumConstants.SearchOperator.CONTAINS);
	List<ReportDetails> resourceGroupsReportDetails = report.getResourceGroupsReportDetails(searchModel);
    return resourceGroupsReportDetails != null && !resourceGroupsReportDetails.isEmpty();
}

用于获取 PAM360 中所有可用资源组的名称和 ID。


Java SDK 异常

每当 API 返回错误响应时,该响应将根据异常类型成为以下任一异常类的实例。

  1. SDKConnectionException- 当 PAM360 SDK 无法连接到 PAM360 服务器时,会发生此异常。
  2. SDKInvalidArgumentException- 当 API 输入被解析为无效数据类型时,会发生此异常。
  3. SDKOperationFailedException- 当在传递必要输入后,预期的 API 操作失败时,会发生此异常。
  4. SDKRegistrationException- 当在 PAM360 应用程序中使用 PAM360 SDK 注册 Java 应用程序/服务时出现问题,会引发此异常。

所有其他异常,例如 SDK 异常和其他意外行为,均由 SDKException 类抛出。





Top