PowerShell Web Access: конфигурирование

Original author: Jeff Hicks
  • Translation
  • Tutorial

Продолжаем знакомиться с Powershell Web Access (PSWA).
В предыдущей статье мы рассказывали, как удаленно установить PowerShell Web Acess на новом веб-сервере из клиента Windows 8 с запущенными RSAT. В этой статье мы займемся конфигурированием шлюза и настройкой правил авторизации. Оригинал статьи на petri.co.il можно найти здесь. Заинтересованных приглашаем под кат.



PSWA и конфигурация шлюза


Команды, необходимые для конфигурирования шлюза, можно запустить непосредственно на сервере, но я предпочитаю все сделать удаленно. Запустим удаленную PowerShell сессию на сервере (я работаю на машине под Windows 8).

PS C:\> enter-pssession CHI-WEB01


(В нашем случае вместо CHI-WEB01 мы указываем имя нашего сервера – Прим. переводчика).

Сейчас я осуществим настройку шлюза с использованием тестового сертификата (self-signed test certificate). Потом сделаем так, чтобы сайт использовал валидный сертификат.

[chi-web01]: PS C:\> Install-PswaWebApplication –usetestcertificate


Указанная выше команда предполагает, что я не менял имя сайта по умолчанию (“Default Web Site”), равно как и имя приложения (“pswa”).На рисунке 1 приведен результат.

image

Конфигурируем правила авторизации с PSWA



По умолчанию никто не обладает доступом к PowerShell Web Access. Правила авторизации должны быть заданы с помощью командлета Add-PswaAuthorizationRule. Он также должен быть запущен на веб-сервере, и я воспользуюсь текущей сессией. Уточняем имя пользователя или его группу, которым вы хотели бы предоставить доступ. Также необходимо уточнить имена компьютеров, к которым возможен удаленный доступ (можно использовать имя группы, которая содержит учетные записи компьютеров) и назназначить имя конфигурации.
Конфигурация представляет собой имя удаленной конечной точки (remoting endpoint). Шлюз PSWA установить удаленное соединение с ней. Используем Get-PSSessionConfiguration для нумерования этих сессий.

PS C:\> invoke-command {get-pssessionconfiguration} -ComputerName chi-dc03


На рисунке 2 показаны доступные конечные точки для сервера CHI-DC03.

image

Конфигурация сессии должна присутствовать на всех компьютерах, входящих в правило. Я собираюсь создать тестовое правило авторизации, используя конфигурацию Microsoft.PowerShell. По сути это конечная точка, к которой вы получаете удаленный доступ. Также Вы можете задать имя правила, что я и сейчас и сделаю.

[chi-web01]: PS C:\> Add-PswaAuthorizationRule -rulename "Test Rule 1" -computername chi-dc03 -username globomantics\jeff -configuration microsoft.powershell


В качестве имени правила было выбрано «Test Rule 1», Вы, конечно, можете любое другое.
Обратите также внимание на формат имени пользователя, которому выдаются права. В данном случае мы используем globomantics\jeff.

Если Вы пробуете сделать это на новой системе, Вы, скорее всего, получите следующую ошибку:

Add-PswaAuthorizationRule : This command must be run by a user account with permissions to perform Active Directory queries.


Если вы запускаете эту команду в интерактивной сессии на сервере (а не удаленной), то все должно нормально работать. Проблема заключается во второй ретрансляции (hop). Командлету Add-PSwaAuthorizationRule необходимо установить связь с контроллером домена, для которого по правилам безопасности (security design) не разрешено находиться в состоянии PowerShell Remoting. Это ограничение второй ретрансляции (second-hop limitation) может быть преодолено с помощью активирования аутентификации CredSSP. Внимание: Этого не стоит делать “с налету”, так как имеются последствия для безопасности, требуется предварительное исследование.
Но в моем случае, так как я хочу использовать удаленный доступ, я выйду из удаленной сессии и активирую CredSSP на моей машине для сервера CHI-WEB01.

PS C:\> Enable-WSManCredSSP -DelegateComputer chi-web01 -Role Client


Активировали, теперь переключаемся на возможности сервера.

PS C:\> invoke-command {enable-wsmancredssp -Role Server -Force} -ComputerName chi-web01


Сделав это заново запускаем удаленное соединение, уточняющее CredSSP и мои параметры доступа.

PS C:\> enter-pssession chi-web01 -Authentication Credssp -Credential globomantics\jeff


Когда я запускаю команду авторизации, она работает так, как показано на рисунке 3.

image

Я также могу проверить правило:

[chi-web01]: PS C:\> Get-PswaAuthorizationRule

Id  RuleName     User               Destination          ConfigurationName

--  --------     ----               -----------          -----------------

0   Test Rule 1  globomantics\jeff  globomantics\chi...  microsoft.powers...



Вы можете добавить сколько угодно правил авторизации. Можно получать доступ к машине с PowerShell v2, если на ней включен удаленный доступ. Например, добавим правило для контроллера домена с PowerShell v2.

[chi-web01]: PS C:\> Add-PswaAuthorizationRule -rulename "Test Rule 2" -computername chi-dc02 -username globomantics\jeff -configuration microsoft.powershell –force


Для удаления правила используйте Remove-PwaAuthorizationRule. Уточните правило по id или объекту правила.

[chi-web01]: PS C:\> Remove-PswaAuthorizationRule -id 1 -whatif

What if: Performing operation "Remove-PswaAuthorizationRule" on Target "Rule 'Test Rule 2' (ID: 1)".

[chi-web01]: PS C:\> Get-PswaAuthorizationRule "test rule 2" | Remove-PswaAuthorizationRule –force –whatif

What if: Performing operation "Remove-PswaAuthorizationRule" on Target "Rule 'Test Rule 2' (ID: 1)".


То, что мы описали выше, можно сделать и через IIS менеджер. Но я предполагаю, что если вы решили настроить PowerShell Web Access, вам комфортнее работать именно в PowerShell. Командлеты для конфигурирования должны быть запущены на том веб-сервере, на котором находится приложение PSWA. В следующем статье будет рассмотрено тестирование и использование PowerShell Web Access.

Конец перевода.

Развертывание Windows PowerShell Web Access — статья на Technet
Netwrix
Company
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 0

Only users with full accounts can post comments. Log in, please.