5. Database Security and Authorization
5. Database Security and Authorization
Authorization
Kuribachew Gizaw(PhD)
Dec2023
Types of Database Security
Database security is a broad area that addresses many issues, including the following:
Various legal and ethical issues regarding the right to access certain information—
for example, some information may be deemed to be private and cannot be accessed
legally by unauthorized organizations or persons
Policy issues at the governmental, institutional, or corporate level as to what
kinds of information should not be made publicly available—for example, credit ratings
and personal medical records.
System-related issues such as the system levels at which various security functions
should be enforced—for example, whether a security function should be handled at
the physical hardware level, the operating system level, or the DBMS level.
The need in some organizations to identify multiple security levels and to
categorize the data and users based on these classifications—for example, top
secret, secret, confidential, and unclassified. The security policy of the organization
with respect to permitting access to various classifications of data must be enforced.
Threats to Databases.
Threats to databases can result in the loss or degradation of some or all of the
following commonly accepted CIA traids: integrity, availability, and confidentiality.
Loss of integrity: Database integrity refers to the requirement that
information be protected from improper modification. Modification of data
includes creation, insertion, updating, changing the status of data, and
deletion.
Loss of availability: Database availability refers to making objects available
to a human user or a program to which they have a legitimate right.
Loss of confidentiality: Database confidentiality refers to the protection of
data from unauthorized disclosure. Unauthorized, unanticipated, or
unintentional disclosure could result in loss of public confidence,
embarrassment, or legal action against the organization.
Control Measures
Four main control measures are used to provide security of data in
databases:
■ Access control
■ Inference control
■ Flow control
■ Data encryption
Database Security and the DBA: The DBA is with the superuser
account, which provides powerful capabilities that are not made available
to regular database accounts and users. DBA-privileged commands include
commands for granting and revoking other privileges
DBA Activities
1. Account creation: This action creates a new account and password for a
user or a group of users to enable access to the DBMS.
2.Privilege granting: This action permits the DBA to grant certain
privileges to certain accounts.
3. Privilege revocation: This action permits the DBA to revoke (cancel)
certain privileges that were previously given to certain accounts.
4. Security level assignment This action consists of assigning user
accounts to the appropriate security clearance level.
How to create account access
privilege and revoke in SQL
Creating a user account
CREATE USER User_Name
IDENTIFIED BY Pass_Word
Granting a privilege
SELECT(retrieval or read) privilege on R. Gives the
account retrieval privilege.
InSQL this gives the account the privilege to use
theSELECT statement to retrieve tuples from R.
GRANT SELECT ON Table_Name TO User_Name
How to create account access
privilege and revoke in SQL ….
Modification privileges on R. This gives the account the capability to
modify the tuples of R.
In SQL this includes three privileges: UPDATE, DELETE, and INSERT.
These correspond to the three SQL commands.
GRANT INSERT ON Table_Name TO User_Name
GRANT UPDATE ON Table_Name TO User_Name
GRANT DELETE ON Table_Name TO User_Name
References privilege on R. This gives the account the capability to
reference (or refer to) a relation R when specifying integrity
constraints. This privilege can also be restricted to specific attributes
of R.
How to create account access
privilege and revoke in SQL ….
Revoking of Privileges
REVOKESELECT ON Table_Name From
User_Name
REVOKEINSERT ON Table_Name From
User_Name
REVOKEUPDATE ON Table_Name From
User_Name
REVOKEDELETE ON Table_Name From
User_Name
Object-oriented
Database
Reading Assignment
Answer the following questions through reading your text from page 353-
413
Discuss some of the features of OODB/OOPL like:-
Object
Class
Encapsulation
Inheritance
Polymorphism
Discuss the Similarity and difference of the Primary-key of RDBMs and OID
of OODB
Use the Create type command to create the same Employee table which
you have created in RDBMS
CREATE TYPE TYPE_NAME AS (<component declarations>);
Distributed
Database
Introduction