Перейти к основному содержимому
Версия: Privileged Access Manager 3.4

Автоматизация через ConsoleApp

Утилита ConsoleApp позволяет автоматически управлять объектами Indeed PAM и настраивать права доступа. Например, с помощью утилиты можно одновременно создать несколько ресурсов или учетных записей, а также отозвать все неиспользуемые разрешения.

Примечание

Все операции, выполненные утилитой, записываются в журнал События.

Аутентификация

Перед началом работы с утилитой настройте аутентификацию, чтобы получить доступ к Indeed PAM. ConsoleApp поддерживает следующие режимы аутентификации по протоколу OAuth 2.0:

  • Resource Owner Password Flow (ROPC) — утилита получает токен доступа от имени пользователя PAM и передает его учетные данные компоненту Indeed PAM IDP. Все действия, совершаемые через утилиту, выполняются от имени пользователя PAM, а доступные операции ограничены привилегиями указанного пользователя.
  • Client Credentials Flow — утилита аутентифицируется в PAM от своего имени в режиме Machine-to-Machine (M2M). Все действия, совершаемые через утилиту, выполняются от имени сервисного клиента Console Application, а доступные операции ограничены привилегиями этого клиента.
Примечание

Для ROPC-аутентификации не заполняйте параметр clientSecret — оставьте значение пустым.

Чтобы настроить аутентификацию:

  1. Перейдите в папку с утилитой и откройте конфигурационный файл appsettings.json.
  2. Для параметра coreUrl укажите адрес компонента Core.
  3. Для параметра idpUrl укажите адрес компонента IdP.
  4. Для параметра authUsername укажите логин пользователя PAM.
    Если не заполнить параметр, логин потребуется ввести при запуске утилиты.
  5. Для параметра authPassword укажите пароль пользователя PAM.
    Если не заполнить параметр, пароль потребуется ввести при запуске утилиты.

При запуске утилиты аутентификация выполняется от имени указанного пользователя PAM. Если для пользователя настроена двухфакторная аутентификация, утилита запросит OTP-код.

Пример конфигурационного файла
{
"coreUrl": "https://pam.example.local/core",
"idpUrl": "https://pam.example.local/idp",
"clientSecret": "",
"authUsername": "ConsoleAppUser",
"authPassword": "#123QwerTy!",
"skipErrorsInBulkProcessing": true,
"NLog": {
"variables": {
"minLevel": "Trace",
"dbMinLevel": "Info",
"maxArchiveFilesPerCategory": 23
},
"rules": {
"1": {
"logger": "*",
"minLevel": "Trace",
"writeTo": "processFile"
}
}
}
}

Операции с учетными записями

Создать учетную запись

Чтобы создать учетную запись в Indeed PAM:

  1. Перейдите в папку с утилитой.

  2. Запустите утилиту с параметрами из таблицы:

    .\Pam.ConsoleApp.exe create-account <параметр> <значение>
    Параметры
    ПараметрТребование
    Описание
    --usernameОбязательныйИмя учетной записи
    --resource или --domainОбязательныйРазмещение учетной записи:
    • --resource — имя ресурса;
    • --domain — имя домена.

    Укажите один из параметров.
    --passwordНеобязательныйПароль учетной записи
    --descriptionНеобязательныйОписание
    --policyНеобязательныйПолитика, которую требуется применить к учетной записи
    --key-fileНеобязательныйПуть к файлу SSH-ключа, например: .\id_rsa
    --key-passphraseНеобязательныйПароль к файлу SSH-ключа
    Примеры команд
    Создать учетную запись
    .\Pam.ConsoleApp.exe create-account `
    --username Administrator `
    --resource app01.local `
    --password "Pass123$" `
    --description "Local admin" `
    --policy Default
    Создать доменную учетную запись
     .\Pam.ConsoleApp.exe create-account --username Administrator --domain dev.local  
    Создать учетную запись с SSH-ключом
     .\Pam.ConsoleApp.exe create-account `
    --username root `
    --resource linux01.local `
    --password "Pass123$" `
    --key-file .\id_rsa `
    --key-passphrase "Passphrase"

Удалить учетную запись

Чтобы удалить учетную запись из Indeed PAM:

  1. Перейдите в папку с утилитой.

  2. Выполните команду, указав имя учетной записи или ее идентификатор:

    .\Pam.ConsoleApp.exe delete-account --name <имя учетной записи>
    .\Pam.ConsoleApp.exe delete-account --id <идентификатор учетной записи>

    Идентификатор отображается в URL-адресе в профиле учетной записи.

    Примеры команд
    Удалить учетную запись по имени
    .\Pam.ConsoleApp.exe delete-account --name app01.local\User
    Удалить учетную запись по идентификатору
    .\Pam.ConsoleApp.exe delete-account --id a988f1b0-b871-43fa-a40c-6f4ac75f904c

Операции с ресурсами

Создать ресурс

Чтобы создать ресурс в Indeed PAM:

  1. Перейдите в папку с утилитой.

  2. Запустите утилиту с параметрами из таблицы:

    .\Pam.ConsoleApp.exe create-resource <параметр> <значение>
    Параметры
    ПараметрТребование
    Описание
    --nameОбязательныйИмя ресурса
    --descriptionНеобязательныйОписание
    --dns-name или --ip-addressОбязательныйАдрес ресурса:
    • --dns-name — DNS-имя;
    • --ip-address — IP-адрес.

    Можно указать один из параметров.
    --user-connection-typeОбязательныйТип пользовательского подключения. Подробнее о типах читайте в разделе Пользовательское подключение.
    --user-connection-addressНеобязательныйIP-адрес или DNS-имя пользовательского подключения
    --user-connection-portНеобязательныйПорт пользовательского подключения
    --user-connection-matching-urlНеобязательныйURL-адрес страницы входа для веб-ресурса
    --user-connection-matching-url-is-regexНеобязательныйURL-адрес страницы входа является регулярным выражением:
    • true — является;
    • false — не является.

    Укажите, если задан параметр UC matching url.
    --service-accountНеобязательныйИмя сервисной учетной записи
    --service-connection-typeНеобязательныйТип сервисного подключения. Подробнее о типах читайте в разделе Сервисное подключение.
    --service-connection-portНеобязательныйПорт для сервисного подключения
    --service-ssh-templateНеобязательныйИмя шаблона SSH-коннектора. Укажите, если выбран тип сервисного подключения SSH.
    --cisco-privilege-mode-passwordНеобязательныйПароль для привилегированного входа Cisco. Укажите, если задан тип сервисного подключения Cisco IOS.
    --policyНеобязательныйПолитика, которую требуется применить к ресурсу
    Примеры команд
    Создать один ресурс
     .\Pam.ConsoleApp.exe create-resource `
    --name APP01 `
    --description "Application server" `
    --dns-name app01.local `
    --user-connection-type RDP `
    --user-connection-port 3389 `
    --service-account DOMAIN\svc_app `
    --service-connection-type Windows

Удалить ресурс

Чтобы удалить ресурс из Indeed PAM:

  1. Перейдите в папку с утилитой.

  2. Выполните команду, указав имя ресурса или его идентификатор:

    .\Pam.ConsoleApp.exe delete-resource --name <имя ресурса>
    .\Pam.ConsoleApp.exe delete-resource --id <идентификатор ресурса>

    Идентификатор отображается в URL-адресе в профиле ресурса.

    Примеры команд
    Удалить ресурс по имени
    .\Pam.ConsoleApp.exe delete-resource --name app01.local
    Удалить ресурс по идентификатору
    .\Pam.ConsoleApp.exe delete-resource --id a988f1b0-b871-43fa-a40c-6f4ac75f904c

Операции с разрешениями

Создать разрешение

Чтобы создать разрешение в Indeed PAM:

  1. Перейдите в папку с утилитой.

  2. Запустите утилиту с параметрами из таблицы:

    .\Pam.ConsoleApp.exe create-permission <параметр> <значение>
    Параметры
    ПараметрТребование
    Описание
    --userОбязательныйИмя пользователя PAM в формате UPN
    --accountНеобязательныйИмя учетной записи PAM для подключения к ресурсу. Если не указать значение, при запуске сессии потребуется указать логин и пароль учетной записи.
    --resources или --resources-groupОбязательныйИмя ресурса или группы ресурсов. Укажите в формате:
    • <имя ресурса>:<тип подключения> — для одного или нескольких ресурсов;
    • <имя группы> — для группы ресурсов.
    --active-fromНеобязательныйПериод времени, когда разрешение станет активным. Укажите в формате ДД.ММ.ГГГГ ЧЧ:ММ или ДД.ММ.ГГГГ.
    --active-toНеобязательныйПериод времени, когда разрешение приостановит свое действие. Укажите в формате ДД.ММ.ГГГГ ЧЧ:ММ или ДД.ММ.ГГГГ.
    --schedule-time-fromНеобязательныйВремя, когда разрешение можно использовать. Укажите в формате ЧЧ:ММ.
    --schedule-time-endНеобязательныйВремя, когда разрешение нельзя использовать. Укажите в формате ЧЧ:ММ.
    --schedule-time-utcНеобязательныйПреобразовывать заданное время доступа из текущего часового пояса в UTC:
    • true — использовать текущий часовой пояс;
    • false — преобразовать в UTC.
    --allow-to-view-credsНеобязательныйРазрешить пользователю просматривать данные учетных записей, добавленных в разрешение:
    • true — разрешить;
    • false — не разрешать.
    --allow-to-change-credsНеобязательныйРазрешить пользователю менять данные учетных записей, добавленных в разрешение:
    • true — разрешить;
    • false — не разрешать.
    Примеры команд
    Создать разрешение для нескольких ресурсов
    .\Pam.ConsoleApp.exe create-permission `
    --user ivanov@domain.local `
    --account DOMAIN\Administrator `
    --resources srv01.local:RDP,srv02.local:SSH
    Создать разрешение для группы ресурсов
    .\Pam.ConsoleApp.exe create-permission `
    --user ivanov@domain.local `
    --account DOMAIN\Administrator `
    --resources-group PROD-SERVERS
    Создать разрешение с временным ограничением
    .\Pam.ConsoleApp.exe create-permission `
    --user ivanov@domain.local `
    --resources srv01.local:SSH `
    --active-from "01.08.2026 09:00" `
    --active-to "31.08.2026 18:00" `
    --schedule-time-from 08:00 `
    --schedule-time-end 21:59 `
    --schedule-time-utc true `
    --allow-to-view-creds true `
    --allow-to-change-creds true

Отозвать разрешение

Предупреждение

Отозванные разрешения нельзя восстановить. Если требуется временно запретить использовать разрешение, то приостановите его действие.

Чтобы отозвать разрешение:

  1. Перейдите в папку с утилитой.

  2. Выполните следующую команду:

    Отозвать разрешение по номеру
    .\Pam.ConsoleApp.exe revoke-permissions --permissions <номера разрешений>
    Отозвать разрешение пользователя
    .\Pam.ConsoleApp.exe revoke-permissions-by-user <параметр> <значение>
    Параметры
    ПараметрТребование
    Описание
    --userОбязательныйИмя пользователя PAM в формате UPN
    --accountНеобязательныйИмя учетной записи
    --resources или --resources-group ОбязательныйИмя ресурса или группы ресурсов. Укажите один из параметров.
    Примеры команд
    Отозвать разрешения пользователя по ресурсам
    .\Pam.ConsoleApp.exe revoke-permissions-by-user `
    --user ivanov@domain.local `
    --account DOMAIN\Administrator `
    --resources srv01.local:RDP,srv02.local:SSH
    Отозвать разрешения пользователя по группе ресурсов
    .\Pam.ConsoleApp.exe revoke-permissions-by-user `
    --user ivanov@domain.local `
    --account DOMAIN\Administrator `
    --resources-group PROD-SERVERS

После выполнения команды указанные разрешения переходят в состояние Отозвано.

Приостановить разрешение

Неиспользуемое разрешение — разрешение, которым не воспользовались в течение периода, заданного в настройках Контроль использования PAM. Рекомендуется отозвать или приостановить такое разрешение.

Чтобы приостановить неиспользуемые разрешения:

  1. Перейдите в папку с утилитой.

  2. Выполните следующую команду:

    .\Pam.ConsoleApp.exe suspend-unused-permissions

После выполнения команды все неиспользуемые разрешения переходят в состояние Приостановлено.
В любой момент разрешение можно возобновить.