ROBOT jelszómegtekintés
Robot (szkript, program, vagyis nem emberi) entitások emelt biztonsággal (mTLS authentikáció) tudják a PassMan-ból kivenni valamely rendszerhez való kapcsolódáshoz szükséges adatokat.
Az adott szkript vagy program tanúsítvány alapú mTLS bejelentkezéssel tudja a számára szükséges jelszavakat kivenni a PassManból.
Az mTLS authentikáció feltételei
1. Kliens (ROBOT) oldalon a következőkre van szükség
- Kliens nyilvános tanúsítványa (public certificate) - pl. client_1.crt
- Kliens privát kulcs (private key) - pl. client_2.key
2. Szerver oldalon pedig a következőkre:
- a kliens tanúsítványt aláíró CA nyilvános tanúsítványra (Root_CA.crt), ami lehet
- Root CA cert
- vagy Intermediate CA cert(ek)
- vagy lánc (chain): root + intermediate együtt
3. PassMan-ban felvett Robot felhasználó neve és a tanúsítványban szereplő felhasználónév azonos legyen
4. PassMan-ban felvett Robot felhasználó aktív legyen (ne legyen letiltva)
5. Padminban engedélyezve legyen az mTLS bejelentkezési mód (mTLS checkout engedélyezése - Padmin/Security Settings/ROBOT (Non Human Identity) settings részletek)
Az mTLS jelszómegtekintés működésének előfeltételei
- mTLS authentikáció megtörténjen
- Hívásban szereplő UID létezzen (ne legyen törölt)
- Hívásban szereplő robotnév (robot felhasználónév) létezzen és aktív legyen (ne legyen felfüggesztve!)
- A hivatkozott UID-hez a Robot felhasználónak legalább jelszó megtekintő jogosultsága legyen.
Kliens tanúsítvány formai követelményei
Kliens tanúsítványban szerepeljen az OtherName paraméterben a padminban meghatározott tanúsítványleíró és az adott robot felhasználóneve (pl. robot1).
Példa adat a tanúsítványban: OtherName=1.3.6.1.4.1.99999.1;UTF8:appID=robot1
- 99999 - cégazonosító (Ez nyílt Interneten kötelezően az adott cég regisztrált cégazonosítója (regisztráció ITT), de természetesen belső hálózaton bármilyen adat lehet)
- appID - kötelező! Csak akkor történik meb az mTLS bejelentkezés, ha ez a karaktersorozat van megadva
- robot1 - robotfelhasználó neve (bármi lehet, csak a robot felhasználók között kell lennie egy azonos nevű felhasználónak, hogy a bejelentkezés megtörténjen)
Szerver tanúsítvány feltöltése
- Root_CA.crt feltöltése - PassManből a ROBOT mappába a Robot_target eszközre kell a tanúsítványt vagy tanúsítványokat feltölteni az állományfeltöltés funkcióval
Előkészületek, beállítások
- PassMan beállítása mTLS működésre
- Padmin-ban az mTLS bejelentkezés engedélyezése és beállítása
- Root_CA tanúsítvány feltöltése
Az app_id-vel azonos nevű robot userek létrehozása
Ha a felhasználó neve azonos a tanúsítványban szereplő app_id-vel, de NEM robot felhasználó, akkor az mTLS jelszókikérés NEM fog működni!
- Hozzáférési jogosultságot adni azon elemekre, amelyen adott app_id azonosítójú felhasználó a jelszó vagy egyéb kapcsolódási adatokat meg akarja nézni
- Tanúsítványok elkészítése
- Root_CA tanúsítvány segítségével elkészítjük a kliens tanúsítványokat (minden klienshez egy darab egyedi tanúsítványt)
- API híváshoz szükséges adatok összegyűjtése
- Kliens tanúsítványok
- app_id - robot felhasználó neve
- account_id - adott felhasználói fiók azonosítója
- credential_type - az az azonosító típus, amit ki akarunk kérni. Általában "password".
- API hívás az összegyűjtött adatok birtokában
API hívás paraméterei
Hívás helye és neve: api/robots/checkout POST
- Paraméterei
- app_id - kötelező string, a tanúsítványbanban megadott felhasználó neve.
- account_id - kötelező string; melyik account-ot akarjuk checkout-olni.
- credential_type - kötelező string, az account-on melyik credential típust akarjuk kiszedni.
- értékkészlete: ????
- exclusive_duration - opcionális integer, hogy hány percre akarjuk kikérni .
Példa REST válasz:
// REST válasz { "Content": <password/ssh key/...>, "UserName": <username>, "Target": <address>, #mindenhol targetnév DE web esetén teljes URL "Autoreset":<TRUE/FALSE>; } Status Code: 200