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

в 13:17, , рубрики: powershell, pswa, Блог компании NetWrix

PowerShell Web Access: конфигурирование
Продолжаем знакомиться с 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 globomanticsjeff -configuration microsoft.powershell

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

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

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 globomanticsjeff

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

image

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

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

Id  RuleName     User               Destination          ConfigurationName

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

0   Test Rule 1  globomanticsjeff  globomanticschi...  microsoft.powers...

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

[chi-web01]: PS C:> Add-PswaAuthorizationRule -rulename "Test Rule 2" -computername chi-dc02 -username globomanticsjeff -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

Автор: AMarkin

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js