Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for SQL Server™
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • Изменение настроек кластера и базы данных
    • Управление хостами SQL Server
    • Управление базами данных
    • Управление пользователями
    • Назначение привилегий и ролей
    • Управление резервными копиями
    • Удаление кластера
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
    • Сеть в Managed Service for SQL Server
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • BackupService
      • ClusterService
      • DatabaseService
      • OperationService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST
      • Обзор
      • Backup
        • Обзор
        • get
        • list
      • Cluster
        • Обзор
        • backup
        • create
        • delete
        • get
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • move
        • restore
        • start
        • stop
        • update
      • Database
        • Обзор
        • create
        • delete
        • get
        • list
      • Operation
        • Обзор
        • get
      • ResourcePreset
        • Обзор
        • get
        • list
      • User
        • Обзор
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
  • Вопросы и ответы
    • Общие вопросы
  1. Пошаговые инструкции
  2. Назначение привилегий и ролей

Назначение привилегий и ролей пользователям

  • Изменить список ролей пользователя
  • Выдать привилегию пользователю
  • Отозвать привилегию у пользователя
  • Примеры
    • Добавить пользователя с правами только на чтение
  • Описание предопределенных ролей

Атомарные полномочия в SQL Server называются привилегиями, группы полномочий — ролями. Managed Service for SQL Server поддерживает предопределенные роли. Подробнее об организации прав доступа читайте в документации SQL Server.

Пользователь, создаваемый вместе с кластером Managed Service for SQL Server, автоматически получает роль владельца (DB_OWNER) первой базы данных в кластере. После этого вы можете создавать других пользователей и настраивать их права по своему усмотрению:

  • Изменить список ролей пользователя.
  • Выдать привилегию пользователю.
  • Отозвать привилегию у пользователя.

Изменить список ролей пользователя

Для назначения роли пользователю используйте консоль управления или API Yandex.Cloud: назначение роли запросом GRANT отменится при следующей операции с базой.

Консоль управления
API

Чтобы изменить список ролей пользователя:

  1. Перейдите на страницу каталога и выберите сервис Managed Service for SQL Server.
  2. Нажмите на имя нужного кластера и выберите вкладку Пользователи.
  3. Нажмите значок и выберите пункт Настроить.
  4. При необходимости добавьте пользователю нужные базы данных:
    1. Нажмите кнопку Добавить базу данных.
    2. Выберите базу данных из выпадающего списка.
    3. Повторите два предыдущих шага, пока не будут выбраны все требуемые базы данных.
    4. Чтобы отозвать доступ к определенной базе, удалите ее из перечня, нажав значок справа от имени базы данных.
  5. Задайте нужные роли пользователя для каждой из баз данных пользователя:
    1. Нажмите значок в столбце Роли.
    2. Выберите роль, которую вы хотите добавить пользователю из выпадающего списка.
    3. Повторите два предыдущих шага, пока не будут добавлены все требуемые роли.
  6. Чтобы отозвать роль, нажмите значок справа от ее имени.
  7. Нажмите кнопку Сохранить.

Воспользуйтесь методом API update и передайте в запросе:

  • Идентификатор кластера, в котором находится пользователь в параметре clusterId. Чтобы узнать идентификатор, получите список кластеров в каталоге.
  • Имя пользователя в параметре userName. Чтобы узнать имя, получите список пользователей в кластере.
  • Имя базы данных, для которой вы хотите изменить список ролей пользователя в параметре permissions.databaseName. Чтобы узнать имя, получите список баз данных в кластере.
  • Массив нового списка ролей пользователя в параметре permissions.roles.
  • Список полей конфигурации пользователя подлежащих изменению (в данном случае — permissions) в параметре updateMask.

Важно

Этот метод API сбросит все настройки пользователя, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, обязательно передайте название поля подлежащего изменению (в данном случае — permissions) в параметре updateMask.

Выдать привилегию пользователю

  1. Подключитесь к базе данных с помощью учетной записи владельца базы данных.
  2. Выполните команду GRANT. Подробное описание синтаксиса команды смотрите в документации SQL Server.

Отозвать привилегию у пользователя

  1. Подключитесь к базе данных с помощью учетной записи владельца базы данных.
  2. Выполните команду REVOKE. Подробное описание синтаксиса команды смотрите в документации SQL Server.

Примеры

Добавить пользователя с правами только на чтение

Чтобы добавить в существующий кластер нового пользователя user2 с доступом только на чтение к базе данных db1:

  1. Создайте пользователя с именем user2. При этом выберите базы данных, к которым должен иметь доступ пользователь.

  2. Подключитесь к базе данных db1 с помощью учетной записи владельца БД.

  3. Чтобы выдать права доступа только к таблице Products в схеме по умолчанию dbo, выполните команду:

    GRANT SELECT ON dbo.Products TO user2;
    GO
    
  4. Чтобы выдать права доступа ко всем таблицам схемы myschema, выполните команду:

    GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::myschema TO user2;
    GO
    

Для отзыва выданных привилегий выполните команды:

REVOKE SELECT ON dbo.Products FROM user2;
REVOKE SELECT, INSERT, UPDATE, DELETE ON SCHEMA::myschema FROM user2;
GO

Описание предопределенных ролей

  • DB_OWNER — владелец базы данных. Пользователи, обладающие этой ролью, могут выполнять все действия по настройке и обслуживанию базы данных, удалять базу данных в SQL Server.
  • DB_SECURITYADMIN — администратор безопасности. Пользователи, обладающие этой ролью, могут управлять привилегиями. Имеют возможность повышать собственные права доступа, поэтому необходимо отслеживать их действия.
  • DB_ACCESSADMIN — администратор доступов. Пользователи, обладающие этой ролью, могут выдавать или отзывать права удаленного доступа к базе данных для пользователей и групп Windows и пользователей SQL Server.
  • DB_BACKUPOPERATOR — оператор резервных копий. Пользователи, обладающие этой ролью, могут создавать резервные копии базы данных.
  • DB_DDLADMIN — администратор DDL. Пользователи, обладающие этой ролью, могут выполнять любые команды языка описания данных (DDL).
  • DB_DATAWRITER — пользователь с правом на запись. Пользователи, обладающие этой ролью, могут добавлять, удалять или изменять данные во всех пользовательских таблицах.
  • DB_DATAREADER — пользователь с правом на чтение. Пользователи, обладающие этой ролью, могут считывать все данные из всех пользовательских таблиц.
  • DB_DENYDATAWRITER — пользователь без права на запись. Пользователи, обладающие этой ролью, не могут добавлять, изменять или удалять данные в пользовательских таблицах базы данных.
  • DB_DENYDATAREADER — пользователь без права на чтение. Пользователи, обладающие этой ролью, не могут считывать данные из пользовательских таблиц базы данных.
В этой статье:
  • Изменить список ролей пользователя
  • Выдать привилегию пользователю
  • Отозвать привилегию у пользователя
  • Примеры
  • Добавить пользователя с правами только на чтение
  • Описание предопределенных ролей
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»