数据库||数据库的安全性

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 数据库||数据库的安全性

1.实验题目:数据库的安全性

2.实验目的和要求:

  1. 掌握SQL Server 2008的安全控制机制
  2. 掌握SQL Server2008的身份验证模式
  3. 理解数据库用户帐户的基本概念
  4. 理解角色的概念

3.实验步骤:

  1. 按实验内容要求完成各项操作
  2. 根据题目要求给出解决方案
  3. 提交实验报告

4.实验内容:

--表的建立
Create table Student
(Sno char(9) PRIMARY KEY,
 Sname char(20) UNIQUE,
 Sex char(2),
 Age SMALLINT,
 Dept char(20)
 );
 
 Create table Course
(Cno char(4) PRIMARY KEY,
  Cname char(40) NOT NULL,
  Cpno char(4),
  Ccredit SMALLINT,
  FOREIGN KEY(Cpno) REFERENCES Course(Cno)
  );
 
  Create table SC
 (Sno char(9),
  Cno char(4),
  Grade SMALLINT,
  PRIMARY KEY(Sno,Cno),
  FOREIGN KEY (Sno)REFERENCES Student(Sno),
  FOREIGN KEY (Cno)REFERENCES Course(Cno)
  );
--表中插入数据
  Insert 
  Into Student
  Values('42101','赵君君','男',18,'CS'),
        ('42102','赵小花','女',17,'MA'),
    ('42103','赵小明','男',17,'MA'),
    ('42104','赵宇宇','男',18,'CS'),
    ('42105','赵兰兰','女',17,'IS'),
    ('42106','钱小君','男',18,'CS'),
        ('42107','钱大花','女',17,'MA'),
    ('42108','钱君','男',18,'CS'),
        ('42109','钱花','女',17,'MA'),
    ('42110','钱明','男',17,'MA'),
    ('42111','孙宇','男',18,'CS'),
    ('42112','孙兰','女',17,'IS'),
    ('42113','江君','男',18,'CS'),
        ('42114','刘花','女',17,'MA');
 
  Insert 
  Into Course
  Values('1','CS','2',4),
        ('2','MA',null,2),
    ('3','IS','1',7);
 
  Insert 
  Into SC
  Values('42101','1',35),
        ('42102','2',99),
    ('42103','2',45),
    ('42104','1',95),
    ('42105','3',78),
    ('42106','1',75),
        ('42107','2',99),
    ('42108','1',43),
    ('42109','2',95),
    ('42110','2',73),
    ('42111','1',35),
        ('42112','3',59),
    ('42113','1',35),
    ('42114','2',96);
    
    Select * from Student;
  Select * from Course;
  Select * from SC;
 

1.定义登录log1,log2,log3


Create login log1


with password  = '12345678' ;


Create login log2


with password = '12345678' ;


Create login log3


with password = '12345678' ;


2.定义用户user1,user2,user3

Create user log1;

Create user log2;

Create user log3;

3.掌握SQL SERVER 2008架构和用户分离的概念

4.数据库的授权、授权语句

4.1.将查询SC表和修改GRADE属性的权限授予用户user1。

Grant select , update (GRADE)

ON SC

to log1;

4.2.将对表S的插入权限授予用户user2,并允许他将此权限授予其他用户。

Grant insert

ON Student

to log2;

4.3.允许用户user3拥有对cs系学生的查询权限

Grant select(Dept = 'CS')

ON Student

to log3;

4.4.创建角色R1,授予R1 课程表查询和插入的权限,并授予用户user3

Create role R1

Grant select , insert

ON Course

to R1;

Grant R1

to log3;

4.5.删除角色R1课程表的插入权限

Revoke insert

   ON Course

from R1

4.6.收回所有用户对表S的插入权限。

Revoke insert

     ON Student

from log1, log2, log3


5.实验总结

本次实验要掌握SQL Server 2008的安全控制机制,练习SQL Server2008的身份验证模式,理解数据库用户帐户的基本概念和角色的概念。主要反复使用grant 和revok语句。

6.思考题

1.请分析with grant option、with check option、with admin option有何联系和区别


答:如果指定了with grant option子句,则获得某种权限的用户还可以把这种权限在授予其他的用户。如果没有指定,则获得某种权限的用户只能使用该权限,不能传播该权限。


如果指定了with admin option子句,则获得这种权限的角色或用户还可以把这种权限在授予其他的角色。


with check option表示对视图进行update,insert,delete操作时要保证更新,插入或删除的行满足视图定义中的谓词条件。


2.根据实验内容分析角色在权限分配上有何优点。


答:一个角色包含的权限包括直接授予这个角色的全部权限加上其他角色授予这个角色的全部权限。


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
6月前
|
SQL 安全 算法
【SQL server】玩转SQL server数据库:第四章 数据库安全性
【SQL server】玩转SQL server数据库:第四章 数据库安全性
186 12
|
6月前
|
关系型数据库 MySQL 数据库
深入MySQL数据库进阶实战:性能优化、高可用性与安全性
深入MySQL数据库进阶实战:性能优化、高可用性与安全性
614 0
|
6月前
|
存储 关系型数据库 MySQL
项目8总结:数据库的安全性维护
项目8总结:数据库的安全性维护
78 0
|
27天前
|
存储 数据库 数据库管理
数据库事务安全性控制如何实现呢
【10月更文挑战第15天】数据库事务安全性控制如何实现呢
|
27天前
|
存储 数据库 数据库管理
什么是数据库事务安全性控制
【10月更文挑战第15天】什么是数据库事务安全性控制
|
27天前
|
供应链 数据库
数据库事务安全性控制有什么应用场景吗
【10月更文挑战第15天】数据库事务安全性控制有什么应用场景吗
ly~
|
1月前
|
存储 监控 安全
如何评估云数据库的安全性?
评估云数据库安全性需关注基础架构与物理安全、网络基础设施、电力与冷却系统;访问控制与身份验证,包括多因素身份验证、基于角色的访问控制、身份验证强度;数据加密,涉及传输加密、存储加密、密钥管理;备份与恢复,涵盖备份策略、恢复测试、异地备份;安全审计与监控,如审计日志、实时监控、漏洞扫描与渗透测试;合规性,包括法规遵循、认证与合规证明;以及云服务提供商的信誉与技术支持。
ly~
59 4
ly~
|
1月前
|
存储 安全 网络安全
云数据库的安全性如何保障?
云数据库的安全性可通过多种方式保障,包括多因素身份验证、基于角色的访问控制及最小权限原则,确保仅有授权用户能访问所需数据;采用SSL/TLS加密传输和存储数据,加强密钥管理,防止数据泄露;定期备份数据并进行异地存储与恢复演练,确保数据完整性;通过审计日志、实时监控及安全分析,及时发现并应对潜在威胁;利用防火墙、入侵检测系统和VPN保护网络安全;选择信誉良好的云服务提供商,确保数据隔离及定期安全更新。
ly~
120 1
|
1月前
|
存储 关系型数据库 MySQL
四种数据库对比MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
四种数据库对比 MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景
|
3月前
|
SQL 数据管理 关系型数据库
SQL与云计算:利用云数据库服务实现高效数据管理——探索云端SQL应用、性能优化、安全性与成本效益,为企业数字化转型提供全方位支持
【8月更文挑战第31天】在数字化转型中,企业对高效数据管理的需求日益增长。传统本地数据库存在局限,而云数据库服务凭借自动扩展、高可用性和按需付费等优势,成为现代数据管理的新选择。本文探讨如何利用SQL和云数据库服务(如Amazon RDS、Google Cloud SQL和Azure SQL Database)实现高效的数据管理。通过示例和最佳实践,展示SQL在云端的应用、性能优化、安全性及成本效益,助力企业提升竞争力。
65 0