Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ИБ Сапрыкина для УМКД.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
920.76 Кб
Скачать

Лекция 6. Ms sql Server 2008

Аутентификация – Проверка подлинности предоставляемого пользователем идентификатора и предоставление доступа к запрашиваемому ресурсу.

Идентификация – Присвоение объектам идентификаторов и последующее сравнение идентификатора с перечнем присвоенных идентификаторов (штрих-код на продуктах, RFID-датчики, инвентарный номер)

Авторизация - Процесс проверки прав пользователей на выполнение некоторых действий.

2 вида аутентификации: Windows и Смешанная

SQL аутентификация:

- доп. пароль

- Kerberos не используется

+ смешанные ОС

+ поддержка приложений расположенных в неизвестных доменных пространствах.

+ позволяет распространять приложения со сложной иерархией прав

Авторизация. Принцип наименьших привилегий.

DDL –Data Definition Language

CREATE DATABASE database_name

    [ ON

        { [ PRIMARY ] [ <filespec> [ ,...n ]

        [ , <filegroup> [ ,...n ] ]

    [ LOG ON { <filespec> [ ,...n ] } ] }

    ]

]

<filespec> ::=

{

(

    NAME =logical_file_name,

    FILENAME = { 'os_file_name' | 'filestream_path' }

        [ , SIZE =size [ KB | MB | GB | TB ] ]

        [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]

        [ , FILEGROWTH =growth_increment [ KB | MB | GB | TB | % ] ]

) [ ,...n ]

}

<filegroup> ::=

{

FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]

    <filespec> [ ,...n ]

}

Пример:

CREATE DATABASE Archive

ON

(NAME = Arch1,

FILENAME = 'D:\SalesData\archdat1.mdf',

SIZE = 100MB,

MAXSIZE = 200,

FILEGROWTH = 20),

LOG ON

(NAME = Archlog1,

FILENAME = 'D:\SalesData\archlog1.ldf',

SIZE = 100MB,

MAXSIZE = 200,

FILEGROWTH = 20);

GO

CREATE TABLE

    [ database_name . [ schema_name ] . | schema_name . ] table_name

    ( { <column_definition> | [ <table_constraint> ] [ ,...n ] ) }

<column_definition> ::=column_name <data_type>

[ NULL | NOT NULL ]

    [

[ CONSTRAINT constraint_name ] [ DEFAULT constant_expression ]

| [ IDENTITY [ ( seed ,increment ) ]

]

    

< table_constraint > ::=

[ CONSTRAINT constraint_name ]

{

{ PRIMARY KEY | UNIQUE }

        [ CLUSTERED | NONCLUSTERED ]

        [

WITH FILLFACTOR = fillfactor

        ]

    | FOREIGN KEY

        ( column [ ,...n ] )

        REFERENCES referenced_table_name [ (ref_column [ ,...n ] ) ]

        [ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]

        [ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]

    | CHECK [ NOT FOR REPLICATION ] (logical_expression )

}

Пример:

CREATE TABLE dbo.PurchaseOrderDetail

(

PurchaseOrderID int NOT NULL

REFERENCES Purchasing.PurchaseOrderHeader(PurchaseOrderID),

LineNumber smallint NOT NULL,

ProductID int NULL

REFERENCES Production.Product(ProductID),

UnitPrice money NULL,

OrderQty smallint NULL,

ReceivedQty float NULL,

RejectedQty float NULL,

DueDate datetime NULL,

rowguid uniqueidentifier ROWGUIDCOL NOT NULL

CONSTRAINT DF_PurchaseOrderDetail_rowguid DEFAULT (newid()),

ModifiedDate datetime NOT NULL

CONSTRAINT DF_PurchaseOrderDetail_ModifiedDate DEFAULT (getdate()),

LineTotal AS ((UnitPrice*OrderQty)),

StockedQty AS ((ReceivedQty-RejectedQty)),

CONSTRAINT PK_PurchaseOrderDetail_PurchaseOrderID_LineNumber

PRIMARY KEY CLUSTERED (PurchaseOrderID, LineNumber)

WITH (IGNORE_DUP_KEY = OFF)

)

Роли:

- Стандартные определенные пользователем роли

- Роли приложений

- Предопределенные роли (системные)

CREATE ROLE role_name [ AUTHORIZATION owner_name ]

ALTER ROLE role_name WITH NAME = new_name

DROP ROLE role_name

GRANT { ALL [ PRIVILEGES ] }

| <permission> [ ( column [ ,...n ] ) ] [ ,...n ]

TO principal [ ,...n ]

<permission> ::= DELETE | INSERT | SELECT | UPDATE

DENY { ALL [ PRIVILEGES ] }

| permission [ ( column [ ,...n ] ) ] [ ,...n ]

TO principal [ ,...n ]

[ CASCADE]

REVOKE [ GRANT OPTION FOR ]

{

[ ALL [ PRIVILEGES ] ]

|

permission [ ( column [ ,...n ] ) ] [ ,...n ]

}

{ TO | FROM } principal [ ,...n ]

[ CASCADE]

CREATE LOGIN wrstanek WITH PASSWORD = 'MZ82$!408765RTM'

ALTER LOGIN wrstanek WITH PASSWORD = '3948wJ698FFF7';

CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;

Alter user

Delete user

EXEC sp_addsrvrolemember 'GALAXY\WRSTANEK', 'sysadmin'

sp_addrolemember [@rolename =] 'role',

[@membername =] 'security_account'

sp_droprolemember [@rolename =] 'role',

[@membername =] 'security_account'