Class SecurityOfficerResource
java.lang.Object
org.odpi.openmetadata.viewservices.securityofficer.server.spring.SecurityOfficerResource
@RestController
@RequestMapping("/servers/{serverName}/api/open-metadata/security-officer")
public class SecurityOfficerResource
extends Object
The SecurityOfficerResource provides part of the server-side implementation of the Security Officer OMVS.
=
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclearUserAccountProfile(String serverName, String secretsCollectionGUID, DeleteClassificationRequestBody requestBody) Remove the user account profile from a secrets collection.clearZoneMembershipProfile(String serverName, String governanceZoneGUID, DeleteClassificationRequestBody requestBody) Remove the zone membership profile from a governance zone.deleteSecurityAccessControl(String serverName, String platformGUID, String controlName) Clear the named security access control with the platform security connector.deleteUserAccount(String serverName, String platformGUID, String accountUserId) Clear the account for a user with the platform security connector.detachAssociatedSecurityList(String serverName, String associatedSecurityListRelationshipGUID, DeleteRelationshipRequestBody requestBody) Remove an associated security list relationship.detachGovernanceZones(String serverName, String governanceZoneGUID, String nestedGovernanceZoneGUID, DeleteRelationshipRequestBody requestBody) Detach a governance zone definition from a hierarchical relationship.detachResourcePermissions(String serverName, String secretsCollectionGUID, String securityAccessControlGUID, DeleteRelationshipRequestBody requestBody) Detach a security access control from the secrets collection that defined it.detachSecretsCollectionSecurityList(String serverName, String secretsCollectionGUID, String securityListGUID, DeleteRelationshipRequestBody requestBody) Detach a security list from the secrets collection that listed it.detachUserAccount(String serverName, String secretsCollectionGUID, String userIdentityGUID, DeleteRelationshipRequestBody requestBody) Detach a user identity from the secrets collection that configured its account.getSecurityAccessControl(String serverName, String platformGUID, String controlName) Return the security access control object from the platform metadata security connector.getUserAccount(String serverName, String platformGUID, String accountUserId) Return the user account object for the requested user from the platform metadata security connector.getUserList(String serverName, String platformGUID, UserAccountStatus status, UserAccountType type) Return the list of users registered with the platform security connector.linkAssociatedSecurityList(String serverName, String securityAccessControlGUID, String securityListGUID, NewRelationshipRequestBody requestBody) Attach a security list to a security access control that uses it.linkGovernanceZones(String serverName, String governanceZoneGUID, String nestedGovernanceZoneGUID, NewRelationshipRequestBody requestBody) Attach a nested governance zone to a broader governance zone definition.linkResourcePermissions(String serverName, String secretsCollectionGUID, String securityAccessControlGUID, NewRelationshipRequestBody requestBody) Attach a security access control to the secrets collection that defines it.linkSecretsCollectionSecurityList(String serverName, String secretsCollectionGUID, String securityListGUID, NewRelationshipRequestBody requestBody) Attach a security list to the secrets collection that lists it.linkUserAccount(String serverName, String secretsCollectionGUID, String userIdentityGUID, NewRelationshipRequestBody requestBody) Attach a user identity to the secrets collection that configures its account.setSecurityAccessControl(String serverName, String platformGUID, SecurityAccessControlRequestBody requestBody) Set up or update a security access control in the platform metadata security connector.setUserAccount(String serverName, String platformGUID, UserAccountRequestBody requestBody) Set up or update a user account in the platform metadata security connector.setUserAccountProfile(String serverName, String secretsCollectionGUID, NewClassificationRequestBody requestBody) Classify a secrets collection with a profile of the user accounts that it holds.setZoneMembershipProfile(String serverName, String governanceZoneGUID, NewClassificationRequestBody requestBody) Classify a governance zone with a profile of its membership.updateAssociatedSecurityList(String serverName, String associatedSecurityListRelationshipGUID, UpdateRelationshipRequestBody requestBody) Update the properties of an associated security list relationship.
-
Constructor Details
-
SecurityOfficerResource
public SecurityOfficerResource()Default constructor
-
-
Method Details
-
setUserAccount
@PostMapping(path="/platforms/{platformGUID}/user-accounts") public VoidResponse setUserAccount(@PathVariable String serverName, @PathVariable String platformGUID, @RequestBody(required=false) UserAccountRequestBody requestBody) Set up or update a user account in the platform metadata security connector. The user requires operator permission for the platform unless it is their own user account they are retrieving.- Parameters:
serverName- name of called serverplatformGUID- unique identifier of the platformrequestBody- requestBody used to create and configure the connector that performs platform security- Returns:
- void response
-
getUserAccount
@GetMapping(path="/platforms/{platformGUID}/user-accounts/{accountUserId}") public UserAccountResponse getUserAccount(@PathVariable String serverName, @PathVariable String platformGUID, @PathVariable String accountUserId) Return the user account object for the requested user from the platform metadata security connector. Null is returned if no platform security or user account has been set up. The user requires operator permission for the platform unless it is their own user account they are retrieving.- Parameters:
serverName- name of called serverplatformGUID- unique identifier of the platformaccountUserId- user id of the account- Returns:
- user account response
-
deleteUserAccount
@DeleteMapping(path="/platforms/{platformGUID}/user-accounts/{accountUserId}") public VoidResponse deleteUserAccount(@PathVariable String serverName, @PathVariable String platformGUID, @PathVariable String accountUserId) Clear the account for a user with the platform security connector.- Parameters:
serverName- name of called serverplatformGUID- unique identifier of the platformaccountUserId- user id of the account- Returns:
- void response
-
setSecurityAccessControl
@PostMapping(path="/platforms/{platformGUID}/security-access-control") public VoidResponse setSecurityAccessControl(@PathVariable String serverName, @PathVariable String platformGUID, @RequestBody(required=false) SecurityAccessControlRequestBody requestBody) Set up or update a security access control in the platform metadata security connector. The user requires operator permission for the platform.- Parameters:
serverName- name of called serverplatformGUID- unique identifier of the platformrequestBody- requestBody used to create and configure the connector that performs platform security- Returns:
- void response
-
getSecurityAccessControl
@GetMapping(path="/platforms/{platformGUID}/security-access-control/{controlName}") public SecurityAccessControlResponse getSecurityAccessControl(@PathVariable String serverName, @PathVariable String platformGUID, @PathVariable String controlName) Return the security access control object from the platform metadata security connector. Null is returned if no control has been set up. The user requires operator permission for the platform.- Parameters:
serverName- name of called serverplatformGUID- unique identifier of the platformcontrolName- name of the control- Returns:
- user account response
-
deleteSecurityAccessControl
@DeleteMapping(path="/platforms/{platformGUID}/security-access-control/{controlName}") public VoidResponse deleteSecurityAccessControl(@PathVariable String serverName, @PathVariable String platformGUID, @PathVariable String controlName) Clear the named security access control with the platform security connector.- Parameters:
serverName- name of called serverplatformGUID- unique identifier of the platformcontrolName- name of the control- Returns:
- void response
-
getUserList
@GetMapping(path="/platforms/{platformGUID}/user-accounts") public NameListResponse getUserList(@PathVariable String serverName, @PathVariable String platformGUID, @RequestParam(required=false) UserAccountStatus status, @RequestParam(required=false) UserAccountType type) Return the list of users registered with the platform security connector.- Parameters:
serverName- name of called serverplatformGUID- unique identifier of the platformstatus- status of the user - or null for any statustype- type of user - or null for any type- Returns:
- list of matching userIds in the user directory
-
linkGovernanceZones
@PostMapping(path="/governance-zones/{governanceZoneGUID}/governance-zone-hierarchies/{nestedGovernanceZoneGUID}/attach") public VoidResponse linkGovernanceZones(@PathVariable String serverName, @PathVariable String governanceZoneGUID, @PathVariable String nestedGovernanceZoneGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody) Attach a nested governance zone to a broader governance zone definition.- Parameters:
serverName- name of called servergovernanceZoneGUID- unique identifier of the first governance zone definitionnestedGovernanceZoneGUID- unique identifier of the second governance zone definitionrequestBody- description of the relationship.- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
detachGovernanceZones
@PostMapping(path="/governance-zones/{governanceZoneGUID}/governance-zone-hierarchies/{nestedGovernanceZoneGUID}/detach") public VoidResponse detachGovernanceZones(@PathVariable String serverName, @PathVariable String governanceZoneGUID, @PathVariable String nestedGovernanceZoneGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Detach a governance zone definition from a hierarchical relationship.- Parameters:
serverName- name of called servergovernanceZoneGUID- unique identifier of the first governance zone definitionnestedGovernanceZoneGUID- unique identifier of the second governance zone definitionrequestBody- description of the relationship.- Returns:
- void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
-
linkResourcePermissions
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/resource-permissions/{securityAccessControlGUID}/attach") public VoidResponse linkResourcePermissions(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @PathVariable String securityAccessControlGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody) Attach a security access control to the secrets collection that defines it.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionsecurityAccessControlGUID- unique identifier of the security access controlrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
detachResourcePermissions
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/resource-permissions/{securityAccessControlGUID}/detach") public VoidResponse detachResourcePermissions(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @PathVariable String securityAccessControlGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Detach a security access control from the secrets collection that defined it.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionsecurityAccessControlGUID- unique identifier of the security access controlrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
linkSecretsCollectionSecurityList
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/security-lists/{securityListGUID}/attach") public VoidResponse linkSecretsCollectionSecurityList(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @PathVariable String securityListGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody) Attach a security list to the secrets collection that lists it.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionsecurityListGUID- unique identifier of the security listrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
detachSecretsCollectionSecurityList
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/security-lists/{securityListGUID}/detach") public VoidResponse detachSecretsCollectionSecurityList(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @PathVariable String securityListGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Detach a security list from the secrets collection that listed it.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionsecurityListGUID- unique identifier of the security listrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
linkUserAccount
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/user-accounts/{userIdentityGUID}/attach") public VoidResponse linkUserAccount(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @PathVariable String userIdentityGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody) Attach a user identity to the secrets collection that configures its account.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionuserIdentityGUID- unique identifier of the user identityrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
detachUserAccount
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/user-accounts/{userIdentityGUID}/detach") public VoidResponse detachUserAccount(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @PathVariable String userIdentityGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Detach a user identity from the secrets collection that configured its account.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionuserIdentityGUID- unique identifier of the user identityrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
linkAssociatedSecurityList
@PostMapping(path="/security-access-controls/{securityAccessControlGUID}/associated-security-lists/{securityListGUID}/attach") public GUIDResponse linkAssociatedSecurityList(@PathVariable String serverName, @PathVariable String securityAccessControlGUID, @PathVariable String securityListGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody) Attach a security list to a security access control that uses it. This multi-link relationship always creates a new relationship and returns its unique identifier.- Parameters:
serverName- name of the server to route the request tosecurityAccessControlGUID- unique identifier of the security access controlsecurityListGUID- unique identifier of the security listrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
updateAssociatedSecurityList
@PostMapping(path="/associated-security-lists/{associatedSecurityListRelationshipGUID}/update") public VoidResponse updateAssociatedSecurityList(@PathVariable String serverName, @PathVariable String associatedSecurityListRelationshipGUID, @RequestBody(required=false) UpdateRelationshipRequestBody requestBody) Update the properties of an associated security list relationship.- Parameters:
serverName- name of the server to route the request toassociatedSecurityListRelationshipGUID- unique identifier of the relationshiprequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
detachAssociatedSecurityList
@PostMapping(path="/associated-security-lists/{associatedSecurityListRelationshipGUID}/detach") public VoidResponse detachAssociatedSecurityList(@PathVariable String serverName, @PathVariable String associatedSecurityListRelationshipGUID, @RequestBody(required=false) DeleteRelationshipRequestBody requestBody) Remove an associated security list relationship.- Parameters:
serverName- name of the server to route the request toassociatedSecurityListRelationshipGUID- unique identifier of the relationshiprequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
setUserAccountProfile
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/user-account-profile") public VoidResponse setUserAccountProfile(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @RequestBody(required=false) NewClassificationRequestBody requestBody) Classify a secrets collection with a profile of the user accounts that it holds.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
clearUserAccountProfile
@PostMapping(path="/secrets-collections/{secretsCollectionGUID}/user-account-profile/remove") public VoidResponse clearUserAccountProfile(@PathVariable String serverName, @PathVariable String secretsCollectionGUID, @RequestBody(required=false) DeleteClassificationRequestBody requestBody) Remove the user account profile from a secrets collection.- Parameters:
serverName- name of the server to route the request tosecretsCollectionGUID- unique identifier of the secrets collectionrequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
setZoneMembershipProfile
@PostMapping(path="/governance-zones/{governanceZoneGUID}/zone-membership-profile") public VoidResponse setZoneMembershipProfile(@PathVariable String serverName, @PathVariable String governanceZoneGUID, @RequestBody(required=false) NewClassificationRequestBody requestBody) Classify a governance zone with a profile of its membership.- Parameters:
serverName- name of the server to route the request togovernanceZoneGUID- unique identifier of the governance zonerequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-
clearZoneMembershipProfile
@PostMapping(path="/governance-zones/{governanceZoneGUID}/zone-membership-profile/remove") public VoidResponse clearZoneMembershipProfile(@PathVariable String serverName, @PathVariable String governanceZoneGUID, @RequestBody(required=false) DeleteClassificationRequestBody requestBody) Remove the zone membership profile from a governance zone.- Parameters:
serverName- name of the server to route the request togovernanceZoneGUID- unique identifier of the governance zonerequestBody- properties for the request- Returns:
- response object InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException a problem reported in the open metadata server(s)
-