Class SecurityManagerRESTServices

java.lang.Object
org.odpi.openmetadata.accessservices.securitymanager.server.SecurityManagerRESTServices

public class SecurityManagerRESTServices extends Object
The SecurityManagerRESTServices provides the server-side implementation of the services that are generic for all types of security managers.
  • Constructor Details

    • SecurityManagerRESTServices

      public SecurityManagerRESTServices()
      Default constructor
  • Method Details

    • getOutTopicConnection

      public ConnectionResponse getOutTopicConnection(String serverName, String userId, String callerId)
      Return the connection object for the Security Manager OMAS's out topic.
      Parameters:
      serverName - name of the service to route the request to.
      userId - identifier of calling user.
      callerId - unique identifier of the caller
      Returns:
      connection object for the out topic or InvalidParameterException one of the parameters is null or invalid or UserNotAuthorizedException user not authorized to issue this request or PropertyServerException problem retrieving the discovery engine definition.
    • createSecurityManagerInCatalog

      public GUIDResponse createSecurityManagerInCatalog(String serverName, String userId, SecurityManagerRequestBody requestBody)
      Files live on a file system. This method creates a top level capability for a file system.
      Parameters:
      serverName - name of calling server
      userId - calling user
      requestBody - properties of the file system
      Returns:
      unique identifier for the file system or InvalidParameterException one of the parameters is null or invalid or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • getMetadataSourceGUID

      public GUIDResponse getMetadataSourceGUID(String serverName, String userId, String qualifiedName)
      Retrieve the unique identifier of the integration daemon service.
      Parameters:
      serverName - name of the server to route the request to.
      userId - calling user
      qualifiedName - unique name of the integration daemon
      Returns:
      unique identifier of the integration daemon's software server capability or InvalidParameterException the bean properties are invalid or UserNotAuthorizedException user not authorized to issue this request or PropertyServerException problem accessing the property server
    • createSecurityGroup

      public GUIDResponse createSecurityGroup(String serverName, String userId, SecurityGroupProperties requestBody)
      Create a new security group. The type of the definition is located in the requestBody.
      Parameters:
      serverName - called server
      userId - calling user
      requestBody - requestBody of the definition
      Returns:
      unique identifier of the definition or InvalidParameterException typeName, documentIdentifier or userId is null; documentIdentifier is not unique; typeName is not valid PropertyServerException problem accessing the metadata service UserNotAuthorizedException security access problem
    • updateSecurityGroup

      public VoidResponse updateSecurityGroup(String serverName, String userId, String securityGroupGUID, boolean isMergeUpdate, SecurityGroupProperties requestBody)
      Update an existing security group.
      Parameters:
      serverName - called server
      userId - calling user
      securityGroupGUID - unique identifier of the definition to update
      isMergeUpdate - are unspecified properties unchanged (true) or removed?
      requestBody - properties to update
      Returns:
      void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • deleteSecurityGroup

      public VoidResponse deleteSecurityGroup(String serverName, String userId, String securityGroupGUID, NullRequestBody requestBody)
      Delete a specific security group.
      Parameters:
      serverName - called server
      userId - calling user
      securityGroupGUID - unique identifier of the definition to remove
      requestBody - null request body
      Returns:
      void or InvalidParameterException guid is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getSecurityGroupsForDistinguishedName

      public SecurityGroupsResponse getSecurityGroupsForDistinguishedName(String serverName, String userId, String distinguishedName, int startFrom, int pageSize)
      Return the list of security groups associated with a unique distinguishedName. In an ideal world, there should be only one.
      Parameters:
      serverName - called server
      userId - calling user
      distinguishedName - unique name of the security group
      startFrom - where to start from in the list of definitions
      pageSize - max number of results to return in one call
      Returns:
      list of security groups or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the caller is not authorized to issue the request PropertyServerException the metadata service has problems
    • getElementsGovernedBySecurityGroup

      public ElementStubsResponse getElementsGovernedBySecurityGroup(String serverName, String userId, String securityGroupGUID, int startFrom, int pageSize)
      Return the elements that are governed by the supplied security group.
      Parameters:
      serverName - called server
      userId - calling user
      securityGroupGUID - unique name of the security group
      startFrom - where to start from in the list of definitions
      pageSize - max number of results to return in one call
      Returns:
      list of headers for the associated elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the caller is not authorized to issue the request PropertyServerException the metadata service has problems
    • findSecurityGroups

      public SecurityGroupsResponse findSecurityGroups(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody)
      Return the list of security groups that match the search string - this can be a regular expression.
      Parameters:
      serverName - called server
      userId - calling user
      requestBody - value to search for
      startFrom - where to start from in the list of definition results
      pageSize - max number of results to return in one call
      Returns:
      list of security groups or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the caller is not authorized to issue the request PropertyServerException the metadata service has problems
    • getSecurityGroupByGUID

      public SecurityGroupResponse getSecurityGroupByGUID(String serverName, String userId, String securityGroupGUID)
      Return information about a specific actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      securityGroupGUID - unique identifier for the actor profile
      Returns:
      properties of the actor profile InvalidParameterException securityGroupGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • createUserIdentity

      public GUIDResponse createUserIdentity(String serverName, String userId, UserIdentityRequestBody requestBody)
      Create a UserIdentity. This is not connected to a profile.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user
      requestBody - userId for the new userIdentity
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • updateUserIdentity

      public VoidResponse updateUserIdentity(String serverName, String userId, String userIdentityGUID, boolean isMergeUpdate, UserIdentityRequestBody requestBody)
      Update a UserIdentity.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user
      userIdentityGUID - unique identifier of the UserIdentity
      isMergeUpdate - should the supplied properties be overlaid on the existing properties (true) or replace them (false
      requestBody - updated properties for the new userIdentity
      Returns:
      void or InvalidParameterException one of the parameters is invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • deleteUserIdentity

      public VoidResponse deleteUserIdentity(String serverName, String userId, String userIdentityGUID, MetadataSourceRequestBody requestBody)
      Remove a user identity object.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      userIdentityGUID - unique identifier of the UserIdentity
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • addIdentityToProfile

      public VoidResponse addIdentityToProfile(String serverName, String userId, String userIdentityGUID, String profileGUID, MetadataSourceRequestBody requestBody)
      Link a user identity to a profile.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      userIdentityGUID - unique identifier of the UserIdentity
      profileGUID - the profile to add the identity to.
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • removeIdentityFromProfile

      public VoidResponse removeIdentityFromProfile(String serverName, String userId, String userIdentityGUID, String profileGUID, MetadataSourceRequestBody requestBody)
      Remove a user identity object.
      Parameters:
      serverName - name of target server
      userId - the name of the calling user.
      userIdentityGUID - unique identifier of the UserIdentity
      profileGUID - profile to remove it from.
      requestBody - external source identifiers
      Returns:
      void or InvalidParameterException - one of the parameters is invalid or PropertyServerException - there is a problem retrieving information from the property server(s) or UserNotAuthorizedException - the requesting user is not authorized to issue this request.
    • findUserIdentities

      public UserIdentitiesResponse findUserIdentities(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody)
      Retrieve the list of user identity metadata elements that contain the search string. The search string is treated as a regular expression.
      Parameters:
      serverName - name of target server
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getUserIdentitiesByName

      public UserIdentitiesResponse getUserIdentitiesByName(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody)
      Retrieve the list of user identity metadata elements with a matching qualified name. There are no wildcards supported on this request.
      Parameters:
      serverName - name of target server
      userId - calling user
      startFrom - paging start point
      pageSize - maximum results that can be returned
      requestBody - name to search for
      Returns:
      list of matching metadata elements InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getUserIdentityByGUID

      public UserIdentityResponse getUserIdentityByGUID(String serverName, String userId, String userIdentityGUID)
      Retrieve the userIdentity metadata element with the supplied unique identifier.
      Parameters:
      serverName - name of target server
      userId - calling user
      userIdentityGUID - unique identifier of the requested metadata element
      Returns:
      matching metadata element or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the user is not authorized to issue this request PropertyServerException there is a problem reported in the open metadata server(s)
    • getActorProfileByGUID

      public ActorProfileResponse getActorProfileByGUID(String serverName, String userId, String actorProfileGUID)
      Return information about a specific actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileGUID - unique identifier for the actor profile
      Returns:
      properties of the actor profile InvalidParameterException actorProfileGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfileByUserId

      public ActorProfileResponse getActorProfileByUserId(String serverName, String userId, String actorProfileUserId)
      Return information about a specific actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      actorProfileUserId - unique identifier for the actor profile
      Returns:
      properties of the actor profile InvalidParameterException actorProfileUserId or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getActorProfileByName

      public ActorProfileListResponse getActorProfileByName(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody)
      Return information about a named actor profile.
      Parameters:
      serverName - called server
      userId - calling user
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      requestBody - unique name for the actor profile
      Returns:
      list of matching actor profiles (hopefully only one) InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • findActorProfile

      public ActorProfileListResponse findActorProfile(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody)
      Retrieve the list of matching profiles for the search string.
      Parameters:
      serverName - called server
      userId - the name of the calling user.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      requestBody - RegEx string to search for
      Returns:
      list of matching actor profiles InvalidParameterException guid invalid or the external references are not correctly specified, or are null. PropertyServerException the server is not available. UserNotAuthorizedException the calling user is not authorized to issue the call.
    • getAppointees

      public PersonRoleAppointeeListResponse getAppointees(String serverName, String userId, String personRoleGUID, int startFrom, int pageSize, EffectiveTimeRequestBody requestBody)
      Return the list of people appointed to a particular role.
      Parameters:
      serverName - called server
      userId - calling user
      personRoleGUID - unique identifier of the person role
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return
      requestBody - time for appointments, null for full appointment history
      Returns:
      list of appointees or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getPersonRoleByGUID

      public PersonRoleResponse getPersonRoleByGUID(String serverName, String userId, String personRoleGUID)
      Return information about a specific person role.
      Parameters:
      serverName - called server
      userId - calling user
      personRoleGUID - unique identifier for the person role
      Returns:
      properties of the person role InvalidParameterException personRoleGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • getPersonRoleByName

      public PersonRoleListResponse getPersonRoleByName(String serverName, String userId, int startFrom, int pageSize, NameRequestBody requestBody)
      Return information about a named person role.
      Parameters:
      serverName - called server
      userId - calling user
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      requestBody - unique name for the actor profile
      Returns:
      list of matching actor profiles (hopefully only one) InvalidParameterException name or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • findPersonRole

      public PersonRoleListResponse findPersonRole(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody)
      Retrieve the list of matching roles for the search string.
      Parameters:
      serverName - called server
      userId - the name of the calling user.
      startFrom - index of the list to start from (0 for start)
      pageSize - maximum number of elements to return.
      requestBody - RegEx string to search for
      Returns:
      list of matching actor profiles InvalidParameterException guid invalid or the external references are not correctly specified, or are null. PropertyServerException the server is not available. UserNotAuthorizedException the calling user is not authorized to issue the call.