Product SiteDocumentation Site

44.2.2. API-токены

API-токены позволяют другой системе, программному обеспечению или API-клиенту получать доступ без сохранения состояния к большинству частей REST API. Токены могут быть сгенерированы для отдельных пользователей и им могут быть предоставлены отдельные разрешения и даты истечения срока действия для ограничения объема и продолжительности доступа (подробнее см. API-токены). Если API-токен будет скомпрометирован, его можно отозвать, не отключая самого пользователя.
Примеры запросов с использованием API-токена:
  • получить список пользователей:
    $ curl -H 'Authorization: PVEAPIToken=root@pam!test=373007e1-4ecb-4e56-b843-d0fbed543375' \
    https://192.168.0.186:8006/api2/json/access/users
    
  • добавить пользователя testuser@pve:
    $ curl -k -X 'POST' \
    'https://pve01:8006/api2/json/access/users' \
    --data-urlencode 'userid=testuser@pve' \
    -H 'Authorization: PVEAPIToken=root@pam!test=373007e1-4ecb-4e56-b843-d0fbed543375'
    
  • удалить пользователя testuser@pve:
    $ curl -k -X 'DELETE' \
    'https://pve01:8006/api2/json/access/users/testuser@pve' \
    -H 'Authorization: PVEAPIToken=root@pam!test=373007e1-4ecb-4e56-b843-d0fbed543375'
    

Примечание

Если запрос завершается ошибкой вида:
curl: (60) SSL certificate problem: unable to get local issuer certificate
можно дополнить запрос опцией --insecure (-k), для отключения проверки валидности сертификатов:
$ curl -k -H 'Authorization: PVEAPIToken=root@pam!test=373007e1-4ecb-4e56-b843-d0fbed543375' \
https://192.168.0.186:8006/api2/json/

Примечание

API-токены не нуждаются в значениях CSRF для POST, PUT или DELETE запросов. Обычно токены не используются в контексте браузера, поэтому основной вектор атаки CSRF изначально неприменим.