Openstack endpoint-ok

Fórumok

Valaki el tudja magyarázni, hogy milyen gyakorlati haszna van a három különböző enpoint tipusnak? (public,admin,internal)
Milyen pluszt nyújt biztonság terén a 3 különböző endpoint az alap felhasználó authentication/authorization-on felül?
Tudják a különböző service-ek, hogy éppen melyik endpoint-juk lett meghivva? Ha igen, mit kezdenek ezzel az infóval?

Hozzászólások

Fél válasz:

OpenStack uses three API endpoint variants for each service: admin, internal, and public. The admin API endpoint allows modifying users and tenants by default, while the public and internal APIs do not allow these operations. In a production environment, the variants might reside on separate networks that service different types of users for security reasons. For instance, the public API network might be visible from the Internet so customers can manage their clouds. The admin API network might be restricted to operators within the organization that manages cloud infrastructure. The internal API network might be restricted to the hosts that contain OpenStack services. Also, OpenStack supports multiple regions for scalability. For simplicity, this guide uses the management network for all endpoint variations and the default RegionOne region.

"The admin API endpoint allows modifying users and tenants by default"
Ez csak a keystone-re igaz, abból is a v2-re, v3-ban már public meg az admin ugyanaz. Igazából az adminnak már nem nagyon van szerepe sehol (amit beidéztél, az kb. 6 verzióval a jelenlegi előttről van).

Igen, ezt már olvastam, meg ezt is: https://docs.openstack.org/security-guide/api-endpoints/api-endpoint-co…
De akkor sem áll össze a kép. Az endpoint csak egy URL ami mögött az adott service figyel. Mi értelme van jogosultság vagy trust zone szerint külön belépési pontnak, ha mind a három URL mögött ugyanaz a service figyel?

Honnan tudják a különböző service-ek, hogy az aktuális kérés éppen melyik URL-en jött? A service-k telepitésekor semmi ehhez kapcsolódót nem kell konfigurálni. És még ha tudja is valahogy, hogy melyik endpoint-ra jött a kérés, mit kezd ezzel az infóval? Nem enged bizonyos műveleteket? Mi alapján? Akkor minek vannak a role-ok?

Vagy minden service-ből külön példánynak kéne futnia amelyek kiszolgálnak egy-egy belépési pontot, hogy támadás esetén izolálva legyenek? Ebben látok némi logikát, de akkor miért nem elég mondjuk csak két endpoint (public és internal)? És legfőképpen miért kell az identity service public endpoint-ját használnia minden egyéb service-nek? Ez hangsúlyozva van a konfigfájlokban.