Ноу Інти, лекція, управління доступом до баз даних sql server

Управління ролями додатки

Ролі додатки - це особливі ролі бази даних, які можна використовувати для дозволу доступу до певних даних тільки тим користувачам, які встановлюють з'єднання через певний додаток. Ролі додатків не містять членів, тому перед використанням необхідно активізувати їх в поточному з'єднанні. При активізації ролі докладання поточне з'єднання втрачає дозволу, призначені користувачам, і отримує тільки дозволу, які застосовні до ролі додатка.

Створюємо ролі додатка

Роль додатки можна створити за допомогою інструкції CREATE APPLICATION ROLE. Цей код є в файлі прикладів ApplicationRoles.sql.

  • Змінюємо контекст з'єднання на базу даних AdventureWorks.
  • Створюємо роль додатка FinancialRole в поточній базі даних
    Використовуємо ролі додатка

    Ролі додатків перед використанням необхідно активізувати. Це можна зробити, виконавши системну збережену процедуру sp_setapprole. Після того, як роль додатка активізована в поточному з'єднанні, вона залишається активною до тих пір, поки не буде закрито з'єднання або виконана системна збережена процедура sp_unsetapprole. Хоча ролі програми призначені для використання з клієнтських додатків, їх можна також використовувати з особливих пакетів T-SQL. Наступна процедура (її можна знайти в файлах прикладів під ім'ям ApplicationRolesUse.sql) описує, як активізувати роль Financial Role і скасувати цю активізацію.

    • Змінюємо контекст з'єднання на базу даних AdventureWorks.
  • Оголошуємо змінну, в якій буде зберігатися контекст з'єднання. Цей контекст з'єднання знадобиться нам надалі, щоб після деактивації ролі, коли програму могло відновити свій вихідний контекст.
  • Активуємо роль додатка і зберігаємо поточний контекст з'єднання
  • Перевіряємо, чи був призначений для користувача контекст замінений контекстом ролі додатка.
  • Деактивувавши роль додатка, і відновлюємо попередній контекст з'єднання.
  • Перевіряємо, чи був вихідний контекст користувача відновлений.
    Видаляємо ролі додатка

    Якщо потрібно видалити роль додатка, використовуйте інструкцію DROP APPLICATION ROLE. як показано в наступному прикладі (цей код є в файлі прикладів ApplicationRoles.sql):

    • Змінюємо контекст з'єднання на базу даних AdventureWorks.
  • видаляємо роль додатка FinancialRole з поточної бази даних

    Управління доступом до схем

    Введення в схеми

    Схеми бази даних можна створювати за допомогою інструкції CREATE SCHEMA. Створюючи схему, можна створити об'єкти бази даних і встановити дозволи в межах однієї транзакції, яка викликається інструкцією CREATE SCHEMA. Наступний приклад (він є в файлах прикладів під ім'ям ManagingAccessToSchemas01.sql) створює схему з ім'ям Accounting. призначає користувача Peter власником схеми і створює таблицю з ім'ям Invoices. У цьому прикладі також надається дозвіл select ролі бази даних public.

    • Змінюємо контекст з'єднання на базу даних AdventureWorks.
  • Створюємо схему Accounting з власником Peter.
  • Створюємо таблицю Invoices в схемі Accounting.
    Відокремлюємо користувачів від схем
    Використовуємо схему за замовчуванням

    Коли додаток посилається на об'єкт бази даних, не уточнюючи схеми, SQL Server здійснює спробу знайти об'єкт в схемі, заданої для поточного користувача за замовчуванням. Якщо об'єкт не міститься в схемі за замовчуванням, SQL Server намагається виявити об'єкт в схемі dbo. У наступному прикладі (який можна знайти в файлах прикладів під ім'ям ManagingAccessToSchemas03.sql) демонструє, як створити схему і призначити її в якості схеми за замовчуванням для користувача.

    • Створюємо ім'я входу SQL Server в даному екземплярі SQL Server.
  • Змінюємо контекст з'єднання на базу даних AdventureWorks.
  • Створюємо користувача Sara в базі даних AdventureWorks і зіставляємо цього користувача імені входу Sara
  • Створюємо схему Marketing. власник - користувач Peter.
  • Створюємо таблицю Campaigns в щойно створеної схемою.
  • Надаємо дозвіл SELECT користувачеві Sara на нову таблицю.
  • Оголошуємо схему Marketing схемою за замовчуванням для користувача Sara

    Схожі статті