0% found this document useful (0 votes)
232 views

Database Security and Auditing: Chapter 5

This document discusses database application security models. It describes different types of users and five security models: access matrix, access modes, database roles, application roles, application functions, roles and functions, and application tables. It also covers common application types like client/server, web applications, and data warehouses. The models assign privileges to users based on their roles, functions, or access to specific tables within the application. Data encryption is also discussed.

Uploaded by

Kilbz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
232 views

Database Security and Auditing: Chapter 5

This document discusses database application security models. It describes different types of users and five security models: access matrix, access modes, database roles, application roles, application functions, roles and functions, and application tables. It also covers common application types like client/server, web applications, and data warehouses. The models assign privileges to users based on their roles, functions, or access to specific tables within the application. Data encryption is also discussed.

Uploaded by

Kilbz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 45

Database Security and

Auditing: Protecting Data


Integrity and Accessibility
Chapter 5
Database Application Security
Models

Objectives
Describe the different types of users in a
database environment and the distinct purpose
of each
Identify and explain the concepts of five
security models
List the most commonly used application types

Database Security & Auditing: Protecting Data Integrity & A 2

Objectives (continued)
Implement the most common application
security models
Understand the use of data encryption within
database applications

Database Security & Auditing: Protecting Data Integrity & A 3

Types of Users
Application:
Solves a problem
Performs a specific business function

Database: collection of related data files used


by an application
Application user: user within the application
schema

Database Security & Auditing: Protecting Data Integrity & A 4

Types of Users (continued)


Types:

Application administrator
Application owner
Application user
Database administrator
Database user
Proxy user
Schema owner
Virtual user

Database Security & Auditing: Protecting Data Integrity & A 5

Security Models
Access Matrix Model:
Represents two main entities: objects and
subjects:
Columns represent objects
Rows represent subjects

Objects: tables, views, procedures, database


objects
Subjects: users, roles, privileges, modules
Authorization cell
Database Security & Auditing: Protecting Data Integrity & A 6

Security Models (continued)

Database Security & Auditing: Protecting Data Integrity & A 7

Security Models (continued)


Access Modes Model:
Based on the Take-Grant model
Uses objects and subjects
Specifies access modes: static and dynamic
modes
Access levels: a subject has access to objects at
its level and all levels below it

Database Security & Auditing: Protecting Data Integrity & A 8

Security Models (continued)

Database Security & Auditing: Protecting Data Integrity & A 9

Security Models (continued)

Database Security & Auditing: Protecting Data Integrity & A10

Application Types
Client/Server applications:
Management Information System (MIS)
department:
Thirty year ago centralized information
Developed mainframe projects
Was a bottleneck

Personal computer was introduced: developing


need for client/server applications
Based on the business model
Database Security & Auditing: Protecting Data Integrity & A11

Client/Server Applications

Database Security & Auditing: Protecting Data Integrity & A12

Client/Server Applications (continued)


Provides a flexible and scalable structure
Components:
User interface
Business logic
Data access

Components usually spread out over several


tiers:
Minimum two
Normally, four to five
Database Security & Auditing: Protecting Data Integrity & A13

Client/Server Applications (continued)

Database Security & Auditing: Protecting Data Integrity & A14

Client/Server Applications (continued)

Database Security & Auditing: Protecting Data Integrity & A15

Web Applications
Evolved with the rise of dot-com and Webbased companies
Uses the Web to connect and communicate to
the server
A Web application uses HTML pages created
using:
ActiveX
Java applets or beans
ASP (Active Server Pages)
Database Security & Auditing: Protecting Data Integrity & A16

Web Applications (continued)

Database Security & Auditing: Protecting Data Integrity & A17

Web Applications (continued)


Components:

Web browser layer


Web server layer
Application server layer
Business logic layer
Database server layer

Database Security & Auditing: Protecting Data Integrity & A18

Web Applications (continued)

Database Security & Auditing: Protecting Data Integrity & A19

Data Warehouse Applications


Used in decision-support applications
Collection of many types of data taken from a
number of different databases
Typically composed of a database server
Accessed by software applications or reporting
applications: online analytical processing
(OLAP)

Database Security & Auditing: Protecting Data Integrity & A20

Data Warehouse Applications


(continued)

Database Security & Auditing: Protecting Data Integrity & A21

Application Security Models


Models:

Database role based


Application role based
Application function based
Application role and function based
Application table based

Database Security & Auditing: Protecting Data Integrity & A22

Security Model Based on Database


Roles
Application authenticates application users:
maintain all users in a table
Each user is assigned a role; roles have
privileges assigned to them
A proxy user is needed to activate assigned
roles; all roles are assigned to the proxy user
Model and privileges are database dependent

Database Security & Auditing: Protecting Data Integrity & A23

Security Model Based on Database


Roles (continued)

Database Security & Auditing: Protecting Data Integrity & A24

Security Model Based on Database


Roles (continued)
Implementation in Oracle:

Create users
Add content to your tables
Add a row for an application user
Look for application users role
Activate the role for this specific session

Database Security & Auditing: Protecting Data Integrity & A25

Security Model Based on Database


Roles (continued)
Implementation in SQL Server:
Use application roles:
Special roles you that are activated at the time of
authorization
Require a password and cannot contain members

Connect a user to the application role: overrules


users privileges

Database Security & Auditing: Protecting Data Integrity & A26

Security Model Based on Database


Roles (continued)
Implementation in SQL Server (continued):
Create and drop application roles using the
command line and the Enterprise Manager:
SP_ADDAPPROLE
SP_DROPAPPROLE

You can activate application roles using


SP_SETAPPROLE

Database Security & Auditing: Protecting Data Integrity & A27

Security Model Based on Database


Roles (continued)
Implementation in SQL Server (continued):

Connect to database as the proxy user


Validate the user name and password
Retrieve the application role name
Activate the application role

Database Security & Auditing: Protecting Data Integrity & A28

Security Model Based on Database


Roles (continued)

Database Security & Auditing: Protecting Data Integrity & A29

Security Model Based on Application


Roles
Application roles are mapped to real business
roles
Application authenticates users
Each user is assigned to an application role;
application roles are provided with application
privileges (read and write)

Database Security & Auditing: Protecting Data Integrity & A30

Security Model Based on Application


Roles (continued)

Database Security & Auditing: Protecting Data Integrity & A31

Security Model Based on Application


Roles (continued)
Implementation in SQL Server
Create a database user
Connect the application to the database using
this user
Create stored procedures to perform all
database operations

Database Security & Auditing: Protecting Data Integrity & A32

Security Model Based on Application


Functions
Application authenticates users
Application is divided into functions
Considerations:

Isolates application security from database


Passwords must be securely encrypted
Must use a real database user
Granular privileges require more effort during
implementation

Database Security & Auditing: Protecting Data Integrity & A33

Security Model Based on Application


Functions (continued)

Database Security & Auditing: Protecting Data Integrity & A34

Security Model Based on Application


Roles and Functions
Combination of models
Application authenticates users
Application is divided into functions:
Roles are assigned to functions
Functions are assigned to users

Highly flexible model

Database Security & Auditing: Protecting Data Integrity & A35

Security Model Based on Application


Roles and Functions (continued)

Database Security & Auditing: Protecting Data Integrity & A36

Security Model Based on Application


Tables
Depends on the application to authenticate
users
Application provides privileges to the user
based on tables; not on a role or a function
User is assigned access privilege to each table
owned by the application owner

Database Security & Auditing: Protecting Data Integrity & A37

Security Model Based on Application


Tables (continued)

Database Security & Auditing: Protecting Data Integrity & A38

Security Model Based on Application


Tables (continued)
Implementation in SQL Server:
Grant authorization on application functions to
the end user
Alter authorization table from the security model
based on database roles; incorporate the table
and access columns required to support model

Database Security & Auditing: Protecting Data Integrity & A39

Application Security Models

Database Security & Auditing: Protecting Data Integrity & A40

Application Security Models


(continued)

Database Security & Auditing: Protecting Data Integrity & A41

Data Encryption
Passwords should be kept confidential and
preferably encrypted
Passwords should be compared encrypted:
Never decrypt the data
Hash the passwords and compare the hashes

Database Security & Auditing: Protecting Data Integrity & A42

Data Encryption (continued)

Database Security & Auditing: Protecting Data Integrity & A43

Summary
An application user is simply a record created
for a user within the application schema; usually
does not have database privileges or roles
assigned
Access matrix:
Columns represent objects
Rows represent subjects
Authorization cell

Access mode
Database Security & Auditing: Protecting Data Integrity & A44

Summary (continued)
Application types: client/server, Web, and Data
Warehouse
Application security models

Database roles
Application roles
Application functions
Roles and functions in the application
Application tables

Database Security & Auditing: Protecting Data Integrity & A45

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy