Гость
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Вопрос из TestKing'а / 10 сообщений из 10, страница 1 из 1
16.07.2003, 08:15
    #32209217
Ray D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
Q. 104
You are a database developer for a large travel company. You have been granted CREATE VIEW
permissions in the Reservations database. Your company's worker, Eric, has been granted CREATE
TABLE permissions. Neither of you have been given database owner or system permissions, nor have you
been added to any fixed server roles.
Eric has created a table named Traveler that holds information about your company's customers. This
table is shown in the exhibit. .
Travel agents will connect to the database and view the information stored in this table. The database
logins for the travel agents have been assigned to the Agent database role.
You want the travel agents to be able to view the name and address information from the Traveler table
in two columns instead of six. One column should contain the traveler name and the other column should
contain the address.
Which three actions should you take? (Each correct answer presents part of the solution. Choose three)
A. Grant the Agent role SELECT permissions on the Traveler table
B. Instruct Eric to grant the Agent role SELECT permissions on the Traveler table.
C. Instruct Eric to grant you SELECT permissions of needed columns on the Traveler table
D. Instruct Eric to create a view named vwTravelers that displays the data in the desired format.
E. Create a view named vwTravelers that displays the data in the desired format.
F. Grant the Agent role SELECT permissions on the vwTravelers view

Говорят, что правильный ответ -
Answer: C, E, F.
Но ведь мы получим broken-ownership chain, и роль Agent не полчит доступ?
...
Рейтинг: 0 / 0
16.07.2003, 13:01
    #32209599
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
Да, не будет так работать.
...
Рейтинг: 0 / 0
16.07.2003, 13:28
    #32209648
Ray D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
Кидняк, блин :((
...
Рейтинг: 0 / 0
17.07.2003, 00:39
    #32210362
SandalTree
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
B E F должно быть по идее.
...
Рейтинг: 0 / 0
17.07.2003, 07:33
    #32210428
Ray D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
Да, но так роль Agent получит полный доступ (на SELECT) к таблице, а этого по условию быть не должно.
...
Рейтинг: 0 / 0
18.07.2003, 17:53
    #32212499
SandalTree
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
B. Instruct Eric to grant the Agent role SELECT permissions on the Traveler table.

Вообще-то это могло быть и так:

Код: plaintext
1.
2.
GRANT SELECT ([Name],[Address]) 
on Travelers
to Agent


Хотя что-то мне подсказывает, что я не на совсем верном пути.
...
Рейтинг: 0 / 0
18.07.2003, 19:43
    #32212579
SandalTree
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
Делаю под DBO:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
use tempdb
go
sp_addlogin tEric
go
sp_adduser tEric
go
GRANT CREATE TABLE to tEric
go
sp_addlogin tGaric
go
sp_adduser tGaric
go
GRANT CREATE VIEW to tGaric
go
sp_addrole Agent
go
sp_addlogin tAgent
go
sp_adduser tAgent
go
sp_addrolemember Agent, tAgent
go


Делаю под tEric:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
use tempdb
go
CREATE TABLE [Travelers] (
	[ID] [int] NOT NULL ,
	[Name] [varchar] ( 50 ) NULL ,
	[Address] [varchar] ( 50 ) NULL ,
	[Phone] [varchar] ( 20 ) NULL 
)

 --Вариант "С"
 
GRANT SELECT ([Name], [Address]) on Travelers
to tGaric 
WITH GRANT OPTION 

go

Делаю под tGaric:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
use tempdb
go
CREATE view vwTravelers AS
SELECT [Name], [Address]
FROM tEric.Travelers 

GRANT SELECT on vwTravelers
to Agent
go

Под Agent:
Код: plaintext
1.
2.
3.
use tempdb
go
select [Name], [Address] from tGaric.vwTravelers
go

Выдаёт: Server: Msg 229, Level 14, State 5, Line 1
SELECT permission denied on object 'Travelers', database 'tempdb', owner 'tEric'.

Что не так???? Просвятите плис, а то не хочется с таким ламерским вопросом в SQL лезть.
...
Рейтинг: 0 / 0
19.07.2003, 07:30
    #32212740
Ray D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
Все правильно. У вьюшки и таблицы владельцы разные, поэтому когда Agent делает select [Name], [Address] from tGaric.vwTravelers, MS SQL проверяет права Agent на каждый из объектов, на объект Travelers у него прав нет :((
...
Рейтинг: 0 / 0
17.08.2003, 16:04
    #32238426
Mik Prokoshin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
IMHO здесь проблема в не совсем точной (а может быть корректной) формулировке пунктов ответа на вопрос.
Если мы предполагаем B,E,F, как предложил SandalTree, то имеем дословное выполнение пунктов, но - лишний доступ агентов ко всей таблице.
Обращаю внимание, что в явном виде запрета на это в задаче нет, т.е. вообще-то такой ответ может быть корректным (при допущении административных проблем), но в ракурсе целей прохождения данного теста :-) думаю, это недопустимо.
Далее:
если допустить, что мы хотим именно ограничить агентов двумя полями таблицы, то однозначно выступает ответ C. С одним условием - надо дополнительно в инструктаже Eric'у указать необходимость дальнейшей раздачи прав на эти поля "мной" (WITH GRANT OPTION). Явно в ответе такая возможность не определена, также этот вариант имеет определенные административные условности (раздача прав "мной", лицом, вроде бы не совсем уполномоченным, по условию задачи), но в данном случае это противоречие ГОРАЗДО слабее, чем в первом.
А дальше все просто - E,F, и учитываем, что в пункте F "я" еще должен добавить :
GRANT SELECT ([Name], [Address]) ON tEric.Travelers TO Agent
В итоге - выполняются некоторые дополнительные действия, есть некое несогласование с условиями задачи, но... как для НАСТОЯЩЕГО администратора : C,E,F - НАИБОЛЕЕ ОПТИМАЛЬНЫЙ вариант.

P.S. А вообще - вот так и рождаются легенды про неправильные ответы :-)
...
Рейтинг: 0 / 0
02.04.2004, 15:40
    #32467292
Dixi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос из TestKing'а
C,E,D оптимальный, ... только не работает
...
Рейтинг: 0 / 0
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Вопрос из TestKing'а / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]