Java SDK API サンプル
すべての PAM360 API は、PAM360 で提供されたユーザー ロールに基づいて Java SDK を介してアクセスできるため、カスタム アプリケーションは必要な操作を効率的に実行できます。
PAM360 Java SDK 内でサポートされているすべての API メソッドのサンプル コードが参照用にここに提供されています。
詳細については、Java ドキュメントを参照することもできます。
Java SDK を使用した REST API のサンプル コード
1.リソースの操作
クラス - リソース
コンストラクター - 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("For System Administration"); resourceModel.setResourceLocation("Noida"); resourceModel.setResourceDescription("added via SDK"); resourceModel.setResourceDepartment("System Administration"); resourceModel.setResourcePasswordPolicy("Strong"); 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<AccountOfResource>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<ResourceDetails>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,"System Administration"); } |
リソース名とユーザー名を入力として使用して、リソースをユーザーと共有します。 |
shareResourceToUser public boolean shareResourceToUser() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException { return resource.sharerResourceToUser("DLWO-0L8-0H5","guest", sdkEnumConstants.AccessPermission.MODIFY); } |
リソース名とユーザー グループ名を入力として使用して、リソースをユーザー グループと共有します。 |
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","For automation purpose."); if(response==null){ return false; } return true; } |
承認後にリソース名と理由を使用して、アカウントに対して要求されたパスワードをチェックアウトします。 |
getPasswordRequests public boolean getPasswordRequests() throws SDKConnectionException, SDKOperationFailedException { List<PasswordRequestDetails>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","For automation testing"); if(response==null){ return false; } return true; } |
アカウント名とリクエスト理由を使用して、アカウントへのパスワード アクセスをリクエストします。 |
3.アカウントの操作
クラス - Account
コンストラクター - Account(PAMService service, APIRequestHandler rest)
説明 - アカウント関連の操作を含む Account エンティティ クラス インスタンスを作成します。
メソッド |
説明 |
createAccount public boolean createAccount() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException, SDKRegistrationException { List<AccountModel>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); } |
リソース名、アカウント名、ユーザー グループ名を入力として使用して、リソースをユーザー グループと共有します。 |
4.パスワードの操作
クラス - Password
コンストラクター - 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; } |
組織内で利用可能なすべてのパスワード ポリシーを取得します。 |
validatePassword public boolean validatePassword() throws SDKInvalidArgumentException, SDKConnectionException, SDKOperationFailedException { String pass="GD*yuhf@gDht%"; sdkEnumConstants.PasswordPolicy passwordPolicy= sdkEnumConstants.PasswordPolicy.Strong; return password.validatePassword(pass,passwordPolicy); }
|
提供されたパスワードのパスワード ポリシーを検証します。 |
5.ユーザー管理
クラス - User
コンストラクター - User(PAMService service, APIRequestHandler rest)
説明 - ユーザー関連の操作を含む User エンティティ クラス インスタンスを作成します。
メソッド |
説明 |
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("Password User"); userModel.setPolicy("Low"); userModel.setLocation("Noida"); userModel.setSuperAdmin(false); userModel.setCheckHostName(false); userModel.setApiTokenExpiryDate("2024-10-20"); userModel.setEnableTwoFactorAuthentication(false); userModel.setPassword("SyubvEyui^3"); 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("Automation Members"); usergroupNames.add("System Administration"); 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("Interns and Trainees' Machines"); resourceGroupModel.setGroupType(sdkEnumConstants.GroupType.DYNAMIC); resourceGroupModel.setDescription("Dynamic group for interns and trainees resources"); 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("Human Resources VM"); resourceGroupModel.setGroupType(sdkEnumConstants.GroupType.STATIC); resourceGroupModel.setDescription("Resource group for Virtual Machines in HR Team"); resourceGroupModel.setPasswordpolicy(sdkEnumConstants.PasswordPolicy.Low); return resourceGroup.createResourceGroup(resourceGroupModel); } |
指定された属性を持つ動的リソース グループを作成します。 |
deleteResourceGroup public boolean deleteResourceGroup() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException { return resourceGroup.deleteResourceGroup("Interns and Trainees' Machines","newuser"); } |
リソース名を使用してリソース グループを削除します。 |
disassociateResources public boolean disassociateResources() throws SDKConnectionException, SDKInvalidArgumentException, SDKOperationFailedException { ArrayList resourceNames=new ArrayList(); resourceNames.add("aut-2k23"); return resourceGroup.disassociateResources(resourceNames,"Human Resources VM","newuser"); } |
リソース ID とリソース グループ ID、またはリソース名とリソース グループ名を使用して、静的リソース グループからリソースの関連付けを解除します。 |
fetchAllResourceGroups public boolean fetchAllResourceGroups() 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("20-06-2023"); auditModel.setStartTime(12); auditModel.setEndTime(6); auditModel.setDuration(sdkEnumConstants.Duration.LAST_7_DAYS); List<AuditDetails>list=audit.getAuditDetails(auditModel); if(list==null){ return false; } return true; } |
PAM360 リポジトリからリソースとユーザーの監査の詳細を取得します。 |
Java SDK 例外
API がエラー応答を返す場合、応答は例外の種類に基づいて次のいずれかの例外クラスのインスタンスになります。
- SDKConnectionException - PAM360 SDK が PAM360 サーバーに接続できない場合に例外が発生します。
- SDKInvalidArgumentException - API 入力が無効なデータ型で解析された場合に例外が発生します。
- SDKOperationFailedException - この例外は、必要な入力を渡した後に意図した API 操作が失敗した場合に発生します。
- SDKRegistrationException - これは、PAM360 アプリケーションで PAM360 SDK を使用して Java アプリケーション/サービスを登録する際に問題が発生した場合に発生します。
SDK の異常やその他の予期しない動作など、その他のすべての例外は、SDKException クラスでスローされます。