Security Model
Users are authenticated to Sundial via a registered and trusted authentication mechanism. Once authenticated by this trusted mechanism, Sundial attempts to locate the user amongst registered users of the Sundial application, associated security groups, and application privileges.
-
View event information published only to a given group to which they are a member
-
Modify areas of event information shared to a given groups
-
View financial transactions associated with a given FAS Account or Merchant Account to which FAS accounts have been associated
-
Publish an event to populations of users for which the security group has been given responsibility
-
Suggest that an event be published to populations for which they have been given the ability to suggest its population, but have not been given the ability to publish to directly.
Namespaces & Authentication Mechanisms
Users and security groups within Sundial are associated with specific namespace. Each trusted authentication mechanism used with Sundial has an asscoaited namespace. When a user authenticates via a given authentication mechanism, they are associated with the mechanism's namespace. Affiliations conferred via the authentication mechanism, if registered with Sundial, are also associted with the namespace.
For example, if the user abc123 were to authenticate to Sundial via Columbia University's WIND Authentication System, the user might be known to the calendar as CU.abc123. If WIND additionally identifies the user as being affiliated with the groups affil1, affil2, and affil3 and these groups are registered with Sundial, the user will be registered with the security groups CU.affil1, CU.affil2, and CU.affil3, respectively.
Users
When an administrator creates a user account within Sundial's security database, a user becomes "recognized" by the calendar. A user account is established by specifying the namespace (authentication mechanim) which will identify a user, the user's user name within the namespace, in addition to other identifying information such as name and email address.
Recognized users can be associated with one or more security groups by Calendar administrators.
Security Groups
There exist two types of security groups within Sundial:
-
Local: Local groups are Sundial-specific groupings of Sundial-recognized user accounts from across namespaces. Local groups are prefixed with the designation "local." (minus the quotes) as they exist within Sundial's local namespace.
-
Trusted: Trusted groups are external groups/affilliations registered within Sundial. By virtue of their establishment and association with a given authentication mechanism/namespace within Sundial, such security groups may be used in the specification of permissions/privileges throughout Sundial. However, until the point of being presented an authenticated user's affiliations via a trusted authentication mechanism, Sundial has no knowledge of what users have a given affilation. A user need not be a recognized user of Sundial in order to be a member of a trusted group. Manangement of affiliations is performed outside of Sundial.
Two special local security groups exist within the Sundial:
-
local.Administrators
Administrators are responsible for establishing local user accounts within the calendar application, managing group membership, assigning privileges to groups, and configuration/management of the overall application.
-
local.Public/Everyone
All users whether authenticated to Sundial are members of this default security group.
Populations
Events within Sundial are published to populations. Populations may be thought of us target audiences. There exist two types of populations within Sundial:
-
Abstract
Abstract populations are those that have a defined user base, but not a registered set of security groups associated with them.
For example, an abstract population might be "All those who view the Columbia College Home Page". No users or groups are assoicated with this defined target audience. An abstract population filters event information returned via the event retrieval interface by virtue of the population's association with events. In order for an event to be visible to an abstract population, it must have been approved for publication to the population.
-
Secure
Secure populations are those that have a registered set of security groups associated with them. In order for an event to be visible or published to such a population, the event must be approved for publication and the user must be a member of at least one security group that defines membership for the population.
Permissions
Administrative Permission
Sundial users who are members of local.Administrators have conferred upon them administrative privileges throughout Sundial. Administrators are responsible for the overall management of Sundial through the functions of the Administrative interface. Additionally, in carrying out their management role, administrators are able to access and modify all events and functions throughout Sundial.
Application Permissions
Application permissions are permissions that span multiple events. Application permissions are conferred by granting a security group the ability to use a function or data element within Sundial. Applications permissions can be conferred upon security groups to do the following:
-
Associate an event type with a given event
-
Associate a sponsor with a given event
-
Use the E-Commerce Reporting function with a merchant account and all reconciliation accounts mapping to this merchant account
-
Use the E-Commerce Reporting function with a given reconciliation account
-
Suggest an event for publication to a given population
-
Directly publish or approve an event for publication to a given population
All such application permissions are granted to security groups within the Administration area of Sundial.
Publication Workflow Permissions
Each population within Sundial has security groups associated with defined roles.
-
Suggest
Security groups with the suggest privilege for a given population are able to do the following:-
View a population within the list of populations available within the Edit Event > Publishing area of the event editting interface.
-
Suggest that an event be published to the population by selecting the population within the Edit Event > Publishing area of the event editting interface..
When an event is suggested for publication it is marked as pending publication to a given population and becomes visible to security groups with the Approve permission for a given population.
-
-
Approve
Security groups with the approve permission have responsibility for that which is published for a given population. Specifically, such security groups are able to do the following:- View a population within the list of populations available within the Edit Event > Publishing area of the event editting interface
- Publish an event to the population for which they have event approval by selection of the population within the Edit Event > Publishing area of the event editting interface
- Approve an event that has been suggested for publiction to a population through the Publishing utilty.
Event Permissions
By default, any user recognized by Sundial who authors an event is the event's owner and this user has full permission to modify and manage the event.
Permissions may be additionally assigned to security groups within the Edit Event > Permissions area of the event editting interface for purposes of group collaboration or knowledge sharing. The following permissions may be assigned to security groups:
-
View Event
The most basic permission, the View Event permission specifies whether a security group may view an event not published to a population of which they are a member.
-
Public Attendee
This permission specifies whether a security group may view the list of registratns that have elected to have themselves published on the list of attendees.
-
Public Attendee
This permission specifies whether a security group may view select information of registrants who have elected to have themselves published on the list of attendees.
-
View Registrants
This permission specifies whether a security group may view the full registrant list and all registrant information within the Manage Registrants area of the event editting interface.
-
Modify Registrants
This permission specifies whether a security group may modify registrant information and perform management function (e.g. cancelling registrations, refunding registrants, etc) across all registrants within the Manage Registrants area of the event editting interface.
-
Email Registrants
This permission specifies whether a security group may use Sundial's registrant email functions (e.g. email registrants on demand or establish an auto-reminder email) to communicate with an event's registrants.
-
Email Registrants
This permission specifies whether a security group may export registrant information from Sundial's registrant management interface.
-
View Event
This permissions specifies whether a security group may modify event information.
-
Event Owner
This permission confers all permissions described above to a security group in addition to confering the ability to delete the event or modify security group permissions for the event.
All modifications to events are logged within the Edit Event > Log area of the event editting interface.
Template Permissions
Within the System Templates area of the Templates utility, it is possible to grant the following permissions on a per-template basis to Sundial security groups:
-
Use
The Use permission allows members of a security group to select the template for use within the event editting interface.
-
Modify
The Modify permission allows members of a security group to modify a stored template.
-
Owner
The Owner permission confers all permissions described above in addition to confering the ability to delete the system template or modify security groups and their permissions a for the system template.
All modifications to brands are logged within the System Templates > Log area of the Templates utility.
Brand Permissions
Within the Bradings area of the Templates utility, it is possible to grant the following permissions on a per-branding basis to Sundial security groups:
-
Use
The Use permission allows members of a security group to select the brand for use within the event editting interface.
-
Modify
The Modify permission allows members of a security group to modify a stored brand, its association with system templates, and its brand-specific templates.
-
Owner
The Owner permission confers all permissions described above in addition to confering the ability to delete the branding or modify security groups and their permissions for the branding.
All modifications to brands are logged within the Branding > Log area of the Templates utility.
