Interface SecurityManagerInterface
- All Known Implementing Classes:
SecurityManagerClient
public interface SecurityManagerInterface
SecurityManagerInterface provides the interface both for retrieving additional information in order to process OutTopic events and for
making changes to open metadata to match the content of the security manager.
-
Method Summary
Modifier and TypeMethodDescriptioncreateSecurityGroup
(String userId, SecurityGroupProperties properties) Create a new security group.createUserIdentity
(String userId, String externalSourceGUID, String externalSourceName, UserIdentityProperties newIdentity) Create a UserIdentity.void
deleteSecurityGroup
(String userId, String securityGroupGUID) Delete a specific security group.void
deleteUserIdentity
(String userId, String externalSourceGUID, String externalSourceName, String userIdentityGUID) Remove a user identity object.findActorProfile
(String userId, String searchString, int startFrom, int pageSize) Retrieve the list of matching profiles for the search string.findPersonRole
(String userId, String searchString, int startFrom, int pageSize) Retrieve the list of matching roles for the search string.findSecurityGroups
(String userId, String searchString, int startFrom, int pageSize) Return the list of security groups that match the search string - this can be a regular expression.findUserIdentities
(String userId, String searchString, int startFrom, int pageSize) Retrieve the list of user identity metadata elements that contain the search string.getActorProfileByGUID
(String userId, String actorProfileGUID) Return information about a specific actor profile.getActorProfileByName
(String userId, String name, int startFrom, int pageSize) Return information about a named actor profile.getActorProfileByUserId
(String userId, String actorProfileUserId) Return information about a specific actor profile.getAppointees
(String userId, String personRoleGUID, Date effectiveTime, int startFrom, int pageSize) Return the list of people appointed to a particular role.getElementsGovernedBySecurityGroup
(String userId, String securityGroupGUID, int startFrom, int pageSize) Return the elements that are governed by the supplied security group.getPersonRoleByGUID
(String userId, String personRoleGUID) Return information about a specific person role.getPersonRoleByName
(String userId, String name, int startFrom, int pageSize) Return information about a named person role.getSecurityGroupByGUID
(String userId, String securityGroupGUID) Retrieve the userIdentity metadata element with the supplied unique identifier.getSecurityGroupsForDistinguishedName
(String userId, String distinguishedName, int startFrom, int pageSize) Return the list of security groups associated with a unique distinguishedName.getUserIdentitiesByName
(String userId, String name, int startFrom, int pageSize) Retrieve the list of user identity metadata elements with a matching qualified name.getUserIdentityByGUID
(String userId, String userIdentityGUID) Retrieve the userIdentity metadata element with the supplied unique identifier.void
updateSecurityGroup
(String userId, String securityGroupGUID, boolean isMergeUpdate, SecurityGroupProperties properties) Update an existing security group.void
updateUserIdentity
(String userId, String externalSourceGUID, String externalSourceName, String userIdentityGUID, boolean isMergeUpdate, UserIdentityProperties properties) Update a UserIdentity.
-
Method Details
-
createSecurityGroup
String createSecurityGroup(String userId, SecurityGroupProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new security group. The type of the definition is located in the properties.- Parameters:
userId
- calling userproperties
- properties of the definition- Returns:
- unique identifier of the definition
- Throws:
InvalidParameterException
- typeName, documentIdentifier or userId is null; documentIdentifier is not unique; typeName is not validPropertyServerException
- problem accessing the metadata serviceUserNotAuthorizedException
- security access problem
-
updateSecurityGroup
void updateSecurityGroup(String userId, String securityGroupGUID, boolean isMergeUpdate, SecurityGroupProperties properties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update an existing security group.- Parameters:
userId
- calling usersecurityGroupGUID
- unique identifier of the definition to updateisMergeUpdate
- are unspecified properties unchanged (true) or removed?properties
- properties to update- Throws:
InvalidParameterException
- guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
deleteSecurityGroup
void deleteSecurityGroup(String userId, String securityGroupGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific security group.- Parameters:
userId
- calling usersecurityGroupGUID
- unique identifier of the definition to remove- Throws:
InvalidParameterException
- guid is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getSecurityGroupsForDistinguishedName
List<SecurityGroupElement> getSecurityGroupsForDistinguishedName(String userId, String distinguishedName, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the list of security groups associated with a unique distinguishedName. In an ideal world, the should be only one.- Parameters:
userId
- calling userdistinguishedName
- unique name of the security groupstartFrom
- where to start from in the list of definitionspageSize
- max number of results to return in one call- Returns:
- list of security groups
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the caller is not authorized to issue the requestPropertyServerException
- the metadata service has problems
-
getElementsGovernedBySecurityGroup
List<ElementStub> getElementsGovernedBySecurityGroup(String userId, String securityGroupGUID, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the elements that are governed by the supplied security group.- Parameters:
userId
- calling usersecurityGroupGUID
- unique name of the security groupstartFrom
- where to start from in the list of definitionspageSize
- max number of results to return in one call- Returns:
- list of headers for the associated elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the caller is not authorized to issue the requestPropertyServerException
- the metadata service has problems
-
findSecurityGroups
List<SecurityGroupElement> findSecurityGroups(String userId, String searchString, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the list of security groups that match the search string - this can be a regular expression.- Parameters:
userId
- calling usersearchString
- value to search forstartFrom
- where to start from in the list of definition resultspageSize
- max number of results to return in one call- Returns:
- list of security groups
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the caller is not authorized to issue the requestPropertyServerException
- the metadata service has problems
-
getSecurityGroupByGUID
SecurityGroupElement getSecurityGroupByGUID(String userId, String securityGroupGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the userIdentity metadata element with the supplied unique identifier.- Parameters:
userId
- calling usersecurityGroupGUID
- unique identifier of the requested metadata element- Returns:
- matching metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
createUserIdentity
String createUserIdentity(String userId, String externalSourceGUID, String externalSourceName, UserIdentityProperties newIdentity) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Create a UserIdentity. This is not connected to a profile.- Parameters:
userId
- the name of the calling user.externalSourceGUID
- unique identifier of software server capability representing the callerexternalSourceName
- unique name of software server capability representing the callernewIdentity
- properties for the new userIdentity.- Returns:
- unique identifier of the UserIdentity
- Throws:
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.
-
updateUserIdentity
void updateUserIdentity(String userId, String externalSourceGUID, String externalSourceName, String userIdentityGUID, boolean isMergeUpdate, UserIdentityProperties properties) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Update a UserIdentity.- Parameters:
userId
- the name of the calling userexternalSourceGUID
- unique identifier of software server capability representing the callerexternalSourceName
- unique name of software server capability representing the calleruserIdentityGUID
- unique identifier of the UserIdentityisMergeUpdate
- should the supplied properties be overlaid on the existing properties (true) or replace them (falseproperties
- updated properties for the new userIdentity- Throws:
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
void deleteUserIdentity(String userId, String externalSourceGUID, String externalSourceName, String userIdentityGUID) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Remove a user identity object. This will fail if a profile would be left without an associated user identity.- Parameters:
userId
- the name of the calling userexternalSourceGUID
- unique identifier of software server capability representing the callerexternalSourceName
- unique name of software server capability representing the calleruserIdentityGUID
- unique identifier of the UserIdentity- Throws:
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.
-
findUserIdentities
List<UserIdentityElement> findUserIdentities(String userId, String searchString, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of user identity metadata elements that contain the search string. The search string is treated as a regular expression.- Parameters:
userId
- calling usersearchString
- string to find in the propertiesstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getUserIdentitiesByName
List<UserIdentityElement> getUserIdentitiesByName(String userId, String name, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the list of user identity metadata elements with a matching qualified name. There are no wildcards supported on this request.- Parameters:
userId
- calling username
- name to search forstartFrom
- paging start pointpageSize
- maximum results that can be returned- Returns:
- list of matching metadata elements
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getUserIdentityByGUID
UserIdentityElement getUserIdentityByGUID(String userId, String userIdentityGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the userIdentity metadata element with the supplied unique identifier.- Parameters:
userId
- calling useruserIdentityGUID
- unique identifier of the requested metadata element- Returns:
- matching metadata element
- Throws:
InvalidParameterException
- one of the parameters is invalidUserNotAuthorizedException
- the user is not authorized to issue this requestPropertyServerException
- there is a problem reported in the open metadata server(s)
-
getActorProfileByGUID
ActorProfileElement getActorProfileByGUID(String userId, String actorProfileGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about a specific actor profile.- Parameters:
userId
- calling useractorProfileGUID
- unique identifier for the actor profile- Returns:
- properties of the actor profile
- Throws:
InvalidParameterException
- actorProfileGUID or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getActorProfileByUserId
ActorProfileElement getActorProfileByUserId(String userId, String actorProfileUserId) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about a specific actor profile.- Parameters:
userId
- calling useractorProfileUserId
- unique identifier for the actor profile- Returns:
- properties of the actor profile
- Throws:
InvalidParameterException
- actorProfileUserId or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getActorProfileByName
List<ActorProfileElement> getActorProfileByName(String userId, String name, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about a named actor profile.- Parameters:
userId
- calling username
- unique name for the actor profilestartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- list of matching actor profiles (hopefully only one)
- Throws:
InvalidParameterException
- name or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
findActorProfile
List<ActorProfileElement> findActorProfile(String userId, String searchString, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Retrieve the list of matching profiles for the search string.- Parameters:
userId
- the name of the calling user.searchString
- RegEx string to search forstartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- list of matching actor profiles
- Throws:
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
List<Appointee> getAppointees(String userId, String personRoleGUID, Date effectiveTime, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return the list of people appointed to a particular role.- Parameters:
userId
- calling userpersonRoleGUID
- unique identifier of the person roleeffectiveTime
- time for appointments, null for full appointment historystartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return- Returns:
- list of appointees
- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getPersonRoleByGUID
PersonRoleElement getPersonRoleByGUID(String userId, String personRoleGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about a specific person role.- Parameters:
userId
- calling userpersonRoleGUID
- unique identifier for the person role- Returns:
- properties of the person role
- Throws:
InvalidParameterException
- personRoleGUID or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getPersonRoleByName
List<PersonRoleElement> getPersonRoleByName(String userId, String name, int startFrom, int pageSize) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Return information about a named person role.- Parameters:
userId
- calling username
- unique name for the actor profilestartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- list of matching actor profiles (hopefully only one)
- Throws:
InvalidParameterException
- name or userId is nullPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
findPersonRole
List<PersonRoleElement> findPersonRole(String userId, String searchString, int startFrom, int pageSize) throws InvalidParameterException, PropertyServerException, UserNotAuthorizedException Retrieve the list of matching roles for the search string.- Parameters:
userId
- the name of the calling user.searchString
- RegEx string to search forstartFrom
- index of the list to start from (0 for start)pageSize
- maximum number of elements to return.- Returns:
- list of matching actor profiles
- Throws:
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.
-