Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к: SQL Server 2016 (13.x) и более поздние версии
База данных SQL Azure
Управляемый экземпляр SQL Azure
SQL Database в Microsoft Fabric
Чтобы обеспечить безопасность временных таблиц, необходимо понимать принципы безопасности, которые к ним применяются. После того как вы поймёте эти принципы, вы сможете применить меры безопасности к операторам CREATE TABLE, ALTER TABLE и SELECT.
Принципы безопасности
В следующей таблице описаны принципы безопасности, применимые к темпоральным таблицам.
| Принцип | Description |
|---|---|
| Включение и отключение системного управления версиями требует наивысших привилегий для затронутых объектов | Для включения и отключения SYSTEM_VERSIONING требуется разрешение CONTROL как для текущей таблицы, так и для таблицы журнала. |
| Исторические данные нельзя изменять напрямую | Когда для SYSTEM_VERSIONING задано значение ON, пользователи не могут изменять данные журнала, независимо от имеющихся у них разрешений для текущей или исторической таблицы. Это ограничение включает как изменения данных, так и схемы.
1 |
Для запроса исторических данных требуется разрешение SELECT для таблицы журнала |
Пользователь, имеющий разрешение SELECT для текущей таблицы, не получает автоматически разрешение SELECT для таблицы истории. |
| Журнал аудита показывает, каким образом операции влияют на таблицу истории | Параметры аудита из текущей таблицы не применяются автоматически к таблице журнала. Вы должны явно включить аудит для таблицы истории. После включения аудит в таблице истории фиксирует все прямые попытки получить доступ к данным, независимо от того, успешны они или нет.SELECT С расширением временного запроса показано, что операция повлияла на таблицу истории.CREATE/ALTER Темпоральная таблица предоставляет сведения о том, что проверка разрешений также выполняется в таблице журнала. Файл аудита содержит дополнительные записи в таблице истории.Операции с языком обработки данных (DML) в текущей таблице показывают, что операция повлияла на таблицу истории, но additional_information предоставляет необходимый контекст (DML был результатом SYSTEM_VERSIONING). |
1 Если у вас есть ALTER разрешение на текущую таблицу и таблицу журнала, и вы удаляете столбец из текущей таблицы, соответствующий столбец в таблице журнала также удаляется, даже если SYSTEM_VERSIONING имеет значение ON.
Выполнить операции со схемой
Если SYSTEM_VERSIONING задано значение ON, операции изменения схемы ограничены.
Запрещенные ALTER SCHEMA операции
| Операция | Текущая таблица | Историческая таблица |
|---|---|---|
DROP TABLE |
Запрещено | Запрещено |
ALTER TABLE...SWITCH PARTITION |
SWITCH IN только (см . раздел с темпоральными таблицами) |
SWITCH OUT только (см . раздел с темпоральными таблицами) |
ALTER TABLE...DROP PERIOD |
Запрещено | N/A |
ALTER TABLE...ADD PERIOD |
N/A | Запрещено |
Разрешённые операции ALTER TABLE
| Операция | Current | History |
|---|---|---|
ALTER TABLE...REBUILD |
Разрешено (автономно) | Разрешено (автономно) |
CREATE INDEX |
Разрешено (автономно) | Разрешено (автономно) |
CREATE STATISTICS |
Разрешено (автономно) | Разрешено (автономно) |
Безопасность инструкции темпоральной таблицы CREATE
| Feature | Создать новую таблицу истории | Повторно использовать существующую таблицу истории |
|---|---|---|
| Требования к разрешениям |
CREATE TABLE разрешение в базе данныхALTER Разрешение на схемы, где вы создаёте текущие и исторические таблицы |
CREATE TABLE разрешение в базе данныхALTER Разрешение на схему, где вы создаёте текущую таблицу.CONTROL разрешение для таблицы журнала, указанное как часть инструкции CREATE TABLE, создающей темпоральную таблицу. |
| Audit | Аудит показывает, что пользователи пытались создать два объекта. Операция могла провалиться из-за отсутствия разрешений на создание таблицы в базе данных или из-за отсутствия разрешений на изменение схем для любой из таблиц. | Аудит показывает, что была создана темпоральная таблица. Операция может завершиться ошибкой из-за отсутствия разрешения на создание таблицы в базе данных, отсутствие разрешений на изменение схемы для темпоральной таблицы или отсутствие разрешений на таблицу журнала. |
Безопасность инструкции ALTER для временной таблицы SET (SYSTEM_VERSIONING)
| Feature | Создать новую таблицу истории | Повторно использовать существующую таблицу истории |
|---|---|---|
| Требования к разрешениям |
CONTROL разрешение в базе данных.CREATE TABLE разрешение в базе данных.ALTER Права на схемы, в которых вы создаёте таблицу истории. |
CONTROL разрешение на исходную таблицу, которую вы изменяете.CONTROL разрешение на таблицу журнала, указанную в рамках инструкции ALTER TABLE . |
| Audit | Аудит показывает, что темпоральная таблица была изменена и в то же время была создана прежняя таблица. Эта операция может провалиться из-за отсутствия разрешений на создание таблицы в базе данных, отсутствия разрешений на изменение схемы для таблицы истории или разрешения на изменение временной таблицы. | Аудит показывает, что темпоральная таблица была изменена, но операция требовала доступа к таблице журнала. Операция может завершиться ошибкой из-за отсутствия разрешений на таблицу журнала или отсутствия разрешений на текущую таблицу. |
Безопасность инструкции SELECT
SELECT разрешение остаётся неизменным для инструкций SELECT, которые не влияют на таблицу истории. Для операторов SELECT, влияющих на таблицу журнала, требуется разрешение SELECT как для текущей таблицы, так и для таблицы журнала.
Связанные материалы
- Темпоральные таблицы
- Приступите к изучению системных версионных темпоральных таблиц
- Проверки согласованности систем темпоральных таблиц
- Секционирование с использованием темпоральных таблиц
- Особенности и ограничения темпоральной таблицы
- Управление хранением исторических данных в системных темпоральных таблицах
- Системно-версионированные темпоральные таблицы с таблицами, оптимизированными для памяти
- Представления и функции темпоральных метаданных таблицы