2
$\begingroup$

Suppose I have to design database for learning management system. Which will going to have user having roles such as admin, teacher, tutor, student etc. In a system student can submit solution for an assignment in a course and teacher or tutor can provide the grade for it.

Now while implementing is it good idea to not allow admin of a database to not to change the grade of students for an assignment? I got this suggestion that as admin is superuser (user with all capabilities) he should be able to change the grade. So what should I do? and why?

$\endgroup$

2 Answers 2

2
$\begingroup$

Generally, you cannot prevent administrators from making any change they want to the database. Many administrator actions require privileges that give them a lot of control over the database. For instance, if they can restore from backups (something that administrators often need to do), they can overwrite everything in the database.

Designing systems that will remain secure even when the system administrator is not trusted is very challenging, and for a learning management system, is probably more expensive than is worth it.

Therefore, there's probably no point in trying to restrict admin. Don't forbid what you can't prevent.

$\endgroup$
2
  • $\begingroup$ so you are saying I should not restrict admin. Right? $\endgroup$
    – AnSh
    Apr 22, 2016 at 16:03
  • $\begingroup$ @LovelyGuyAnSh, right. See last sentence in edited answer. $\endgroup$
    – D.W.
    Apr 22, 2016 at 16:03
2
$\begingroup$

Audit trails can provide a mean to accomplish that kind of security-related objective (individual accountability / reconstruction of event).

Users (not only administrator) are less likely to attempt to circumvent security policy if they know that their actions will be recorded in an audit log.

There are several aspects you should consider:

  • native database audit capabilities do not provide sufficient controls. Native audit trails must be extracted on a regular basis and transferred to a (secure) system where the database administrators do not have access;
  • it can be expensive, in terms of both performance and storage (an audit trail may record "before" and "after" versions of records);
  • periodical reviews must be carried out (probably with the help of some tools for audit trail analysis).
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.