Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

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

Стартирайте SQL Server Management Studio и се свържете с идентификационни данни, на които е предоставена ролята „sa“.

Разгънете Сигурност , щракнете с десния бутон върху Входове и изберете Ново влизане .

Въведете описателно Име за вход , изберете Удостоверяване на SQL сървър и въведете сигурна парола. В долната част на страницата изберете базата данни, към която Chartio ще се свърже като база данни по подразбиране .

Изберете Потребителско картографиране раздел, поставете отметка в квадратчето до желаната база данни, потвърдете, че е избрано само „публично“ и щракнете върху OK .

Щракнете върху Нова заявка и изберете базата данни, която свързвате с Chartio.

Поставете следната заявка в прозореца на заявката и изпълнете. Заменете „chartio_read_only“ с действителното потребителско име на потребителя, който сте създали.

SELECT 'GRANT SELECT ON "' + TABLE_SCHEMA + '"."' + TABLE_NAME + '" TO "chartio_read_only"' FROM information_schema.tables

Изберете и копирайте резултатите от заявката в прозореца на заявката.

Премахнете всички таблици или изгледи, до които не желаете да има достъп „chartio_read_only user“. В този пример премахнах таблиците Invoice и InvoiceLine, защото съдържат чувствителна информация.

GRANT SELECT ON "dbo"."Customer" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Employee" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Genre" TO "chartio_read_only"
GRANT SELECT ON "dbo"."MediaType" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Playlist" TO "chartio_read_only"
GRANT SELECT ON "dbo"."PlaylistTrack" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Track" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Album" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Artist" TO "chartio_read_only"

Изпълнете заявката.

След това ще трябва да предоставите дефиниция на изглед в dbo схемата. Копирайте заявката по-долу и я изпълнете в SQL Server. Заменете потребителското име с потребителското име, което сте създали по-рано.

GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only

Вече можете да използвате тези идентификационни данни, за да свържете Chartio към вашата база данни с разрешения само за четене само за таблиците, които сте посочили.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разбиране на функцията за защита на SQL Server HAS_Permis_BY_Name и нейните случаи на употреба

  2. SQL Server SELECT, където всяка колона съдържа 'x'

  3. Дата на обработка в SQL Server

  4. Всеки израз GROUP BY трябва да съдържа поне една колона, която не е външна препратка

  5. Какво е съхранена процедура?