|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectkaos.core.util.MethodCallRequestHandler
kaos.policy.guard.KAoSGuardImpl
public class KAoSGuardImpl
Guard for KAoS policies enforcement.
Field Summary | |
---|---|
protected java.util.Map<java.lang.String,java.util.List<Enforcer>> |
_enforcersOfType
|
InstanceClassifierManager |
_instanceClassifierFactory
|
KAoSAgentDirectoryServiceProxy |
_kaosDirectoryService
|
Logger |
_logger
|
protected java.lang.String |
_myId
|
protected PolicyInterestConfiguration |
_policyInterest
|
KAoSGuardPolicyProcessor |
_policyProcessor
|
static java.lang.String |
CONTAINER_ID_KEY
|
static java.lang.String |
GUARD_NAME_KEY
|
Fields inherited from class kaos.core.util.MethodCallRequestHandler |
---|
_agentDescription, _helper, _mts, _nickName, DEFAULT_NICKNAME, myLocator, myMessageReceiver, myMessageSender |
Constructor Summary | |
---|---|
KAoSGuardImpl()
|
Method Summary | |
---|---|
void |
addDomain(DomainDescription desc)
Add the specified DomainDescription to the collection of domains used to calculate authorization modalities for checking permissions. |
protected void |
addPolicy(PolicyMsg polMsg)
|
void |
addPolicyUpdateListener(PolicyListener listener)
|
void |
changeComponentEnabledStatus(java.lang.String repType,
java.lang.String associatedOntType,
java.lang.Boolean state)
|
protected void |
changePolicy(PolicyMsg polMsg)
|
void |
checkDeepPermission(ActionInstanceDescription aid,
PolicyDecisionObserver pObserver)
|
void |
checkPermission(ActionInstanceDescription origActionDesc,
PolicyDecisionObserver pObserver)
|
void |
deleteAllLogs()
|
void |
deleteLogsforActionType(java.lang.String actionType)
|
void |
deleteLogsforActor(java.lang.String actorID)
|
void |
deleteSpecifiedLogs(java.lang.String actionType,
java.lang.String actorID,
java.lang.String startTime,
java.lang.String endTime,
java.lang.Boolean latest)
|
void |
deregisterTriggerConditionListener(TriggerConditionListener listenerRef)
|
java.util.List<ActionInstanceDescription> |
findPolicyDecision(ActionInstanceDescription aid,
PolicyDecisionObserver pObserver)
|
java.util.List<java.lang.String> |
getActionSubclassesOfInterest()
|
java.util.List<KAoSExtensionComponent> |
getAllKAoSExtensionComponents(java.lang.String repType)
|
java.util.List<ActionInstanceDescription> |
getAllLogs()
|
java.util.Vector |
getAllowableValuesForActionProperties(ActionInstanceDescription origActionDesc,
PolicyDecisionObserver observer)
|
java.util.Vector |
getAllowableValuesForActionProperties(java.util.Vector origPropertyNames,
ActionInstanceDescription origActionDesc,
boolean tight,
PolicyDecisionObserver observer)
|
java.util.Vector |
getAllowableValuesForActionProperties(java.util.Vector propertyNames,
ActionInstanceDescription actionDesc,
PolicyDecisionObserver observer)
|
java.util.Set |
getAllowableValuesForActionProperty(java.lang.String origPropertyName,
ActionInstanceDescription origActionDesc,
boolean tight,
PolicyDecisionObserver observer)
|
java.util.Set |
getAllowableValuesForActionProperty(java.lang.String origPropertyName,
ActionInstanceDescription origActionDesc,
java.util.Set allTargetValues,
boolean tight,
PolicyDecisionObserver observer)
|
java.util.Set |
getAllowableValuesForActionProperty(java.lang.String propertyName,
ActionInstanceDescription actionDesc,
java.util.Set allTargetValues,
PolicyDecisionObserver observer)
|
java.util.List<PolicyInformation> |
getAllPolicies()
|
java.util.Collection<KAoSExtensionComponentManager> |
getAllRepositoryManagers()
|
protected java.util.List<PolicyMsg> |
getBootPolicies(java.lang.String type)
|
java.util.List<java.lang.String> |
getClassRangesOfInterest()
|
java.lang.Boolean |
getComponentEnabledStatus(java.lang.String repType,
java.lang.String componentName)
|
EventsHistoryManager |
getEventHistoryManager()
|
java.util.Vector |
getForbiddenValuesForActionProperty(java.lang.String origPropertyName,
ActionInstanceDescription origActionDesc,
PolicyDecisionObserver observer)
|
java.util.Collection<KAoSAgentDescription> |
getGuardedAgentDescriptions()
|
java.lang.String |
getGuardStateFor()
|
java.lang.String |
getID()
Get guard's GUID. |
KAoSExtensionComponent |
getKAoSExtensionComponents(java.lang.String repType,
java.lang.String associatedOntType)
|
java.util.List<ActionInstanceDescription> |
getLogsforActionType(java.lang.String actionType)
|
java.util.List<ActionInstanceDescription> |
getLogsforActor(java.lang.String actorID)
|
java.util.List<ActionInstanceDescription> |
getObligationsForTriggerCondition(ActionInstanceDescription origActionDesc,
PolicyDecisionObserver observer)
|
PreComputedPolicyDBManager |
getPolicyDBManager()
|
PolicyInformation |
getPolicyInformation(java.lang.String policyID)
|
java.lang.Integer |
getPolicyUpdateCount()
|
java.util.List<java.lang.String> |
getPropretiesOfInterest()
|
KAoSExtensionComponentManager |
getRepositoryManager(java.lang.String repType)
|
java.util.Map<java.lang.String,java.lang.String> |
getRepositoryTableInformation(java.lang.String repType)
|
java.util.List<ActionInstanceDescription> |
getSpecifiedLogs(java.lang.String actionType,
java.lang.String actorID,
java.lang.String startTime,
java.lang.String endTime,
java.lang.Boolean latest)
|
java.util.List<ActionInfo> |
getTriggerConditions(ActionInfo triggerAD)
|
protected boolean |
initExecEnvironment(java.util.List<java.lang.String> domainNames,
KAoSServiceRoot sr,
JasBean guardInitInfo,
java.lang.Object infrastructureInfo,
java.util.List<java.lang.String> controlledActorClasses,
java.util.List<java.lang.String> controlledActionClasses,
java.util.List serviceNames)
|
boolean |
initialize(java.util.List<java.lang.String> domainNames,
KAoSServiceRoot sr,
JasBean guardInitInfo,
java.lang.Object infrastructureInfo,
java.util.List<java.lang.String> controlledActorClasses,
java.util.List<java.lang.String> controlledActionClasses,
java.util.List<java.lang.String> extensionComponents)
|
java.lang.Object |
invokeKAoSExtensionComponentMethod(java.lang.String repType,
java.lang.String associatedOntType,
java.lang.String methodName,
java.util.Vector args)
|
java.lang.Boolean |
isGuardLoggingActive()
|
void |
logEvent(ActionInstanceDescription event)
|
void |
modifyAgent(KAoSAgentDescription agentDescription,
java.lang.Object agentContext)
Modify the agent registration with the KAoS Directory Service. |
protected void |
monitorAuthorizationFailure(ActionInstanceDescription origActionDesc)
|
void |
newAgent(KAoSAgentDescription agentDescription,
java.lang.Object initAgentContext)
Retrieve the ontological type of the agent and based on the associated action(s), obtain the appropriate enforcer(s) for the agent. |
protected void |
registerAgent(KAoSAgentDescription agentDescription)
|
boolean |
registerEnforcer(Enforcer enforcer,
java.util.List<java.lang.String> subjectIDs)
|
void |
registerTriggerConditionListener(ActionInfo triggerAD,
TriggerConditionListener listenerRef)
|
void |
reinstateObligationPolicy(java.lang.String policyID)
|
void |
removeAgent(KAoSAgentDescription agentDescription)
Remove agent from the KAoS Directory Service. |
void |
removeAllKAoSExtensionComponents(java.lang.String repType)
|
void |
removeAllPolicies()
|
void |
removeAllRepositoryManagers()
|
boolean |
removeKAoSExtensionComponent(java.lang.String repType,
java.lang.String associatedOntType)
|
protected void |
removePolicy(PolicyMsg polMsg)
|
void |
removePolicyUpdateListener(PolicyListener listener)
|
KAoSExtensionComponentManager |
removeRepositoryManager(java.lang.String repType)
|
void |
resetGuardAppeal()
|
void |
restoreState(java.lang.String gpm,
KAoSServiceRoot sr,
JasBean guardInitInfo,
boolean connectToDS,
boolean connectToTransport)
|
void |
saveState(java.lang.String fileName)
|
boolean |
setConceptMapping(java.lang.String mappingName,
java.lang.String fileNameLoc)
Set the mapping of ontology concept. |
void |
setGuardAppeal(java.util.Vector actions)
|
void |
setGuardLoggingState(java.lang.Boolean logging)
|
void |
setKAoSExtensionComponent(java.lang.String repType,
java.lang.String associatedOntType,
KAoSExtensionComponent extComp)
|
void |
setPolicies(java.util.List<PolicyMsg> policies)
Replace the current policy set with the given set |
void |
setPolicyBootstrapper(PolicyBootstrapper pb)
|
void |
setPropertyPopulator(java.lang.String mappingName,
ActionPropertyPopulator populator)
Set the property populator for the given mapping. |
void |
setRepositoryManager(java.lang.String repType,
KAoSExtensionComponentManager repManager)
|
void |
suspendObligationPolicy(java.lang.String policyID)
|
void |
updateActionSubclasses(java.lang.String className,
java.util.Collection<java.lang.String> subclasses)
|
void |
updateInForceValue(java.lang.String policyId,
boolean inForce)
|
void |
updateInForceValue(java.lang.String policyId,
java.lang.Boolean inForce)
|
void |
updateInstanceOfClass(java.lang.String className,
java.util.Collection<java.lang.String> instances)
|
void |
updatePolicies(java.util.List<PolicyMsg> addedPolicies,
java.util.List<PolicyMsg> changedPolicies,
java.util.List<PolicyMsg> removedPolicies)
Receive policy updates and apply them accordingly. |
protected void |
updatePolicies(java.util.List<PolicyMsg> addedPolicies,
java.util.List<PolicyMsg> changedPolicies,
java.util.List<PolicyMsg> removedPolicies,
boolean replacePolicies)
|
void |
updateSubpropertiesOfProperty(java.lang.String propName,
java.util.List<java.lang.String> subProps)
|
void |
updateTriggerCondition(ActionInfo triggerBasicAD)
This method is called by Guard upon receiving an obligation policy containing the specified triggerACD. |
void |
updateTriggerListeners(java.util.List<PolicyMsg> addedPolicies)
|
Methods inherited from class kaos.core.util.MethodCallRequestHandler |
---|
bindToTransport, handleMsgContent, handleObjContent, initialize, receiveMessage |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String GUARD_NAME_KEY
public static final java.lang.String CONTAINER_ID_KEY
public Logger _logger
protected java.lang.String _myId
protected PolicyInterestConfiguration _policyInterest
public KAoSAgentDirectoryServiceProxy _kaosDirectoryService
protected java.util.Map<java.lang.String,java.util.List<Enforcer>> _enforcersOfType
public InstanceClassifierManager _instanceClassifierFactory
public KAoSGuardPolicyProcessor _policyProcessor
Constructor Detail |
---|
public KAoSGuardImpl()
Method Detail |
---|
public boolean initialize(java.util.List<java.lang.String> domainNames, KAoSServiceRoot sr, JasBean guardInitInfo, java.lang.Object infrastructureInfo, java.util.List<java.lang.String> controlledActorClasses, java.util.List<java.lang.String> controlledActionClasses, java.util.List<java.lang.String> extensionComponents)
initialize
in interface KAoSGuard
public void addDomain(DomainDescription desc)
KAoSGuard
addDomain
in interface KAoSGuard
public java.lang.String getID()
KAoSGuard
getID
in interface KAoSGuard
public boolean setConceptMapping(java.lang.String mappingName, java.lang.String fileNameLoc)
KAoSGuard
setConceptMapping
in interface KAoSGuard
mappingName
- The String specifying the name of the mapping.fileNameLoc
- The String specifying the name and path of the file containing the mapping.
public void setPropertyPopulator(java.lang.String mappingName, ActionPropertyPopulator populator)
KAoSGuard
setPropertyPopulator
in interface KAoSGuard
mappingName
- The String specifying the name of the mapping.public java.util.Collection<KAoSAgentDescription> getGuardedAgentDescriptions()
public void newAgent(KAoSAgentDescription agentDescription, java.lang.Object initAgentContext) throws AlreadyRegisteredException, DirectoryFailure, EnforcerInstantiationException
KAoSGuard
newAgent
in interface KAoSGuard
agentDescription
- KAoSAgentDescription to be used by the Guard to obtain the appropriate enforcer(s) for the guarded agent and to register the agent with the KAoS
Directory Service.initAgentContext
- An Object describing the context of the new guarded agent.
AlreadyRegisteredException
- if the AgentDescription is already registered in the KAoS Directory Service.
DirectoryFailure
- if the KAoS Directory Service is not available.
EnforcerInstantiationException
- if the Guard is not able to instantiate the enforcer for the agent's action type.public void modifyAgent(KAoSAgentDescription agentDescription, java.lang.Object agentContext) throws DirectoryFailure, EnforcerInstantiationException, UnknownConceptException
KAoSGuard
modifyAgent
in interface KAoSGuard
agentDescription
- KAoSAgentDescription to be used by the Guard to obtain the appropriate enforcer(s) for the guarded agent and to register the agent with the KAoS
Directory Service.agentContext
- An Object describing the context of the agent.
DirectoryFailure
- if the KAoS Directory Service is not available.
EnforcerInstantiationException
- if the Guard is not able to instantiate the enforcer for the agent's action type.
UnknownConceptException
- if the agent's ontological type is unknown in the KAoS ontology repository.public void removeAgent(KAoSAgentDescription agentDescription) throws NotRegisteredException, DirectoryFailure
KAoSGuard
removeAgent
in interface KAoSGuard
agentDescription
- KAoSAgentDescription to be used by the Guard to deregister the agent from the KAoS Directory Service.
NotRegisteredException
- if the agent is not registered in the KAoS Directory Service.
DirectoryFailure
- if the KAoS Directory Service is not available.protected void registerAgent(KAoSAgentDescription agentDescription) throws AlreadyRegisteredException, DirectoryFailure
AlreadyRegisteredException
DirectoryFailure
public void updateInForceValue(java.lang.String policyId, java.lang.Boolean inForce)
public void updateInForceValue(java.lang.String policyId, boolean inForce)
public void updatePolicies(java.util.List<PolicyMsg> addedPolicies, java.util.List<PolicyMsg> changedPolicies, java.util.List<PolicyMsg> removedPolicies)
PolicyListener
updatePolicies
in interface PolicyListener
addedPolicies
- The List of policies to be added to the collection of stored policies.changedPolicies
- The List of policies to be changed in the collection of stored policies.removedPolicies
- The List of policies to be removed from the collection of stored policies.protected void updatePolicies(java.util.List<PolicyMsg> addedPolicies, java.util.List<PolicyMsg> changedPolicies, java.util.List<PolicyMsg> removedPolicies, boolean replacePolicies)
public void addPolicyUpdateListener(PolicyListener listener)
addPolicyUpdateListener
in interface KAoSGuard
public void removePolicyUpdateListener(PolicyListener listener)
removePolicyUpdateListener
in interface KAoSGuard
public java.lang.Integer getPolicyUpdateCount()
getPolicyUpdateCount
in interface PolicyAdvice
protected java.util.List<PolicyMsg> getBootPolicies(java.lang.String type)
protected void addPolicy(PolicyMsg polMsg)
protected void removePolicy(PolicyMsg polMsg)
protected void changePolicy(PolicyMsg polMsg)
public void updateTriggerCondition(ActionInfo triggerBasicAD)
TriggerConditionListener
updateTriggerCondition
in interface TriggerConditionListener
triggerBasicAD
- BasicActionDescription describes the trigger condition the listener has registered for.public void registerTriggerConditionListener(ActionInfo triggerAD, TriggerConditionListener listenerRef) throws TriggerConditionListenerRegistrationException
registerTriggerConditionListener
in interface TriggerConditionListenersRegistry
TriggerConditionListenerRegistrationException
public void deregisterTriggerConditionListener(TriggerConditionListener listenerRef) throws TriggerConditionListenerDeregistrationException
deregisterTriggerConditionListener
in interface TriggerConditionListenersRegistry
TriggerConditionListenerDeregistrationException
public java.util.List<ActionInfo> getTriggerConditions(ActionInfo triggerAD)
getTriggerConditions
in interface TriggerConditionListenersRegistry
public void updateTriggerListeners(java.util.List<PolicyMsg> addedPolicies)
updateTriggerListeners
in interface TriggerConditionListenersRegistry
public boolean registerEnforcer(Enforcer enforcer, java.util.List<java.lang.String> subjectIDs) throws AlreadyRegisteredException, DirectoryFailure
AlreadyRegisteredException
DirectoryFailure
public java.util.List<PolicyInformation> getAllPolicies()
public void removeAllPolicies()
public PolicyInformation getPolicyInformation(java.lang.String policyID)
public java.util.List<java.lang.String> getPropretiesOfInterest()
public java.util.List<java.lang.String> getClassRangesOfInterest()
public java.util.List<java.lang.String> getActionSubclassesOfInterest()
public void updateSubpropertiesOfProperty(java.lang.String propName, java.util.List<java.lang.String> subProps)
public void updateInstanceOfClass(java.lang.String className, java.util.Collection<java.lang.String> instances)
public void updateActionSubclasses(java.lang.String className, java.util.Collection<java.lang.String> subclasses)
public void suspendObligationPolicy(java.lang.String policyID)
public void reinstateObligationPolicy(java.lang.String policyID)
public void setGuardLoggingState(java.lang.Boolean logging)
public java.lang.Boolean isGuardLoggingActive()
public void logEvent(ActionInstanceDescription event)
public java.util.List<ActionInstanceDescription> getAllLogs()
public void deleteAllLogs()
public java.util.List<ActionInstanceDescription> getLogsforActionType(java.lang.String actionType)
public void deleteLogsforActionType(java.lang.String actionType)
public java.util.List<ActionInstanceDescription> getLogsforActor(java.lang.String actorID)
public void deleteLogsforActor(java.lang.String actorID)
public java.util.List<ActionInstanceDescription> getSpecifiedLogs(java.lang.String actionType, java.lang.String actorID, java.lang.String startTime, java.lang.String endTime, java.lang.Boolean latest)
public void deleteSpecifiedLogs(java.lang.String actionType, java.lang.String actorID, java.lang.String startTime, java.lang.String endTime, java.lang.Boolean latest)
public KAoSExtensionComponent getKAoSExtensionComponents(java.lang.String repType, java.lang.String associatedOntType)
public java.lang.Object invokeKAoSExtensionComponentMethod(java.lang.String repType, java.lang.String associatedOntType, java.lang.String methodName, java.util.Vector args) throws java.lang.Exception
java.lang.Exception
public boolean removeKAoSExtensionComponent(java.lang.String repType, java.lang.String associatedOntType)
public void setKAoSExtensionComponent(java.lang.String repType, java.lang.String associatedOntType, KAoSExtensionComponent extComp)
public void changeComponentEnabledStatus(java.lang.String repType, java.lang.String associatedOntType, java.lang.Boolean state)
public java.lang.Boolean getComponentEnabledStatus(java.lang.String repType, java.lang.String componentName)
public java.util.List<KAoSExtensionComponent> getAllKAoSExtensionComponents(java.lang.String repType)
public void removeAllKAoSExtensionComponents(java.lang.String repType)
public java.util.Map<java.lang.String,java.lang.String> getRepositoryTableInformation(java.lang.String repType)
public void checkPermission(ActionInstanceDescription origActionDesc, PolicyDecisionObserver pObserver) throws KAoSSecurityException
checkPermission
in interface PolicyChecking
KAoSSecurityException
public void checkDeepPermission(ActionInstanceDescription aid, PolicyDecisionObserver pObserver) throws ServiceFailure, KAoSSecurityException
checkDeepPermission
in interface PolicyChecking
ServiceFailure
KAoSSecurityException
public java.util.List<ActionInstanceDescription> findPolicyDecision(ActionInstanceDescription aid, PolicyDecisionObserver pObserver) throws ObligationViolationException, KAoSSecurityException, ServiceFailure
findPolicyDecision
in interface PolicyChecking
ObligationViolationException
KAoSSecurityException
ServiceFailure
public java.util.List<ActionInstanceDescription> getObligationsForTriggerCondition(ActionInstanceDescription origActionDesc, PolicyDecisionObserver observer) throws ObligationViolationException
getObligationsForTriggerCondition
in interface PolicyChecking
ObligationViolationException
public java.util.Set getAllowableValuesForActionProperty(java.lang.String origPropertyName, ActionInstanceDescription origActionDesc, java.util.Set allTargetValues, boolean tight, PolicyDecisionObserver observer)
getAllowableValuesForActionProperty
in interface PolicyAdvice
public java.util.Set getAllowableValuesForActionProperty(java.lang.String propertyName, ActionInstanceDescription actionDesc, java.util.Set allTargetValues, PolicyDecisionObserver observer)
public java.util.Set getAllowableValuesForActionProperty(java.lang.String origPropertyName, ActionInstanceDescription origActionDesc, boolean tight, PolicyDecisionObserver observer) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
public java.util.Vector getAllowableValuesForActionProperties(java.util.Vector propertyNames, ActionInstanceDescription actionDesc, PolicyDecisionObserver observer)
public java.util.Vector getAllowableValuesForActionProperties(java.util.Vector origPropertyNames, ActionInstanceDescription origActionDesc, boolean tight, PolicyDecisionObserver observer)
getAllowableValuesForActionProperties
in interface PolicyAdvice
public java.util.Vector getAllowableValuesForActionProperties(ActionInstanceDescription origActionDesc, PolicyDecisionObserver observer)
getAllowableValuesForActionProperties
in interface PolicyAdvice
public java.util.Vector getForbiddenValuesForActionProperty(java.lang.String origPropertyName, ActionInstanceDescription origActionDesc, PolicyDecisionObserver observer)
getForbiddenValuesForActionProperty
in interface PolicyAdvice
public void setGuardAppeal(java.util.Vector actions)
public void resetGuardAppeal()
public void setPolicyBootstrapper(PolicyBootstrapper pb)
protected boolean initExecEnvironment(java.util.List<java.lang.String> domainNames, KAoSServiceRoot sr, JasBean guardInitInfo, java.lang.Object infrastructureInfo, java.util.List<java.lang.String> controlledActorClasses, java.util.List<java.lang.String> controlledActionClasses, java.util.List serviceNames)
public void restoreState(java.lang.String gpm, KAoSServiceRoot sr, JasBean guardInitInfo, boolean connectToDS, boolean connectToTransport) throws GuardInstantiationException
GuardInstantiationException
protected void monitorAuthorizationFailure(ActionInstanceDescription origActionDesc)
public KAoSExtensionComponentManager getRepositoryManager(java.lang.String repType)
getRepositoryManager
in interface GuardManager
public KAoSExtensionComponentManager removeRepositoryManager(java.lang.String repType)
removeRepositoryManager
in interface GuardManager
public void setRepositoryManager(java.lang.String repType, KAoSExtensionComponentManager repManager)
setRepositoryManager
in interface GuardManager
public java.util.Collection<KAoSExtensionComponentManager> getAllRepositoryManagers()
getAllRepositoryManagers
in interface GuardManager
public void removeAllRepositoryManagers()
removeAllRepositoryManagers
in interface GuardManager
public PreComputedPolicyDBManager getPolicyDBManager()
getPolicyDBManager
in interface GuardManager
public EventsHistoryManager getEventHistoryManager()
getEventHistoryManager
in interface GuardManager
public void setPolicies(java.util.List<PolicyMsg> policies)
PolicyListener
setPolicies
in interface PolicyListener
public java.lang.String getGuardStateFor()
public void saveState(java.lang.String fileName)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |