JumpServer PAM » Документация » Дополнительеные возможности » Как получить пароль учетной записи по API?

Как получить пароль учетной записи по API?

JumpServer имеет полноценный API, описанный через Swagger, доступный по адресу https://IP/api/docs 
Там все все возможные API запросы, но нет запроса на получение пароля от учетных записей

Чтобы иметь возможность получать текущие пароли по API, необходимо создать отдельный API ключ.

Перейдите в раздел PAM - INTEGRATION - Applications , нажмите на кнопку Create, укажите список УЗ, которые должны быть доступны через этот API ключ, после сохранения параметров вы увидите ваш API ключ(точнее пару ID и Secret)

На вкладке Call records вы увидите журнал запросов с указанием пароль какой УЗ был получен по этому запросу.

Пример скрипта для запроса пароля на Python:

import warnings
warnings.filterwarnings("ignore", message="pkg_resources is deprecated as an API")

import requests
import os
from datetime import datetime, timezone
from httpsig.requests_auth import HTTPSignatureAuth

warnings.filterwarnings("ignore", category=UserWarning, module="httpsig")

API_URL = os.getenv("API_URL", "https://js44.afi.local")
KEY_ID = os.getenv("API_KEY_ID", "89044e4b-352e-4a67.....")
KEY_SECRET = os.getenv("API_KEY_SECRET", "OXqDBf6wDnBGRm.....")
ORG_ID = os.getenv("ORG_ID", "00000000-0000-0000-0000-000000000002")


class APIClient:
    def __init__(self):
        self.session = requests.Session()
        self.auth = HTTPSignatureAuth(
            key_id=KEY_ID, secret=KEY_SECRET,
            algorithm='hmac-sha256', headers=['(request-target)', 'accept', 'date', 'x-jms-org']
        )

    def get_account_secret(self, asset, account):
        url = f"{API_URL}/api/v1/accounts/integration-applications/account-secret/"
        headers = {
            'Accept': 'application/json',
            'X-JMS-ORG': ORG_ID,
            'Date': datetime.now(timezone.utc).strftime('%a, %d %b %Y %H:%M:%S GMT'),
            'X-Source': 'jms-pam'
        }
        params = {"asset": asset, "account": account}

        try:
            response = self.session.get(
                url,
                auth=self.auth,
                headers=headers,
                params=params,
                timeout=10,
                verify="afi-AFIDC-CA.crt"
            )
            response.raise_for_status()
            return response.json()
        except requests.RequestException as e:
            print(f"API Ошибка запроса: {e}")
            return None


if __name__ == "__main__":
    client = APIClient()
    result = client.get_account_secret(asset="Lab_Rabbit", account="serg")
    print(result)
<< Настройка интеграции JumpServer с KeyCloak с помошью OpenID Connect Примеры API запросов (получение списка пользователей и устройств, список команд в сессии) >>

Нужна помощь?

Поддержка во время пилота JumpServer PAM Enterprise Edition

Вы начали тестирование JumpServer PAM EE и столкнулись с проблемой? Наш процесс включает в себя организацию групп переписок в электронной почте или групп в Telegram для оперативного решения вопросов. Если вы уверены, что вас не добавили в такую группу, обратитесь к вашему поставщику или к нам по адресу support@afi-d.ru

Обучение ваших специалистов настройке и администрированию JumpServer PAM

В рамках действующей подписки на техническую поддержку мы обучим ваших специалистов установке, настройке, адмнистрированию JumpServer PAM, а также восстановлению после ошибок и аварий.

Обучение проходит онлайн, по заранее согласованному плану, включает в себя обязательную проверку знаний на практике с выдачей именных сертификатов (в случае успешной сдачи экзамена).

Видео-инструкции

Посетите наш канал на RuTube с видео-инструкциями по настройке всех разделов JumpServer PAM. Видео на русском языке и актуализируются с выходом новых версий.

Техподдержка бесплатной редакции JumpServer PAM Community Edition

Мысль о внедрении непростой, но критичной для бизнеса PAM-системы может пугать кажущейся сложностью настройки системы, обучением администраторов и специалистов ИБ, изменениями в процессах работы с учетными записями.

Чтобы внедрение и настройка JumpServer Community Edition были комфортными, а также чтобы вы всегда могли обратиться за помощью к профессионалам, AFI Distribution предлагают годовую подписку на техническую поддержку.

Пакет поддержки в 1.5 млн рублей за экземпляр JumpServer Community Edition (без ограничений на количество пользователей и целевых систем) включает всё необходимое для использования PAM:

  • документацию на русском языке;
  • сценарии использования и рекомендуемые архитектуры для установки;
  • обучение администраторов и специалистов ИБ работе с JumpServer;
  • подсказки и решения для популярных вопросов;
  • оповещения о выходе новых версий с проверенной инструкцией для апгрейда;
  • подключение к Radius и многофактороной аутентификации «Мультифактор» ;
  • прямой доступ к инженеру (без первой линии) с понятным SLA.
Узнать больше и приобрести вы можете на странице Подписка на техподдержку