Uživatelské nástroje

Nástroje pro tento web


navody:vps:api

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
navody:vps:api [2024/01/02 18:20] – Aktualizace autentizace aithernavody:vps:api [2024/01/02 21:06] (aktuální) – [Instalace klienta] Nepotrebujeme openssl aither
Řádek 47: Řádek 47:
  
 ==== HTTP Basic ==== ==== HTTP Basic ====
-S každým požadavkem na API se musí zaslat jméno a heslo v HTTP hlavičče "Authorization".+S každým požadavkem na API se musí zaslat jméno a heslo v HTTP hlavičce "Authorization".
 Je to dobrá volba pro jednorázové akce, pokud je ale potřeba API volat vícekrát nebo Je to dobrá volba pro jednorázové akce, pokud je ale potřeba API volat vícekrát nebo
 automatizovaně, ukládání hesla na disk či neustálé opisování není dobrý nápad. HTTP basic automatizovaně, ukládání hesla na disk či neustálé opisování není dobrý nápad. HTTP basic
Řádek 65: Řádek 65:
  
 Typ tokenu a časový interval, o který se prodlužuje, si volí klient. Typ tokenu a časový interval, o který se prodlužuje, si volí klient.
 +
 +===== Scopes =====
 +U autentizačních tokenů si můžeme zvolit, jaké akce bude token mít k dispozici.
 +To se může hodit u tokenů s dlouhou nebo permanentní platností. Každá akce
 +má svůj //scope//, jehož název najdeme v dokumentaci. Dostupné scope se nastavuje,
 +když žádáme o nový token, tj. zasílá se společně s přihlašovacími údaji.
 +
 +Ukázky možných scopes:
 +
 +  * ''all'' povolí přístup ke všem akcím, toto je výchozí hodnota
 +  * prázdný scope, přístup je povolen jen k akci ''user#current'', což zobrazí info o aktuálním uživateli; toto se využívá pro přihlášení do Discourse a KB
 +  * ''vps#show'' povolí zobrazení info o jakékoli VPS
 +  * ''vps#show:vps_id=123'' info o VPS s ID 123
 +  * ''vps#*'' umožní volat všechny akce nad všemi VPS
 +  * ''vps#*:vps_id=123'' všechny akce nad VPS s ID 123
 +  * ''{vps,dataset}#{index,show}''  umožní vylistovat VPS a datasety a zobrazit údaje o jednom konkrétním
 +
 +Scope může obsahovat globy pro název resource a akce. Akce je od resource oddělena křížkem (''#''). Volitelné ID objektů se píšou za dvojtečkou ('':'') a nemohou obsahovat globy, musí být přesně. Každý token může mít více nastavených scopes, oddělují se mezerou. Pro udělení přístupu musí aspoň jedno nastavené scope platit pro volanou akci v API.
  
 ===== Instalace klienta ===== ===== Instalace klienta =====
 [[https://github.com/vpsfreecz/vpsfree-client|Klient pro Ruby]] obsahuje CLI [[https://github.com/vpsfreecz/vpsfree-client|Klient pro Ruby]] obsahuje CLI
 (rozhraní pro příkazovou řádku) a knihovnu pro použití v Ruby skriptech. (rozhraní pro příkazovou řádku) a knihovnu pro použití v Ruby skriptech.
-Pro správnou funkci vyžaduje Ruby >= 2.7 nainstalované hlavičkové soubory +Pro správnou funkci vyžaduje Ruby >= 2.7nainstalované hlavičkové soubory 
-Ruby, OpenSSL a ncurses (většinou balíčky s příponou ''-dev'' či ''-devel'').+Ruby a ncurses (většinou balíčky s příponou ''-dev'' či ''-devel'').
 Poté klienta nainstalujeme pomocí Ruby gems: Poté klienta nainstalujeme pomocí Ruby gems:
  
Řádek 255: Řádek 273:
         --user USER                  User name         --user USER                  User name
         --password PASSWORD          Password         --password PASSWORD          Password
 +        --scope [SCOPE]              Scope
         --token TOKEN                Token         --token TOKEN                Token
         --token-lifetime LIFETIME    Token lifetime, defaults to renewable_auto         --token-lifetime LIFETIME    Token lifetime, defaults to renewable_auto
Řádek 299: Řádek 318:
 přístupem k ''~/.haveapi-client.yml'' může token získat a použít. přístupem k ''~/.haveapi-client.yml'' může token získat a použít.
 </note> </note>
 +
 +Při vytváření tokenu můžeme specifikovat scope:
 +<code bash>
 +$ vpsfreectl --auth token --scope 'vps#*:vps_id=123' --save vps show 123
 +</code>
 +
 +Příkaz výše vytvoří autentizační token, který bude omezen na volání akcí nad resource ''vps'' s ID 123.
  
 ==== Akce a parametry ==== ==== Akce a parametry ====
navody/vps/api.1704219623.txt.gz · Poslední úprava: 2024/01/02 18:20 autor: aither