J
Jumpserver PAM FAQ
@JumpServerPAM1.0K подп.
1.5Kпросмотров
26 февраля 2026 г.
questionScore: 1.6K
Как получить пароль учетной записи по API? JumpServer PAM имеет полноценный API для автоматизации любых задач. API документирован в Swagger по адресу https://IP/api/docs Там есть все возможные API запросы, но нет запроса на получение пароля от учетных записей Чтобы получать текущие пароли по API, необходимо создать отдельный API ключ: 1. Перейдите в раздел PAM - INTEGRATION - Applications , нажмите на кнопку Create, укажите список УЗ, которые должны быть доступны через этот API ключ 2. Сохраните настройки. После сохранения параметров вы увидите ваш ID и Secret, запишите их. Для просмотра истории обращений на вкладке Call records есть журнал запросов со списком УЗ, чей пароль был получен по API. Пример скрипта для запроса пароля на 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)
1.5K
просмотров
2683
символов
Нет
эмодзи
Нет
медиа

Другие посты @JumpServerPAM

Все посты канала →
Как получить пароль учетной записи по API? JumpServer PAM им — @JumpServerPAM | PostSniper