Поделиться через


Практическое руководство. Определение разрешений для объектов базы данных

Можно определить разрешения для предоставления или отзыва доступа к базе данных, объектам базы данных или даже к конкретным столбцам в таблице. Чтобы определить эти разрешения, необходимо обновить файл database.sqlpermissions.

Открытие файла database.sqlpermissions

  1. В Visual Studio откройте решение, содержащее проект базы данных, в котором требуется определить разрешения.

  2. В Обозревателе решений разверните узел проекта базы данных, затем разверните узел "Свойства" и дважды щелкните Database.sqlpermissions.

Предоставьте или отзовите разрешения

Разрешения можно предоставлять или отзывать на трех уровнях модульности.

  • Уровень базы данных   Разрешения на этом уровне предоставляются или отзываются для ограничения доступа к таким операциям, как CREATE TABLE.

  • Уровень объекта базы данных   Разрешения на этом уровне предоставляются или отзываются для ограничения типов доступа к конкретным объектам базы данных, таким как таблицы.

  • Уровень столбца таблицы   Разрешения на этом уровне предоставляются или отзываются для ограничения типов доступа к конкретным столбцам в таблице.

Предоставление разрешений на уровне базы данных

  1. Откройте файл database.sqlpermissions.

  2. Перед закрывающим тегом </Permissions> поместите следующий XML-код.

    <PermissionStatement Action="GRANT">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
    </PermissionsStatement>
    

    Вместо Operation подставьте операцию, разрешение на выполнение которой требуется предоставить. Например, чтобы предоставить разрешение на создание таблиц, укажите CREATE TABLE.

    Вместо Username подставьте пользователя, которому требуется предоставить разрешение.

  3. Сохраните и закройте файл database.sqlpermissions.

Отзыв разрешений на уровне базы данных

  1. Откройте файл database.sqlpermissions.

  2. Перед закрывающим тегом </Permissions> поместите следующий XML-код.

    <PermissionStatement Action="REVOKE">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
    </PermissionsStatement>
    

    Вместо Operation подставьте операцию, разрешение на выполнение которой требуется отозвать. Например, чтобы отозвать разрешение на создание таблиц, укажите CREATE TABLE.

    Вместо Username подставьте пользователя, у которого требуется отозвать разрешение.

  3. Сохраните и закройте файл database.sqlpermissions.

Предоставление разрешений для объекта базы данных

  1. Откройте файл database.sqlpermissions.

  2. Перед закрывающим тегом </Permissions> поместите следующий XML-код.

    <PermissionStatement Action="GRANT">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
        <Object Name="ObjectName" Schema="SchemaName" Type="OBJECT"/>
    </PermissionsStatement>
    

    Вместо Operation подставьте операцию, разрешение на выполнение которой требуется предоставить. Например, чтобы предоставить разрешение на выбор данных из таблицы, укажите SELECT.

    Вместо Username подставьте пользователя, которому требуется предоставить разрешение.

    Вместо ObjectName подставьте объект, для которого требуется предоставить разрешение.

    Вместо SchemaName подставьте схему, в которой содержится объект.

  3. Сохраните и закройте файл database.sqlpermissions.

Отзыв разрешений для объекта базы данных

  1. Откройте файл database.sqlpermissions.

  2. Перед закрывающим тегом </Permissions> поместите следующий XML-код.

    <PermissionStatement Action="REVOKE">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
        <Object Name="ObjectName" Schema="SchemaName" Type="OBJECT"/>
    </PermissionsStatement>
    

    Вместо Operation подставьте операцию, разрешение на выполнение которой требуется предоставить. Например, чтобы предоставить разрешение на выбор данных из таблицы, укажите SELECT.

    Вместо Username подставьте пользователя, которому требуется предоставить разрешение.

    Вместо ObjectName подставьте объект, для которого требуется предоставить разрешение.

    Вместо SchemaName подставьте схему, в которой содержится объект.

  3. Сохраните и закройте файл database.sqlpermissions.

Предоставление разрешений для столбца

  1. Откройте файл database.sqlpermissions.

  2. Перед закрывающим тегом </Permissions> поместите следующий XML-код.

    <PermissionStatement Action="GRANT">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
              <Object Name ="TableName" Schema ="SchemaName" Type ="OBJECT">
                <Columns Treatment ="INCLUDE">
                  <Column Name="ColumnName"/>
                </Columns>
              </Object>
    </PermissionsStatement>
    

    Вместо Operation подставьте операцию, разрешение на выполнение которой требуется предоставить. Например, чтобы предоставить разрешение на создание таблиц, укажите CREATE TABLE.

    Вместо Username подставьте пользователя, которому требуется предоставить разрешение.

    Вместо TableName подставьте объект, для которого требуется предоставить разрешение.

    Вместо SchemaName подставьте схему, в которой содержится объект.

    Вместо ColumnName подставьте имя столбца, к которому требуется применить разрешения. Можно указать несколько записей <Column> для применения разрешений к нескольким столбцам.

  3. Сохраните и закройте файл database.sqlpermissions.

Отзыв разрешений для столбца

  1. Откройте файл database.sqlpermissions.

  2. Перед закрывающим тегом </Permissions> поместите следующий XML-код.

    <PermissionStatement Action="REVOKE">
        <Permission>Operation</Permission>
        <Grantee>Username</Grantee>
              <Object Name ="TableName" Schema ="SchemaName" Type ="OBJECT">
                <Columns Treatment ="INCLUDE">
                  <Column Name="ColumnName"/>
                </Columns>
              </Object>
    </PermissionsStatement>
    

    Вместо Operation подставьте операцию, разрешение на выполнение которой требуется предоставить. Например, чтобы предоставить разрешение на создание таблиц, укажите CREATE TABLE.

    Вместо Username подставьте пользователя, которому требуется предоставить разрешение.

    Вместо TableName подставьте объект, для которого требуется предоставить разрешение.

    Вместо SchemaName подставьте схему, в которой содержится объект.

    Вместо ColumnName подставьте имя столбца, к которому требуется применить разрешения. Можно указать несколько записей <Column> для применения разрешений к нескольким столбцам.

  3. Сохраните и закройте файл database.sqlpermissions.

См. также

Задачи

Практическое руководство. Создание объекта базы данных

Практическое руководство. Изменение объектов базы данных

Основные понятия

Создание и изменение объектов базы данных и сервера