「データベースシステム入門」[最初の基本記事] [第4章データベースセキュリティ]を確認する

この記事の内容は、中国人民大学のWangShan教授とSaShixuan教授による自習コース「IntroductiontoDatabase System」のレビューノートです。学習ビデオは、ビデオP28-に対応するXiaopo Station(ポータルからのものです。教科書「[第1章の基本]」「[第4章データベースのセキュリティ]」に属するP31。


ここに写真の説明を挿入


P28データベースセキュリティの概要

28.1データベースの安全でない要因

  • 許可されていないユーザーによるデータベースへの悪意のあるアクセスと破壊(違法なユーザーが正当なユーザーになりすます)
  • 秋が落ち着いた後、データベース内の重要なデータまたは機密データが漏洩する(違法なユーザーによって直接破壊される)
    -監査
  • セキュリティ環境の脆弱性(背景はコンピュータシステムのセキュリティです)

28.2安全基準

ここに写真の説明を挿入

  • TCSEC標準
    ここに写真の説明を挿入
  • CC規格
    ここに写真の説明を挿入

P29データベースのセキュリティ管理1

29.1ユーザーID認証

  • 外側の安全保護対策
  • 方法:
    ①静的パスワード認証(攻撃されやすい)
    ②動的パスワード認証(一度に1つのパスワード)
    ③スマートカード認証
    ④生体認証
    ここに写真の説明を挿入

29.2アクセス制御

  • ユーザー権限を定義する
  • 法的権限チェック
    ここに写真の説明を挿入

29.3自律アクセス制御

  • ユーザーは、さまざまなデータオブジェクトへのさまざまなアクセス権を持っています
  • 異なるユーザーは、同じオブジェクトに対して異なる権限を持っています
  • ユーザーは制限をサブライセンスできます
    ここに写真の説明を挿入

29.4承認:付与と取り消し

  • GRANTに許可を付与します(サイクル許可は許可されていません)
GRANT <权限> [,<权限>]……
ON <对象类型> <对象名> [,<对象类型> <对象名>]……
TO <用户> [,<用户>]……
[WITH GRANT OPTION];
// 【一种权限授予一个用户】把查询Student表权限授给用户U1

GRANT SELECT
ON TABLE Student
TO U1;


// 【多种权限授予多个用户】把对Student表和Course表的全部权限授给用户U2和U3

GRANT ALL PRIVILEGES
ON TABLE Student, Course
TO U2, U3;


// 【授予所有用户】把对SC表的查询权限授给所有用户

GRANT SELECT
ON TABLE SC
TO PUBLIC;


// 【对基本表和属性列不同对象的授权】把查询Student表和修改学生学号的权限授给用户U4

GRANT UPDATE(Sno), SELECT
ON TABLE Student
TO U4;


// 【授权】把对表SC的INSERT权限授给用户U5,并允许其再将此权限授予其他用户

GRANT INSERT	// 授给用户U5,并允许其再将此权限授予其他用户
ON TABLE SC
TO U5
WITH GRANT OPTION;

GRANT INSERT	// 授给用户U6,并允许其再将此权限授予其他用户
ON TABLE SC
TO U6
WITH GRANT OPTION;

GRANT INSERT	// 授给用户U7,不允许再授予其他用户
ON TABLE SC
TO U7;

ここに写真の説明を挿入

  • 権限の取り消し(REVOKE)
REVOKE <权限> [,<权限>]……
ON <对象类型> <对象名> [,<对象类型> <对象名>]……
FROM <用户> [,<用户>]……[CASCADE | RESTRICT];
// 把用户U4修改学生学号的权限收回

REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;


// 收回所有用户对表SC的查询权限

REVOKE SELECT
ON TABLE SC
FROM PUBLIC;


// 把用户U5对SC表的INSERT权限收回

REVOKE INSERT
ON TABLE SC
FROM U5 CASCADE;	// 级联收回U6和U7从U5这里获得的INSERT权限

ここに写真の説明を挿入


P30データベースのセキュリティ管理2

30.1データベースの役割

  • ロールは権限のコレクションです。データベースロールは、データベース操作に関連する名前付きの権限セットです。ステートメントの重複を避ける
    ここに写真の説明を挿入
  • 役割の作成
CREATE ROLE <角色名>
  • 役割を承認する
GRANT <权限> [,<权限>]……
ON <对象类型>对象名
TO <角色>[,<角色>]……
  • 1つの役割を他の役割またはユーザーに承認する
GRANT <角色1> [,<角色2>]……
TO <角色3>[,<用户1>]……
[WITH ADMIN OPTION]
  • 役割のアクセス許可の取り消し
REVOKE <权限> [,<权限>]……
ON <对象类型>对象名
FROM <角色>[,<角色>]……
// (1)创建角色R1
CREATE ROLE R1;

// (2)给角色R1授权拥有Student表的SELECT、UPDATE、INSERT权限
GRANT SELECT, UPDATE, INSERT
ON TABLE Student
TO R1;

// (3)将角色R1授予三个用户:王平,张明,赵玲
GRANT R1
TO 王平, 张明, 赵玲;

// (4)一次性地通过R1来收回王平的这三个权限
REVOKE R1
FROM 王平

30.2強制アクセス制御方法

  • Autonomous Access Control(MAC)は、承認メカニズムを介して機密データへのアクセスを効果的に制御できますが、「意図しない開示」が発生します。
  • 必須のストレージ制御

P31表示、監査、データ暗号化およびその他のセキュリティ保護

31.1表示メカニズム

  • ビューメカニズムは、これへのアクセスをサポートするユーザー権限定義を間接的に吸収します。
// 建立计算机系学生的视图

CREATE VIEW CS_Student
AS
SELECT *
FROM  Student
WHERE Sdept='CS';

// 授予王平老师查询权限

GRANT SELECT
ON CS_Student
TO 王平;

// 授予张明系主任查询以及增删改权限

GRANT ALL PRIVILEGES
ON CS_Student
TO 张明;

31.2監査メカニズム

  • 専用の監査ログを有効にします(秋以降:行われたすべてが記録されています)
  • ただし、監査には時間とスペースがかかるため、実際の状況に応じて実施する必要があります。
// 对修改SC表结构或修改SC表数据的操作进行审计

AUDIT ALTER, UPDATE
ON SC;


// 取消对SC表的一切审计

NOAUDIT ALTERUPDATE
ON SC;

31.3データの暗号化

  • ストレージおよびトランスポート内のデータベース内のデータが侵害されるのを防ぐ
  • ストレージの暗号化
    ①透過的なストレージの暗号化
    ②不透明なストレージの暗号化
  • 送信暗号化
    ①リンク暗号化(ヘッダー+メッセージ暗号化)
    ②エンドツーエンド暗号化(メッセージのみ暗号化、ヘッダー暗号化なし)
    ここに写真の説明を挿入

31.4その他のセキュリティ保護

  • 推論制御
  • 秘密チャネル

ノート:

  • 関係Rでタプルを一意に識別できるのは、そのタプル(メインコード、候補コード、フルコード)です。
  • 関係モデルは静的で安定していますが、関係は動的で時間とともに変化します。
  • リレーショナルデータモデルの基本的なデータ構造は(relation)です。

おすすめ

転載: blog.csdn.net/weixin_44421798/article/details/112599524