Package com.sas.metadata.remote
Interface AccessControlEntry
- All Superinterfaces:
AccessControl,CMetadata,MdObjectBase,MdObjectBaseUtil,MdObjectBaseXML,PrimaryType,Remote,Root
The AccessControlEntry metadata type is used to define an access control directly on a resource. The access control is stored with the resource definition and is unique to that resource. That is, the AccessControlEntry (ACE) cannot be applied to another metadata object.
An ACE can specify permissions for both individual users and for groups. If a given identity is referenced more than once in the ACE, for example, both directly and by virtue of membership in one or more groups, the permission assigned directly to the identity will take precedence.
When the SAS Open Metadata Architecture authorization facility evaluates access controls, a permission assigned in an ACE will take precedence over a permission assigned in an AccessConrolTemplate (ACT). A resource-specific access control also takes precedence over any inherited access controls and permissions assigned in the Repository ACT.
An ACE should not be explicitly created or deleted. Access controls are managed programmatically using the SAS Open Metadata Interface ISecurityAdmin server interface, which is documented in the SAS 9.2 Open Metadata Interface: Reference and Usage. ISecurityAdmin provides methods for defining and managing direct access controls as well as access control templates.
Example: create a AccessControlEntry with name "AccessControlEntry_Object", in repository "AAAAAAAA".
Attributes of AccessControlEntry are:
Associations of AccessControlEntry are:
Usage
To create an instance of this AccessControlEntry, use thefactory
create methods. Example: create a AccessControlEntry with name "AccessControlEntry_Object", in repository "AAAAAAAA".
// create a store to contain your objects for this change. If you do not have an existing object // or store to use. You may obtain the store from another object by using Object.getObjectStore(). MdFactory factory; //where "factory" is a valid MdFactory instance MdObjectStore objectStore = factory.createObjectStore(); AccessControlEntry myObject = (AccessControlEntry) factory.createComplexMetadataObject(objectStore, "AccessControlEntry_Object", MetadataObjects.ACCESSCONTROLENTRY, "AAAAAAAA"); myObject.updateMetadataAll(); // Write object to server objectStore.dispose(); // dispose of the object store if it is no longer needed
Behavior
- Attributes and associations for this object can be retrieved by using the methods in
MdOMIUtil. - When changes are made to the object, either by setting an attribute or adding objects to a particular association,
they can be persisted to the metadata server with the
updateMetadataAllmethod. - If an object needs to be deleted, the
deletemethod can be used. This will flag the object as being deleted on the client, and will require an update call to persist the change to the server.
Dependencies
This class depends on objects being contained in an MdObjectStore. Object stores should be disposed of when they are no longer needed as this will help clean up memory. Disposing an object store will dispose of all objects contained within that store.- Since:
- 9.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringConstant used for the name of the AssociatedCondition association.static final StringConstant used for the name of the Identities association.static final StringConstant used for the name of the Permissions association.Fields inherited from interface com.sas.metadata.remote.AccessControl
ASSOCIATION_ACCESSCONTROLTEMPLATES_NAME, ASSOCIATION_OBJECTS_NAMEFields inherited from interface com.sas.metadata.remote.MdObjectBase
ATTRIBUTE_DESC_NAME, ATTRIBUTE_ID_NAME, ATTRIBUTE_METADATACREATED_NAME, ATTRIBUTE_METADATAUPDATED_NAME, ATTRIBUTE_NAME_NAMEFields inherited from interface com.sas.metadata.remote.PrimaryType
ASSOCIATION_FAVORITESCONTAINERS_NAME, ATTRIBUTE_ISHIDDEN_NAME, ATTRIBUTE_PUBLICTYPE_NAMEFields inherited from interface com.sas.metadata.remote.Root
ASSOCIATION_ACCESSCONTROLS_NAME, ASSOCIATION_CHANGES_NAME, ASSOCIATION_CUSTOMASSOCIATIONS_NAME, ASSOCIATION_DOCUMENTS_NAME, ASSOCIATION_EXTENSIONS_NAME, ASSOCIATION_EXTERNALIDENTITIES_NAME, ASSOCIATION_GROUPS_NAME, ASSOCIATION_IMPLEMENTORS_NAME, ASSOCIATION_KEYWORDS_NAME, ASSOCIATION_LOCALIZEDATTRIBUTES_NAME, ASSOCIATION_NOTES_NAME, ASSOCIATION_PRIMARYPROPERTYGROUP_NAME, ASSOCIATION_PROMPTS_NAME, ASSOCIATION_PROPERTIES_NAME, ASSOCIATION_PROPERTYSETS_NAME, ASSOCIATION_REFERENCEDOBJECTS_NAME, ASSOCIATION_RESPONSIBLEPARTIES_NAME, ASSOCIATION_SOURCETRANSFORMATIONS_NAME, ASSOCIATION_SPECSOURCETRANSFORMATIONS_NAME, ASSOCIATION_SPECTARGETTRANSFORMATIONS_NAME, ASSOCIATION_TARGETTRANSFORMATIONS_NAME, ASSOCIATION_TIMESTAMPS_NAME, ASSOCIATION_TREES_NAME, ASSOCIATION_TSOBJECTNAMESPACE_NAME, ASSOCIATION_USEDBYPROTOTYPES_NAME, ASSOCIATION_USINGPROTOTYPE_NAME, ASSOCIATION_VARIABLES_NAME, ATTRIBUTE_CHANGESTATE_NAME, ATTRIBUTE_LOCKEDBY_NAME, ATTRIBUTE_USAGEVERSION_NAME -
Method Summary
Modifier and TypeMethodDescriptionGets thePermissionConditionforAssociatedConditionGets the Association list ofAssociatedConditionsgetAssociatedConditions(boolean fGoToServer) Gets the Associationlist ofAssociatedConditionsGets the Association list ofIdentitiesgetIdentities(boolean fGoToServer) Gets the Associationlist ofIdentitiesGets the Association list ofPermissionsgetPermissions(boolean fGoToServer) Gets the Associationlist ofPermissionsvoid(S) Adds the Associated objects to the predObjects which are:void(S) This initializes the Required Objects(Roles) which are:voidsetAssociatedCondition(PermissionCondition inObject) Sets theAssociatedConditionslist 0th element to beinObject.voidSets theAssociatedConditionslist to belist.voidsetAssociatedConditions(AssociationList list, int state) Sets theAssociatedConditionslist to belist.voidsetIdentities(AssociationList list) Sets theIdentitieslist to belist.voidsetIdentities(AssociationList inObjects, int state) Sets the entire Identities list to match the passed in AssociationList, sets the state of the IdentitiesvoidSets thePermissionslist to belist.voidsetPermissions(AssociationList inObjects, int state) Sets the entire Permissions list to match the passed in AssociationList, sets the state of the PermissionsMethods inherited from interface com.sas.metadata.remote.AccessControl
getAccessControlTemplates, getAccessControlTemplates, getObjects, getObjects, setAccessControlTemplates, setAccessControlTemplates, setObjects, setObjectsMethods inherited from interface com.sas.metadata.remote.MdObjectBase
addElementToChangeList, clearChangeList, getChangeList, getCMetadataType, getDesc, getDescMaxLength, getDescState, getFQID, getId, getIdState, getMetadataCreated, getMetadataCreatedState, getMetadataUpdated, getMetadataUpdatedState, getName, getNameMaxLength, getNameState, getObjectStore, getPredAssociations, getRepositoryID, getRequiredAssociations, getState, isAssociationRequired, isNewObject, isPredAssociation, removeElementFromChangeList, resetObject, resetState, resetStates, setCMetadataType, setDesc, setDesc, setDescState, setFQID, setFQID, setId, setId, setIdState, setMetadataCreated, setMetadataCreated, setMetadataCreatedState, setMetadataUpdated, setMetadataUpdated, setMetadataUpdatedState, setName, setName, setNameState, setObjectStore, setStateMethods inherited from interface com.sas.metadata.remote.MdObjectBaseUtil
addMdObjectListener, delete, dispose, fireMdObjectModified, getAssociatedObjects, getAssociatedObjects, getAssociatedObjects, getAssociationNames, getAssocs, getAssocsWA, getAttributeNames, getAttrs, getAttrsStates, getAuthorizationUtil, getChangeManagementState, getChgMgtExternalIdentityImportType, getClientSideOnlyObject, getMdObjectAssociation, getPopulatedAssocs, getUpdatedAttrs, getViewList, isCheckedOut, isLocked, objectModified, removeMdObjectListener, setAttrs, setChangeManagementTargetRepository, setChgMgtExternalIdentityImportType, setClientSideOnlyObject, setMdObjectAssociation, touch, updateAssnsIdsMethods inherited from interface com.sas.metadata.remote.MdObjectBaseXML
closeUpdateMetadataXML, createEmptyXML, createObjectRefreshXML, createObjectXML, createObjectXML, createUpdateAssociationXML, createUpdateAssociationXML, createUpdateSimpleXML, doCreateUpdateXML, getUpdateSimpleSubstring, updateMetadataAllMethods inherited from interface com.sas.metadata.remote.PrimaryType
getFavoritesContainers, getFavoritesContainers, getIsHidden, getIsHiddenState, getPublicType, getPublicTypeMaxLength, getPublicTypeState, setFavoritesContainers, setFavoritesContainers, setIsHidden, setIsHidden, setIsHidden, setIsHidden, setIsHiddenState, setPublicType, setPublicType, setPublicTypeStateMethods inherited from interface com.sas.metadata.remote.Root
getAccessControls, getAccessControls, getChanges, getChanges, getChangeState, getChangeStateMaxLength, getChangeStateState, getCustomAssociations, getCustomAssociations, getDocuments, getDocuments, getExtensions, getExtensions, getExternalIdentities, getExternalIdentities, getGroups, getGroups, getImplementors, getImplementors, getKeywords, getKeywords, getLocalizedAttributes, getLocalizedAttributes, getLockedBy, getLockedByMaxLength, getLockedByState, getNotes, getNotes, getPrimaryPropertyGroup, getPrimaryPropertyGroups, getPrimaryPropertyGroups, getPrompts, getPrompts, getProperties, getProperties, getPropertySets, getPropertySets, getReferencedObjects, getReferencedObjects, getResponsibleParties, getResponsibleParties, getSourceTransformations, getSourceTransformations, getSpecSourceTransformations, getSpecSourceTransformations, getSpecTargetTransformations, getSpecTargetTransformations, getTargetTransformations, getTargetTransformations, getTimestamps, getTimestamps, getTrees, getTrees, getTSObjectNamespace, getTSObjectNamespaces, getTSObjectNamespaces, getUsageVersion, getUsageVersionState, getUsedByPrototypes, getUsedByPrototypes, getUsingPrototype, getUsingPrototypes, getUsingPrototypes, getVariables, getVariables, setAccessControls, setAccessControls, setChanges, setChanges, setChangeState, setChangeState, setChangeStateState, setCustomAssociations, setCustomAssociations, setDocuments, setDocuments, setExtensions, setExtensions, setExternalIdentities, setExternalIdentities, setGroups, setGroups, setImplementors, setImplementors, setKeywords, setKeywords, setLocalizedAttributes, setLocalizedAttributes, setLockedBy, setLockedBy, setLockedByState, setNotes, setNotes, setPrimaryPropertyGroup, setPrimaryPropertyGroups, setPrimaryPropertyGroups, setPrompts, setPrompts, setProperties, setProperties, setPropertySets, setPropertySets, setReferencedObjects, setReferencedObjects, setResponsibleParties, setResponsibleParties, setSourceTransformations, setSourceTransformations, setSpecSourceTransformations, setSpecSourceTransformations, setSpecTargetTransformations, setSpecTargetTransformations, setTargetTransformations, setTargetTransformations, setTimestamps, setTimestamps, setTrees, setTrees, setTSObjectNamespace, setTSObjectNamespaces, setTSObjectNamespaces, setUsageVersion, setUsageVersion, setUsageVersion, setUsageVersion, setUsageVersionState, setUsedByPrototypes, setUsedByPrototypes, setUsingPrototype, setUsingPrototypes, setUsingPrototypes, setVariables, setVariables
-
Field Details
-
ASSOCIATION_ASSOCIATEDCONDITION_NAME
static final String ASSOCIATION_ASSOCIATEDCONDITION_NAMEConstant used for the name of the AssociatedCondition association.AssociatedCondition: The associated condition used to grant or deny access to a resource.
- See Also:
-
ASSOCIATION_IDENTITIES_NAME
static final String ASSOCIATION_IDENTITIES_NAMEConstant used for the name of the Identities association.Identities: The identities associated to this access control entry.
- See Also:
-
ASSOCIATION_PERMISSIONS_NAME
static final String ASSOCIATION_PERMISSIONS_NAMEConstant used for the name of the Permissions association.Permissions: The permissions that are granted or denied by this access control entry.
- See Also:
-
-
Method Details
-
initializeRequiredObjects
void initializeRequiredObjects() throws RemoteException(S) This initializes the Required Objects(Roles) which are:- Specified by:
initializeRequiredObjectsin interfaceAccessControl- Specified by:
initializeRequiredObjectsin interfaceMdObjectBaseUtil- Specified by:
initializeRequiredObjectsin interfacePrimaryType- Specified by:
initializeRequiredObjectsin interfaceRoot- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
initializePredObjects
void initializePredObjects() throws RemoteException(S) Adds the Associated objects to the predObjects which are:- Specified by:
initializePredObjectsin interfaceAccessControl- Specified by:
initializePredObjectsin interfaceMdObjectBase- Specified by:
initializePredObjectsin interfacePrimaryType- Specified by:
initializePredObjectsin interfaceRoot- Throws:
RemoteException- If error connecting/communicating to/with remote object.
-
getAssociatedConditions
Gets the Association list ofAssociatedConditions- Returns:
- The AssociationList of
AssociatedConditionswhich can be of type:
PermissionCondition - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getAssociatedCondition
Gets thePermissionConditionforAssociatedCondition- Returns:
- The
PermissionCondition(nullif not set ) ofAssociatedConditionwhich can be of type:
PermissionCondition - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getIdentities
Gets the Association list ofIdentities- Returns:
- The AssociationList of
Identitieswhich can be of type:
Identity
IdentityGroup
Person - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getPermissions
Gets the Association list ofPermissions- Returns:
- The AssociationList of
Permissionswhich can be of type:
Permission - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getAssociatedConditions
Gets the Associationlist ofAssociatedConditions- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the
AssociatedConditionswhich can be of type:
PermissionCondition - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getIdentities
Gets the Associationlist ofIdentities- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the
Identitieswhich can be of type:
Identity
IdentityGroup
Person - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
getPermissions
Gets the Associationlist ofPermissions- Parameters:
fGoToServer- boolean Get the value from the server.- Returns:
- Returns the
Permissionswhich can be of type:
Permission - Throws:
RemoteException- If error connecting/communicating to/with remote object.MdException- If error getting/setting part of the object.
-
setAssociatedConditions
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setAssociatedConditions
- Parameters:
list- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setAssociatedCondition
Sets theAssociatedConditionslist 0th element to beinObject.- Parameters:
inObject- PermissionCondition- Throws:
RemoteException- If error communicating with remote object.
-
setIdentities
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setIdentities
Sets the entire Identities list to match the passed in AssociationList, sets the state of the Identities- Parameters:
inObjects- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-
setPermissions
- Parameters:
list- AssociationList- Throws:
RemoteException- If error communicating with remote object.
-
setPermissions
Sets the entire Permissions list to match the passed in AssociationList, sets the state of the Permissions- Parameters:
inObjects- AssociationListstate- int- Throws:
RemoteException- If error communicating with remote object.
-