API и интеграции
25min
общее описание api api пассворка предоставляет программный интерфейс для взаимодействия с сервисом управления паролями пассворк api позволяет автоматизировать операции с паролями, хранилищами, пользователями и другими объектами системы, обеспечивая полный программный контроль над всеми аспектами работы с пассворком основные возможности api api пассворка предоставляет следующие возможности управление паролями создание, получение, обновление, удаление паролей; управление хранилищами (vaults) создание новых хранилищ, управление доступом; управление папками создание структуры папок внутри хранилищ; управление пользователями создание пользователей, настройка прав доступа; управление группами пользователей объединение пользователей в группы для упрощения управления доступом; общий доступ к паролям предоставление другим пользователям доступа к паролям через механизм inbox; создание публичных ссылок временный доступ к паролям через ссылки; поддержка вложений работа с прикрепленными к паролям файлами; поиск и фильтрация поиск паролей по различным критериям; управление ярлыками создание ссылок на пароли в других хранилищах; работа с корзиной восстановление удаленных объектов; журналирование активности получение информации о действиях пользователей при установке пассворка в комплекте с zip архивом также поставляется api reference pdf , содержащий подробное описание всех доступных api эндпоинтов api reference pdf /files/api schema/'api reference pdf' клиентское шифрование одной из ключевых особенностей api пассворка является поддержка клиентского шифрования при использовании клиентского шифрования все критически важные данные (пароли, конфиденциальные поля, вложения) шифруются на стороне клиента перед отправкой на сервер принцип работы криптографии мастер пароль для шифрования используется мастер пароль, который знает только пользователь мастер пароль никогда не передается на сервер; мастер ключ на основе мастер пароля с использованием pbkdf2 (password based key derivation function 2) генерируется мастер ключ; хеш мастер ключа рассчитывается хеш мастер ключа с использованием sha 256 этот хеш передается на сервер для подтверждения подлинности клиента; ключи сейфов для каждого хранилища генерируется уникальный ключ, который используется для шифрования паролей и других данных в этом хранилище; асимметричное шифрование для обмена ключами между пользователями используется асимметричное шифрование (rsa) у каждого пользователя есть пара ключей публичный и приватный; шифрование данных для шифрования паролей и других конфиденциальных данных используется симметричное шифрование aes в режиме cbc с pkcs7 паддингом ответственность клиента api важно api пассворка спроектирован таким образом, что клиент должен самостоятельно реализовывать всю криптографическую логику сервер пассворка не выполняет операции шифрования и дешифрования данных, а лишь хранит уже зашифрованные данные клиент api должен обеспечивать генерацию и хранение мастер ключа на основе мастер пароля; шифрование данных перед отправкой на сервер; дешифрование данных, полученных с сервера; вычисление хеша мастер ключа для авторизации; асимметричное шифрование ключей при обмене с другими пользователями python коннектор для упрощения работы с api и реализации всех необходимых криптографических операций, пассворк предоставляет официальный python коннектор docid 8w5z65ituwt4ytymr2ai9 коннектор инкапсулирует всю сложность работы с криптографией и api в простой программный интерфейс python коннектор обеспечивает управление сессиями и авторизацией; автоматическое продление сессии по refreshtoken ; криптографические операции (шифрование/расшифрование); готовые методы для основных операций с api; универсальный метод call() для произвольных запросов к api авторизация и работа с сессиями авторизация процесс авторизации выглядит следующим образом пользователь пассворка на вкладке авторизация и 2фа в разделе api токены нажимает сгененировать пару ; сервер возвращает пару токенов accesstoken и refreshtoken ; пользователь использует accesstoken для всех последующих запросов, добавляя его в заголовок authorization bearer {accesstoken} ; если включено клиентское шифрование, пользователь также получает passwork masterkeyhash и добавляет его в заголовок работа с сессией и refreshtoken api пассворка использует механизм токенов доступа с ограниченным сроком действия access token основной токен для авторизации запросов имеет ограниченный срок действия (обычно несколько минут или часов); refresh token долгоживущий токен, используемый для получения нового access token без повторной аутентификации; обновление токена когда access token истекает, клиент получает ошибку 401 с кодом accesstokenexpired в этом случае клиент должен отправить запрос на эндпоинт /api/v1/sessions/refresh с текущим refresh token для получения новой пары токенов; автоматическое обновление python коннектор автоматически обрабатывает истечение срока действия токена и выполняет обновление без вмешательства пользователя; сохранение сессии python коннектор позволяет сохранять и восстанавливать сессии, что удобно для долгосрочной автоматизации сохраненные сессии шифруются для безопасности рекомендации по безопасности при использовании api пассворка следует соблюдать следующие рекомендации по безопасности защита api ключей храните api ключи в безопасном месте, используйте переменные окружения или защищенные хранилища секретов; ротация ключей регулярно обновляйте api ключи для минимизации рисков; https используйте только https для всех коммуникаций с api; минимальные привилегии создавайте отдельных пользователей для api с минимально необходимыми правами доступа; защита мастер пароля храните мастер пароль с максимальной защитой, так как компрометация мастер пароля приведет к компрометации всех паролей; защита сохраненных сессий обеспечьте надежную защиту сохраненных сессий и ключей шифрования; обработка ошибок внимательно обрабатывайте ошибки api, не раскрывая чувствительную информацию в логах основные эндпоинты и возможности api хранилища (vaults) создание хранилища post /api/v1/vaults получение списка хранилищ get /api/v1/vaults получение информации о хранилище get /api/v1/vaults/{id} обновление хранилища post /api/v1/vaults/{id} удаление хранилища delete /api/v1/vaults/{id} управление доступом пользователей post /api/v1/vaults/{id}/grant user access post /api/v1/vaults/{id}/revoke user access управление доступом групп post /api/v1/vaults/{id}/grant user group access post /api/v1/vaults/{id}/revoke user group access импорт хранилищ post /api/v1/vaults/import папки (folders) создание папки post /api/v1/folders получение списка папок get /api/v1/folders получение информации о папке get /api/v1/folders/{id} обновление папки post /api/v1/folders/{id} удаление папки delete /api/v1/folders/{id} копирование папки post /api/v1/folders/{id}/copy перемещение папки post /api/v1/folders/{id}/move управление доступом post /api/v1/folders/{id}/grant user access post /api/v1/folders/{id}/revoke user access импорт/экспорт папок post /api/v1/folders/import post /api/v1/directories/export элементы/пароли (items) создание пароля post /api/v1/items получение списка паролей get /api/v1/items получение информации о пароле get /api/v1/items/{id} обновление пароля patch /api/v1/items/{id} удаление пароля delete /api/v1/items/{id} копирование пароля post /api/v1/items/{id}/copy перемещение пароля post /api/v1/items/{id}/move получение вложений get /api/v1/items/{id}/attachment/{attachmentid} массовые операции post /api/v1/items/copy/bulk post /api/v1/items/move/bulk post /api/v1/items/delete/bulk импорт/экспорт паролей post /api/v1/items/import post /api/v1/items/export поиск паролей get /api/v1/items/search анализ безопасности get /api/v1/items/security analysis пользователи (users) создание пользователя post /api/v1/users получение списка пользователей get /api/v1/users получение информации о пользователе get /api/v1/users/{id} обновление пользователя patch /api/v1/users/{id} удаление пользователя delete /api/v1/users/{id} управление api ключами get /api/v1/users/api/settings post /api/v1/users/api/login post /api/v1/users/api/refresh key блокировка/разблокировка пользователя post /api/v1/users/{id}/block post /api/v1/users/{id}/unblock управление мастер ключом post /api/v1/users/master key/change post /api/v1/users/{id}/master key/reset двухфакторная аутентификация post /api/v1/users/2fa/set up post /api/v1/users/2fa/set state post /api/v1/users/2fa/reset группы пользователей (user groups) создание группы post /api/v1/user groups получение списка групп get /api/v1/user groups получение информации о группе get /api/v1/user groups/{id} обновление группы post /api/v1/user groups/{id} удаление группы delete /api/v1/user groups/{id} управление участниками группы post /api/v1/user groups/{id}/add users post /api/v1/user groups/{id}/remove users массовые операции с группами post /api/v1/user groups/delete/bulk post /api/v1/user groups/set state/bulk роли пользователей (user roles) создание роли post /api/v1/user roles получение списка ролей get /api/v1/user roles получение информации о роли get /api/v1/user roles/{id} обновление роли patch /api/v1/user roles/{id} удаление роли delete /api/v1/user roles/{id} управление разрешениями get /api/v1/user roles/permission items/list общий доступ (inbox items) отправка пароля пользователю post /api/v1/inbox items получение списка входящих паролей get /api/v1/inbox items получение входящего пароля get /api/v1/inbox items/{id} удаление входящего пароля delete /api/v1/inbox items/{id} установка типа доступа post /api/v1/inbox items/{id}/set access массовое удаление post /api/v1/inbox items/delete/bulk публичные ссылки (links) создание ссылки post /api/v1/links получение списка ссылок get /api/v1/links/folder/{folderid} get /api/v1/links/item/{itemid} get /api/v1/links/vault/{vaultid} получение ссылки по токену get /api/v1/links/token/{token} удаление ссылки delete /api/v1/links/{id} массовое удаление post /api/v1/links/delete/bulk корзина (bin items) получение списка элементов в корзине get /api/v1/bin items получение элемента корзины get /api/v1/bin items/{id}/folder get /api/v1/bin items/{id}/item get /api/v1/bin items/{id}/shortcut восстановление элементов post /api/v1/bin items/restore/bulk post /api/v1/bin items/restore and move/bulk удаление элементов delete /api/v1/bin items/{id} post /api/v1/bin items/delete/bulk delete /api/v1/bin items/all ярлыки (shortcuts) создание ярлыка post /api/v1/shortcuts получение списка ярлыков get /api/v1/shortcuts получение информации о ярлыке get /api/v1/shortcuts/{id} копирование ярлыка post /api/v1/shortcuts/{id}/copy перемещение ярлыка post /api/v1/shortcuts/{id}/move удаление ярлыка delete /api/v1/shortcuts/{id} массовые операции post /api/v1/shortcuts/create/bulk post /api/v1/shortcuts/copy/bulk post /api/v1/shortcuts/move/bulk post /api/v1/shortcuts/delete/bulk журналы активности (activity logs) получение журналов get /api/v1/activity logs получение информации о событии get /api/v1/activity logs/{id} получение последних действий пользователей get /api/v1/activity logs/directories/last users activities получение последних действий пользователя get /api/v1/activity logs/user/latest сессии (sessions) получение информации о текущей сессии get /api/v1/sessions/current/info получение списка сессий get /api/v1/sessions удаление сессии delete /api/v1/sessions/{id} выход из системы post /api/v1/sessions/logout обновление токена post /api/v1/sessions/refresh настройки (settings) получение/обновление настроек пароли get/patch /api/v1/settings/auth password complexity мастер пароли get/patch /api/v1/settings/master password complexity интерфейс get/patch /api/v1/settings/interface сессии get/patch /api/v1/settings/session уведомления get/patch /api/v1/settings/notifications журналы активности get/patch /api/v1/settings/activity log поиск get/patch /api/v1/settings/search хранилища get/patch /api/v1/settings/vault пользователи get/patch /api/v1/settings/user приглашения пользователей (user invites) создание приглашения post /api/v1/user invites получение списка приглашений get /api/v1/user invites получение информации о приглашении get /api/v1/user invites/{id} удаление приглашения delete /api/v1/user invites/{id} создание и отправка приглашения post /api/v1/user invites/create and send