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 がエラー応答を返す場合、応答は例外の種類に基づいて次のいずれかの例外クラスのインスタンスになります。

  1. SDKConnectionException - PAM360 SDK が PAM360 サーバーに接続できない場合に例外が発生します。
  2. SDKInvalidArgumentException - API 入力が無効なデータ型で解析された場合に例外が発生します。
  3. SDKOperationFailedException - この例外は、必要な入力を渡した後に意図した API 操作が失敗した場合に発生します。
  4. SDKRegistrationException - これは、PAM360 アプリケーションで PAM360 SDK を使用して Java アプリケーション/サービスを登録する際に問題が発生した場合に発生します。

SDK の異常やその他の予期しない動作など、その他のすべての例外は、SDKException クラスでスローされます。