Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Restrict SQL Server Login access to only one database with permisions  [new]
handmadeFromRu
Member

Откуда: родина Ленина!
Сообщений: 1980
подскажите коллеги как сделать следующее: сделать пользователя который видит только 1 бд и имеет права только на эту бд.
на просторах интернета нашел вот такое
--Step 1: (create a new user)
create LOGIN newLogin WITH PASSWORD='foo', CHECK_POLICY = OFF;


-- Step 2:(deny view to any database)
USE master;
GO
DENY VIEW ANY DATABASE TO newLogin ; 


 -- step 3 (then authorized the user for that specific database , you have to use the  master by doing use master as below)
USE master;
GO
ALTER AUTHORIZATION ON DATABASE::yourDB TO newLogin ;
GO 

а потом делаю
use yourDB 
CREATE USER newUser FOR LOGIN newLogin 
EXEC sp_addrolemember N'db_owner', N'newUser '

но получаю вот такое в ответ : Сообщение 15063, уровень 16, состояние 1, строка 2
The login already has an account under a different user name.
подскажи что не так или ссылочку дайте куда посмотреть. Заранее благодарен.
14 май 15, 12:11    [17638831]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
handmadeFromRu,
логин нельзя дважды отобразить на базу.
14 май 15, 12:17    [17638869]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
o-o
Guest
handmadeFromRu,
ну так когда вы его сделали овнером(owner) базы, он уже db_owner,
ну т.е. уже отмапился в dbo, не надо больше ничего делать
14 май 15, 12:18    [17638872]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
handmadeFromRu,

ALTER AUTHORIZATION ON DATABASE::yourDB TO newLogin ;

это не предоставление доступа логину newLogin к бд. это смена владельца бд на newLogin.
а для владельца никакой дополнительный пользователь в бд не нужен - он и так там есть - dbo (о чем ошибка и говорит).
14 май 15, 12:18    [17638873]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
handmadeFromRu
Member

Откуда: родина Ленина!
Сообщений: 1980
Спасибо большое. я думал что логин - для доступа на сервак, а юзер для доступа к бд и изза этого такой огород городил. Т.е. именно вот так делают то, что мне нужно?
14 май 15, 12:27    [17638916]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
Glory
Member

Откуда:
Сообщений: 104760
handmadeFromRu
Спасибо большое. я думал что логин - для доступа на сервак, а юзер для доступа к бд и изза этого такой огород городил.

Вы правильно думаете. Вы и назначили логин newLogin пользователем dbo. Просто это встроенный пользователь базы
14 май 15, 12:29    [17638932]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
o-o
Guest
handmadeFromRu
я думал что логин - для доступа на сервак, а юзер для доступа к бд

так и есть.
прочтите еще раз ответы.
когда вы заделали кого-то овнером базы,
вы его УЖЕ отмапили в dbo.
нельзя мапить второй раз, юзер для вашего логина уже создан, это dbo
14 май 15, 12:30    [17638938]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
handmadeFromRu
Member

Откуда: родина Ленина!
Сообщений: 1980
спасибо еще раз за разжевывание.
14 май 15, 12:33    [17638967]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
invm
Member

Откуда: Москва
Сообщений: 9402
Теперь осталось только выяснить, не натворит ли данный пользователь дел, обладая полномочиями dbo.
14 май 15, 12:57    [17639143]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
handmadeFromRu
Member

Откуда: родина Ленина!
Сообщений: 1980
invm,
конкретно в моей задачи, в рамках указанной бд он может делать что угодно. главное чтоб чужие не видел и не мог потрогать их
14 май 15, 13:10    [17639235]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
Glory
Member

Откуда:
Сообщений: 104760
handmadeFromRu
главное чтоб чужие не видел

А что такого ужасного он может увидеть в списке баз ?
14 май 15, 13:12    [17639251]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
handmadeFromRu
Member

Откуда: родина Ленина!
Сообщений: 1980
Glory,
ничего ужасно, просто стоит задача не показывать чужие бд и все. я не знаю как это аргументировать)
14 май 15, 13:13    [17639257]     Ответить | Цитировать Сообщить модератору
 Re: Restrict SQL Server Login access to only one database with permisions  [new]
o-o
Guest
Glory
handmadeFromRu
главное чтоб чужие не видел

А что такого ужасного он может увидеть в списке баз ?

базу, названную в его честь?
еще возгордится, мало ли.

вчера или когда, пишу ответ voronin-у, называю сп: dbo.voronin.
а мне:
Msg 2714, Level 16, State 3, Procedure voronin, Line 4
There is already an object named 'voronin' in the database.


во дела!
а оказывается, уже есть одноименная таблица
14 май 15, 13:22    [17639326]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить