Class SecurityOfficerRESTServices

java.lang.Object
org.odpi.openmetadata.tokencontroller.TokenController
org.odpi.openmetadata.viewservices.securityofficer.server.SecurityOfficerRESTServices

public class SecurityOfficerRESTServices extends TokenController
The SecurityOfficerRESTServices provides the server-side implementation of the Security Officer Open Metadata View Service (OMVS). This interface provides access to a person's profile, roles and network.
  • Constructor Details

    • SecurityOfficerRESTServices

      public SecurityOfficerRESTServices()
      Default constructor
  • Method Details

    • setUserAccount

      public VoidResponse setUserAccount(String serverName, String platformGUID, UserAccountRequestBody requestBody)
      Set up a new security access control or update an existing one. This is account is registered with the platform security connector. The user requires operator permission for the platform unless it is their own security access control they are updating.
      Parameters:
      serverName - name of called server
      platformGUID - unique identifier of the platform
      requestBody - containing the security access control properties.
      Returns:
      void or exceptions that occur when trying to create the connector: 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.
    • getUserAccount

      public UserAccountResponse getUserAccount(String serverName, String platformGUID, String accountUserId)
      Return details of a security access control registered with the platform security connector.
      Parameters:
      serverName - name of called server
      platformGUID - unique identifier of the platform
      accountUserId - name of the connector provider class
      Returns:
      security access control bean or exceptions that occur when trying to create the connector: 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.
    • deleteUserAccount

      public VoidResponse deleteUserAccount(String serverName, String platformGUID, String accountUserId)
      Clear the account for a user with the platform security connector.
      Parameters:
      serverName - name of called server
      platformGUID - unique identifier of the platform
      accountUserId - name of the connector provider class
      Returns:
      void or exceptions that occur when trying to create the connector: 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.
    • getUserList

      public NameListResponse getUserList(String serverName, String platformGUID, UserAccountStatus userAccountStatus, UserAccountType userAccountType)
      Return the list of users registered with the platform security connector.
      Parameters:
      serverName - name of called server
      platformGUID - unique identifier of the platform
      userAccountStatus - status of the user - or null for any status
      userAccountType - type of user - or null for any type
      Returns:
      list of matching userIds in the user directory or exceptions that occur when trying to create the connector: 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.
    • setSecurityAccessControl

      public VoidResponse setSecurityAccessControl(String serverName, String platformGUID, SecurityAccessControlRequestBody requestBody)
      Set up a new security access control or update an existing one. This is account is registered with the platform security connector. The user requires operator permission for the platform.
      Parameters:
      serverName - name of called server
      platformGUID - unique identifier of the platform
      requestBody - containing the security access control properties.
      Returns:
      void or exceptions that occur when trying to create the connector: 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.
    • getSecurityAccessControl

      public SecurityAccessControlResponse getSecurityAccessControl(String serverName, String platformGUID, String controlName)
      Return details of a security access control registered with the platform security connector.
      Parameters:
      serverName - name of called server
      platformGUID - unique identifier of the platform
      controlName - name of the connector provider class
      Returns:
      security access control bean or exceptions that occur when trying to create the connector: 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.
    • deleteSecurityAccessControl

      public VoidResponse deleteSecurityAccessControl(String serverName, String platformGUID, String controlName)
      Clear the account for a user with the platform security connector.
      Parameters:
      serverName - name of called server
      platformGUID - unique identifier of the platform
      controlName - name of the control
      Returns:
      void or exceptions that occur when trying to create the connector: 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.
    • linkGovernanceZones

      public VoidResponse linkGovernanceZones(String serverName, String governanceZoneGUID, String nestedGovernanceZoneGUID, NewRelationshipRequestBody requestBody)
      Attach governance zones in a hierarchy.
      Parameters:
      serverName - name of called server
      governanceZoneGUID - unique identifier of the parent governance zone.
      nestedGovernanceZoneGUID - unique identifier of the nested governance zone.
      requestBody - 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

      public VoidResponse detachGovernanceZones(String serverName, String governanceZoneGUID, String nestedGovernanceZoneGUID, DeleteRelationshipRequestBody requestBody)
      Detach governance zone from a hierarchical relationship.
      Parameters:
      serverName - name of called server
      governanceZoneGUID - unique identifier of the parent governance zone.
      nestedGovernanceZoneGUID - unique identifier of the nested governance zone.
      requestBody - 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

      public VoidResponse linkResourcePermissions(String serverName, String secretsCollectionGUID, String securityAccessControlGUID, NewRelationshipRequestBody requestBody)
      Attach a security access control to the secrets collection that defines it.
      Parameters:
      serverName - name of the server to route the request to
      secretsCollectionGUID - unique identifier of the secrets collection
      securityAccessControlGUID - unique identifier of the security access control
      requestBody - properties for the relationship
      Returns:
      void or 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

      public VoidResponse detachResourcePermissions(String serverName, String secretsCollectionGUID, String securityAccessControlGUID, DeleteRelationshipRequestBody requestBody)
      Detach a security access control from the secrets collection that defined it.
      Parameters:
      serverName - name of the server to route the request to
      secretsCollectionGUID - unique identifier of the secrets collection
      securityAccessControlGUID - unique identifier of the security access control
      requestBody - delete options
      Returns:
      void or 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

      public VoidResponse linkSecretsCollectionSecurityList(String serverName, String secretsCollectionGUID, String securityListGUID, NewRelationshipRequestBody requestBody)
      Attach a security list to the secrets collection that lists it.
      Parameters:
      serverName - name of the server to route the request to
      secretsCollectionGUID - unique identifier of the secrets collection
      securityListGUID - unique identifier of the security list
      requestBody - properties for the relationship
      Returns:
      void or 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

      public VoidResponse detachSecretsCollectionSecurityList(String serverName, String secretsCollectionGUID, String securityListGUID, DeleteRelationshipRequestBody requestBody)
      Detach a security list from the secrets collection that listed it.
      Parameters:
      serverName - name of the server to route the request to
      secretsCollectionGUID - unique identifier of the secrets collection
      securityListGUID - unique identifier of the security list
      requestBody - delete options
      Returns:
      void or 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

      public VoidResponse linkUserAccount(String serverName, String secretsCollectionGUID, String userIdentityGUID, NewRelationshipRequestBody requestBody)
      Attach a user identity to the secrets collection that configures its account.
      Parameters:
      serverName - name of the server to route the request to
      secretsCollectionGUID - unique identifier of the secrets collection
      userIdentityGUID - unique identifier of the user identity
      requestBody - properties for the relationship
      Returns:
      void or 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

      public VoidResponse detachUserAccount(String serverName, String secretsCollectionGUID, String userIdentityGUID, DeleteRelationshipRequestBody requestBody)
      Detach a user identity from the secrets collection that configured its account.
      Parameters:
      serverName - name of the server to route the request to
      secretsCollectionGUID - unique identifier of the secrets collection
      userIdentityGUID - unique identifier of the user identity
      requestBody - delete options
      Returns:
      void or 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

      public GUIDResponse linkAssociatedSecurityList(String serverName, String securityAccessControlGUID, String securityListGUID, NewRelationshipRequestBody requestBody)
      Attach a security list to a security access control that uses it.
      Parameters:
      serverName - name of the server to route the request to
      securityAccessControlGUID - unique identifier of the security access control
      securityListGUID - unique identifier of the security list
      requestBody - properties for the relationship
      Returns:
      unique identifier of the new relationship or 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

      public VoidResponse updateAssociatedSecurityList(String serverName, String associatedSecurityListRelationshipGUID, UpdateRelationshipRequestBody requestBody)
      Update the properties of an associated security list relationship.
      Parameters:
      serverName - name of the server to route the request to
      associatedSecurityListRelationshipGUID - unique identifier of the relationship
      requestBody - properties for the relationship
      Returns:
      void or 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

      public VoidResponse detachAssociatedSecurityList(String serverName, String associatedSecurityListRelationshipGUID, DeleteRelationshipRequestBody requestBody)
      Remove an associated security list relationship.
      Parameters:
      serverName - name of the server to route the request to
      associatedSecurityListRelationshipGUID - unique identifier of the relationship
      requestBody - delete options
      Returns:
      void or 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

      public VoidResponse setUserAccountProfile(String serverName, String secretsCollectionGUID, 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 to
      secretsCollectionGUID - unique identifier of the secrets collection
      requestBody - properties for the classification
      Returns:
      void or 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

      public VoidResponse clearUserAccountProfile(String serverName, String secretsCollectionGUID, DeleteClassificationRequestBody requestBody)
      Remove the user account profile from a secrets collection.
      Parameters:
      serverName - name of the server to route the request to
      secretsCollectionGUID - unique identifier of the secrets collection
      requestBody - options for the request
      Returns:
      void or 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

      public VoidResponse setZoneMembershipProfile(String serverName, String governanceZoneGUID, NewClassificationRequestBody requestBody)
      Classify a governance zone with a profile of its membership.
      Parameters:
      serverName - name of the server to route the request to
      governanceZoneGUID - unique identifier of the governance zone
      requestBody - properties for the classification
      Returns:
      void or 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

      public VoidResponse clearZoneMembershipProfile(String serverName, String governanceZoneGUID, DeleteClassificationRequestBody requestBody)
      Remove the zone membership profile from a governance zone.
      Parameters:
      serverName - name of the server to route the request to
      governanceZoneGUID - unique identifier of the governance zone
      requestBody - options for the request
      Returns:
      void or 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)
    • createStatementOfApplicability

      public GUIDResponse createStatementOfApplicability(String serverName, NewElementRequestBody requestBody)
      Create a statement of applicability.
      Parameters:
      serverName - name of the server to route the request to
      requestBody - properties for the request
      Returns:
      unique identifier of the newly created element or 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)
    • createStatementOfApplicabilityFromTemplate

      public GUIDResponse createStatementOfApplicabilityFromTemplate(String serverName, TemplateRequestBody requestBody)
      Create a new metadata element to represent a statement of applicability using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new element.
      Parameters:
      serverName - name of the server to route the request to
      requestBody - properties for the request
      Returns:
      unique identifier of the newly created element or 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)
    • updateStatementOfApplicability

      public BooleanResponse updateStatementOfApplicability(String serverName, String statementOfApplicabilityGUID, UpdateElementRequestBody requestBody)
      Update the properties of a statement of applicability.
      Parameters:
      serverName - name of the server to route the request to
      statementOfApplicabilityGUID - unique identifier of the statement of applicability
      requestBody - properties for the request
      Returns:
      boolean - true if an update occurred or 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)
    • deleteStatementOfApplicability

      public VoidResponse deleteStatementOfApplicability(String serverName, String statementOfApplicabilityGUID, DeleteElementRequestBody requestBody)
      Delete a statement of applicability.
      Parameters:
      serverName - name of the server to route the request to
      statementOfApplicabilityGUID - unique identifier of the statement of applicability
      requestBody - properties for the request
      Returns:
      void or 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)
    • getStatementsOfApplicabilityByName

      public OpenMetadataRootElementsResponse getStatementsOfApplicabilityByName(String serverName, FilterRequestBody requestBody)
      Returns the list of statements of applicability with a particular name.
      Parameters:
      serverName - name of the server to route the request to
      requestBody - properties for the request
      Returns:
      a list of elements or 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)
    • findStatementsOfApplicability

      public OpenMetadataRootElementsResponse findStatementsOfApplicability(String serverName, SearchStringRequestBody requestBody)
      Retrieve the list of statement of applicability metadata elements that contain the search string.
      Parameters:
      serverName - name of the server to route the request to
      requestBody - properties for the request
      Returns:
      a list of elements or 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)
    • getStatementOfApplicabilityByGUID

      public OpenMetadataRootElementResponse getStatementOfApplicabilityByGUID(String serverName, String statementOfApplicabilityGUID, GetRequestBody requestBody)
      Return the properties of a specific statement of applicability.
      Parameters:
      serverName - name of the server to route the request to
      statementOfApplicabilityGUID - unique identifier of the statement of applicability
      requestBody - properties for the request
      Returns:
      matching element or 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)
    • linkControlApplicability

      public VoidResponse linkControlApplicability(String serverName, String statementOfApplicabilityGUID, String controlGUID, NewRelationshipRequestBody requestBody)
      Link a control from a standard to a statement of applicability, recording whether the control applies, why, and how far it has been implemented. Linking a control that is already linked updates the properties of the existing relationship.
      Parameters:
      serverName - name of the server to route the request to
      statementOfApplicabilityGUID - unique identifier of the statement of applicability
      controlGUID - unique identifier of the governance definition describing the control
      requestBody - properties for the relationship
      Returns:
      void or 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)
    • detachControlApplicability

      public VoidResponse detachControlApplicability(String serverName, String statementOfApplicabilityGUID, String controlGUID, DeleteRelationshipRequestBody requestBody)
      Remove a control from a statement of applicability.
      Parameters:
      serverName - name of the server to route the request to
      statementOfApplicabilityGUID - unique identifier of the statement of applicability
      controlGUID - unique identifier of the governance definition describing the control
      requestBody - delete options
      Returns:
      void or 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)