powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Вопрос из TestKing'а
10 сообщений из 10, страница 1 из 1
Вопрос из TestKing'а
    #32209217
Фотография Ray D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Вопрос из TestKing'а
    #32209599
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, не будет так работать.
...
Рейтинг: 0 / 0
Вопрос из TestKing'а
    #32209648
Фотография Ray D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кидняк, блин :((
...
Рейтинг: 0 / 0
Вопрос из TestKing'а
    #32210362
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
B E F должно быть по идее.
...
Рейтинг: 0 / 0
Вопрос из TestKing'а
    #32210428
Фотография Ray D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, но так роль Agent получит полный доступ (на SELECT) к таблице, а этого по условию быть не должно.
...
Рейтинг: 0 / 0
Вопрос из TestKing'а
    #32212499
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Вопрос из TestKing'а
    #32212579
Фотография SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаю под 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
Вопрос из TestKing'а
    #32212740
Фотография Ray D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все правильно. У вьюшки и таблицы владельцы разные, поэтому когда Agent делает select [Name], [Address] from tGaric.vwTravelers, MS SQL проверяет права Agent на каждый из объектов, на объект Travelers у него прав нет :((
...
Рейтинг: 0 / 0
Вопрос из TestKing'а
    #32238426
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Вопрос из TestKing'а
    #32467292
Dixi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C,E,D оптимальный, ... только не работает
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Вопрос из TestKing'а
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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