Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

8.1.4. Безопасность при выполнении заданий

Защищенность заданий (jobs) SQL Server Agent, учетные записи прокси и объекты Credential, Run As User

Одна из новых возможностей SQL Server 2005 — очень точная настройка параметров безопасности при выполнении этапов заданий.

В SQL Server 2000 в вашем распоряжении было только два варианта запуска заданий:

q      запускать задания с правами учетной записи SQL Server Agent (по умолчанию);

q      выбрать другую учетную запись, от имени которой должны были выполняться все задания ActiveX Script и CmdExec. Такую учетную запись можно настроить и средствами Management Studio (на вкладке Job System свойств SQL Server Agent), но эта возможность будет доступен только в случае, если вы подключитесь из Management Studio к SQL Server 2000.

В SQL Server 2005 вы можете настроить свою учетную запись для любого этапа любого задания. Таким образом, каждый этап может быть настроен для выполнения от имени учетной записи с минимально необходимыми правами, что обычно и предписывают требования безопасности. Если же вам нет необходимости заниматься такой точной настройкой, что вы вполне можете запускать этапы заданий с правами учетной записи SQL Server Agent, как это обычно делалось в предыдущих версиях SQL Server.

Для того чтобы определить конкретную учетную запись, от имени которой будет выполняться определенный этап задания, нужно выполнить несколько действий.

Первое действие — создать объект Credential. Для этого нужно открыть контейнер Security | Credentials в Management Studio и воспользоваться командой New Credential (Новая учетная запись) контекстного меню этого контейнера. Откроется окно создания нового объекта Credential. В нем вам потребуется указать:

q      Credential name (Имя учетной записи) — лучше выбрать какое-нибудь значимое имя, чтобы не забыть, для чего был создан этот объект;

q      Identity (Идентификатор) — здесь нужно выбрать локальную или доменную учетную запись Windows. Эта учетная запись должна обладать на локальном компьютере (или в сети) теми правами, которые вы хотите предоставить соответствующему этапу задания;

q      Password (Пароль) и Confirm Password (Подтверждение пароля) — это, конечно, пароль для данной учетной записи.

После того, как объект Credential создан, второе действие, которое вам нужно будет выполнить, — создать учетную запись прокси для SQL Server Agent. Сделать это можно из контейнера SQL Server Agent | Proxies. Вам потребуется выбрать контейнер для нужного типа этапа и в контекстном меню для вложенного контейнера этого типа воспользоваться командой New Proxy (Новая прокси). Откроется окно, аналогичное представленному на рис. 8.3.

Рис. 8.3. Окно создания новой учетной записи прокси

В окне New Proxy Account необходимо:

q      в поле Proxy name (Имя прокси) ввести имя создаваемой учетной записи прокси;

q      в поле Credential name выбрать созданный ранее объект Credential;

q      в поле Description ввести описание для создаваемой учетной записи (по желанию);

q      в списке Subsystem (Подсистема) указать типы этапов, для которых можно будет использовать созданную учетную запись прокси.

Осталось выполнить последнее действие — открыть свойства этапа задания и в списке Run as на вкладке General выбрать созданную вами учетную запись прокси.

Отметим еще два момента:

q      для этапов типа ActiveX Script вы можете поменять контекст выполнения (т. е. учетную запись, с правами которой выполняется этот скрипт) прямо в ходе выполнения скрипта (программными средствами), без использования учетных записей прокси. Пример того, как это можно сделать, легко найти в Интернете, запустив поиск по словосочетанию "vbrunas.vbs";

q      для этапов типа Transact-SQL Script вы также можете поменять контекст выполнения в ходе выполнения скрипта. Это можно сделать двумя способами:

·                использовать в коде скрипта конструкцию EXECUTE AS (см. разд. 5.5);

·                воспользоваться полем Run as user (Запустить от имени пользователя) на вкладке Advanced свойств этого этапа. Вы можете выбрать логин, от имени которого будет выполняться этот этап (только если вы сами, как владелец этого задания, обладаете на сервере правами sysadmin).

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru