-- IDL module extracted from ITU-T Q.834.4 (07/2003)
#ifndef __Q834_4_ACCESSCONTROL_DEFINED
#define __Q834_4_ACCESSCONTROL_DEFINED
#include "Q834Common.idl"
#pragma prefix "itu.Int"
module q834_4 {
module AccessControl {
// Begin definitions from other idl files
// From Q834Common
typedef Q834Common::ManagedEntityIdType ManagedEntityIdType;
typedef Q834Common::ManagedEntityIdSeqType ManagedEntityIdSeqType;
typedef Q834Common::AdministrationDomainSeqType
AdministrationDomainSeqType;
typedef Q834Common::UserLabelType UserLabelType;
typedef Q834Common::UserIdType UserIdType;
typedef Q834Common::PasswordType PasswordType;
#define AccessDenied Q834Common::AccessDenied
// End definitions from other idl files
// Local data types
struct UserLoginPolicyType {
short minUserId; // Minimum length of userid
short minPassword; // Minimum length of password
short passwordReuse;
short loginAttempts;
long passwordValidity;
boolean alphanumeric;//?should password contain alphanumeric mixture
boolean specialCharacters;
//?should password contain special characters
boolean repeatingCharacters; //?should password contain repeating
boolean disallowUserId; //disallow username in password
};
struct SessionPolicyType {
short sessionInactiveTime;
short inactiveUserIdDisableTime;
short multipleActiveLogins;
};
struct PasswordPolicyType {
UserLoginPolicyType userLoginPolicy;
SessionPolicyType sessionPolicy;
};
typedef sequence<UserIdType> UserIdSeqType;
enum ActivityLevelType {
monitorOnly, // read
allowedToExecute, // write
noAccess
};
typedef short ActivityType;
struct TargetActivityType {
ActivityType type;
ActivityLevelType activityLevel;
AdministrationDomainSeqType AdministrationDomainSeq;
};
typedef sequence<TargetActivityType> TargetActivitySeqType;
enum UserLoginPolicyViolationReasonType {
minUserId,
minPassword,
passwordReuse,
loginAttempts,
passwordValidity,
alphanumeric,
specialCharacters,
repeatingCharacters,
disallowUserId
};
typedef sequence<UserLoginPolicyViolationReasonType> UserLoginPolicyViolationReasonSeqType;
typedef sequence<UserLabelType> UserGroupIdSeqType;
struct UserType {
UserIdType userId;
UserGroupIdSeqType userGroupIdSeq;
TargetActivitySeqType TargetActivitySeq;
};
struct UserGroupType {
UserLabelType userGroupId;
UserIdSeqType userIdSeq;
TargetActivitySeqType TargetActivitySeq;
};
typedef sequence<UserType> UserSeqType;
typedef sequence<UserGroupType> UserGroupSeqType;
// Local exceptions
exception UnknownUserIds {
UserIdSeqType userIdSeq;
};
exception DuplicateUserId {};
exception UnknownUserGroupId {};
exception DuplicateUserGroupId {};
exception UnknownTargets {
TargetActivitySeqType unknownTargetActivities;
};
exception UserGroupNotEmpty {};
exception UserLoginPolicyViolation {
UserLoginPolicyType userLoginPolicy;
UserLoginPolicyViolationReasonSeqType reason;
};
// End local definitions
valuetype AccessControlMgrValueType: itut_x780::ManagedObjectValueType {
public PasswordPolicyType passwordPolicy; // GET
public UserSeqType userList; // GET
public UserGroupSeqType userGroupList; // GET
};
interface AccessControlMgr : itut_x780::ManagedObject {
// define the activities
const short ALL_ACTIVITIES = 0;
const short ACCESS_CONTROL_MANAGEMENT = 1;
const short ALARM_EVENT_CONFIGURATION_MANAGEMENT = 2;
const short SCHEDULE_ACTIVITY = 3;
const short SOFTWARE_DOWNLOAD = 4;
const short TEST_CONTROL = 5;
const short SYNCHRONISE_CURRENT_EVENT_LIST = 6;
const short SYNCHRONISE_NE = 7;
const short RANGE_NE = 8;
const short REGISTER_SYSTEM = 9;
const short RESERVE_RESOURCES = 10;
const short PROFILE_MANAGEMENT = 11;
const short PROVISION_NE = 12;
const short PROVISION_TELEPHONY_SERVICE = 13;
const short PROVISION_PACKETISED_DATA_SERVICES = 14;
const short PROVISION_VIDEO_SERVICE = 15;
const short PROVISION_LEASED_LINE_SERVICE = 16;
const short BULK_TRANSFER = 17;
const short HISTORY_DATA_COLLECTION = 18;
const short CONTROL_ARCHIVING = 19;
const short CONTROL_PERFORMANCE_MONITORING = 20;
const short CONFIGURATION_BACKUP_RESTORE = 21;
// See 9.1.1.1 for the description of the behaviour of this operation
void setPasswordPolicy(
in PasswordPolicyType passwordPolicy )
raises ( AccessDenied);
// See 9.1.1.2 for the description of the behaviour of this operation
PasswordPolicyType passwordPolicyGet()
raises (AccessDenied);
// See 9.1.1.3 for the description of the behaviour of this operation
UserSeqType userListGet ()
raises (AccessDenied);
// See 9.1.1.4 for the description of the behaviour of this operation
UserGroupSeqType userGroupListGet ()
raises (AccessDenied);
// See 9.1.1.5 for the description of the behaviour of this operation
UserType userGet (
in UserIdType userId )
raises (AccessDenied,
UnknownUserIds);
// See 9.1.1.6 for the description of the behaviour of this operation
UserGroupType userGroupGet (
in UserLabelType userGroupId)
raises (AccessDenied,
UnknownUserGroupId);
// See 9.1.1.7 for the description of the behaviour of this operation
void createUserGroup (
in UserLabelType userGroupId,
in TargetActivitySeqType targetAdditions)
raises (DuplicateUserGroupId,
UnknownTargets,
AccessDenied);
// See 9.1.1.8 for the description of the behaviour of this operation
TargetActivitySeqType modifyUserGroup (
in UserLabelType userGroupId,
in TargetActivitySeqType targetAdditions,
in TargetActivitySeqType targetDeletions)
raises (UnknownUserGroupId,
UnknownTargets,
AccessDenied );
// See 9.1.1.9 for the description of the behaviour of this operation
void deleteUserGroup (
in UserLabelType userGroupId)
raises (AccessDenied,
UserGroupNotEmpty,
UnknownUserGroupId );
// See 9.1.1.10 for the description of the behaviour of this operation
void addUsersToGroup (
in UserLabelType userGroupId,
in UserIdSeqType userIdList )
raises (AccessDenied,
UnknownUserGroupId); // duplicate users are ignored
// See 9.1.1.11 for the description of the behaviour of this operation
void deleteUsersFromGroup (
in UserLabelType userGroupId,
in UserIdSeqType userIdList )
raises (AccessDenied,
UnknownUserGroupId,
UnknownUserIds);
// See 9.1.1.12 for the description of the behaviour of this operation
TargetActivitySeqType getPermissionList (
in UserIdType userId )
raises (UnknownUserIds,
AccessDenied) ;
// See 9.1.1.13 for the description of the behaviour of this operation
TargetActivitySeqType modifyPermissionList (
in UserIdType userId,
in TargetActivitySeqType targetAdditions,
in TargetActivitySeqType targetDeletions )
raises (UnknownUserIds,
UnknownTargets,
AccessDenied);
// See 9.1.1.14 for the description of the behaviour of this operation
void createUser (
in UserIdType userId,
in PasswordType password,
in TargetActivitySeqType targetAdditions )
raises (DuplicateUserId,
UnknownTargets,
AccessDenied,
UserLoginPolicyViolation);
// See 9.1.1.15 for the description of the behaviour of this operation
void deleteUser (
in UserIdType userId )
raises (UnknownUserIds,
AccessDenied);
// See 9.1.1.16 for the description of the behaviour of this operation
void resetPassword (
in UserIdType userId,
in PasswordType newPassword )
raises (UnknownUserIds,
UserLoginPolicyViolation,
AccessDenied);
}; // interface AccessControlMgr
}; // module AccessControl
}; // module q834_4
#endif