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)