Перейти к основному содержимому
Версия: 7.0

Python

Создать файл create_item.py с следующим содержимым:

from passwork_client import PassworkClient

# Конфигурация
ACCESS_TOKEN = "FxWvuVqP9cPvAdWq3BMsSwVaEtFltaka49sv+2HjJME="
REFRESH_TOKEN = "2z7wR6gkNYSVBZEV3D/zddX+GW7LYuNN4WYOaZxHgMQ=" # Опционально (необходим для обновления токенов)
MASTER_KEY = "EgOHwWQZcsgp/hFUAXS0PD60IUjxinfUEo8kUomhloumAXsRPtZ/7wTubtT7WXSpbfvKDDlm+yeOt5l5mN++IQ==" # Мастер ключ (если клиентское шифрование активировано)
HOST = "https://passwork.example.org" # Адрес Пассворка

# Авторизация в Пассворке
try:
passwork = PassworkClient(HOST)
passwork.set_tokens(ACCESS_TOKEN, REFRESH_TOKEN)
if bool(MASTER_KEY):
passwork.set_master_key(MASTER_KEY)
except Exception as e:
print(f"Error: {e}")
exit(1)

# Пример: Создания записи
try:
VAULT_ID = "68d3c3b3473b357ee60a66b8"

# Пример дополнительных полей
custom_fields = [
{
"name": "Text Field",
"value": "Field value",
"type": "text"
},
{
"name": "Custom Password",
"value": "Secret123!",
"type": "password"
},
{
"name": "TOTP",
"value": "ABCDEFGHIJKLMNOP",
"type": "totp"
}
]

# Подготовка данных записи
item_data = {
"vaultId": VAULT_ID,
"name": "Доступ к Grafana",
"login": "ldap_view_grafana@passwork.local",
"password": "P@ssw0rd",
"url": "https://grafana.passwork.com",
"description": "Описание к Записи",
"tags": ["grafana", "monitoring"],
"customs": custom_fields
}

# Создание записи
item_id = passwork.create_item(item_data)
print(f"Item created with ID: {item_id}")

# Получить данные созданной записи
item = passwork.get_item(item_id)
print(f"Created item: {item}")

except Exception as e:
print(f"Error: {e}")
Описание
  • В значение VAULT_ID поместить ID сейфа в котором будет создаваться запись. ID сейфа можно получить открыв веб-интерфейс Пассворка, встать на сейф, и в адресной строке отобразится ID, пример — https://passwork.example.org/68d3c3b3473b357ee60a66b8
  • Если не планируется создание дополнительных полей, то удалить массив custom_fields и в item_data удалить поле customs с значением
  • Если вывод созданной Записи не требуется, нужно закомментировать item = passwork.get_item(item_id) и print(f"Created item: {item}")

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

(api) passwork@api-integration:~# python3 create_item.py 
Item created with ID: 68d3d19c3ea6febf700c740a
{
"id": "68d3d19c3ea6febf700c740a",
"vaultId": "68d3c3b3473b357ee60a66b8",
"folderId": null,
"passwordEncrypted": "amt4cwv48xb6pp1h7564uuku8d44era25dn66ja39dhqcta4ddm6wy3m6dnpck36dgqm2f8",
"keyEncrypted": "amt4cwv48xb6pp1h5xcqgcvr6gtq0xu3ehnk2v396993ayjt5wqpyxv1c586gtb8axk7mxvb84tm8thpd0rkcnk79hmn0nub9ntpyrv5b1n7jcu4c5r68x399xwnevupc8wpghbra5n7mhjp9x1n4cjgb9aqcnjhb566mm2u69ck0rucf5j4mjhf8t5myrbmctt4wp9ba5nkjmjc70qqmhubahu7acb48ha3crjj6t4pet3pf97ppx33b8w38rj7ehtqjxj2edupry3nb4yg",
"customs": [
{
"name": "Text Field",
"value": "Field value",
"type": "text"
},
{
"name": "Custom Password",
"value": "Secret123!",
"type": "password"
},
{
"name": "TOTP",
"value": "ABCDEFGHIJKLMNOP",
"type": "totp"
}
],
"attachments": [],
"name": "Доступ к Grafana",
"login": "ldap_view_grafana@passwork.local",
"url": "https://grafana.passwork.com",
"description": "Описание к Записи",
"tags": [
"grafana",
"monitoring"
],
"fieldsOrder": null,
"isDeleted": false,
"color": 0,
"isFavorite": false,
"vaultMasterKeyEncrypted": "YTn1XiFjvaF8ijSFZe3rqGvEjboMD9bwWm2ssviZg/jb9cJQXbBcceVm+Fga7ZcIqWKHBe/SncGgfyAqMCJr+Hm49mqVCfoyMxX/euYU8qRnxXHys1A9HIJRsCbJnrS3i+t6+FWwuXwHRb/wLQYnGMP5G086BT8OmBTu4dBaNHkHfn2RNzo8OurrXczyPjNl6RBOL9BngbL4rGaGftCOpc2kuVHNS3DJkZi5k5L1OiOGkV04l5quLwOzqBZLozlzVx7WREZQansRgsXTEGEwNdxHrXgfl1HX4jpmWCl3CYFf/xK3vPrGvg78keio7fT/scDf3mgnYIy3KuwJFrMftg==",
"password": "P@ssw0rd"
}