Kubeflow Authentication
Kubeflow Authentication, Profile, Istio, Dex
Last updated
Kubeflow Authentication, Profile, Istio, Dex
Last updated
์ฟ ๋ฒ๋คํฐ์ค๋ ์ด์คํฐ์ค์ ์ฐ๋ํ์ฌ ์ฌ์ฉ์ ์ธ์ฆ์ ๋ฆฌ์์ค ๊ถํ ๊ด๋ฆฌ๋ฅผ ์ํํ์ฌ ์ฌ์ฉ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ค.
๋ค์ ์ํฌํ๋ก์ฐ ์์๋ ์ฌ์ฉ์๊ฐ ์์ฒญํ Kubeflow Central Dashboard์์ ๋ ธํธ๋ถ ์๋ฒ ์์ฑ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์ด๋ค.
1) ๋ก๊ทธ์ธ ํ์ง ์์ ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ Kubeflow์ ์ ์ํ๋ฉด, Dex๋ฅผ ํตํด idP๋ก Redirection ํ๋ค. 2) ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ๋ฉด, ์ฟ ํค๊ฐ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ๊ณ , ์ฌ์ฉ์์ Request๋ฅผ Istio Gateway์์ JWT(JSON Web Token)๋ฅผ ํ์ธํ ํ idP์ ์ธ์ฆ์ ์์ฒญํ๋ค. (์ธ์ฆ์ ํ๋ฒ๋ง ์ํ๋๋ค.) 3) Istio RBAC์ Request ์ ๊ทผ๊ถํ(Service, Namespace)์ ํ์ธํ๋ค. 4) Request ์ ๊ทผ๊ถํ์ด ํ์ธ๋๋ฉด, Request๋ฅผ ํด๋น Controller์ ์ ๋ฌํ๋ค. 5) Controller๋ Kubernetes RBAC์์ ์ธ์ฆ๋ฐ๊ณ ์ฌ์ฉ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
๋ชจ๋ ์์ฒญ์ AuthService(Authorization)๋ก ์ ๋ฌํ๋ค.
ServiceRole๊ณผ ServiceRoleBinding์ผ๋ก ๋ฆฌ์์ค ๊ถํ์ ์ ์ํ๋ค.
Kubeflow Profile Kubeflow Profile CRD๋ ์ฌ์ฉ์ ๋ณ ๋ฆฌ์์ค ๊ถํ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ณ ์๋์๋ค. ์ฟ ๋ฒ๋คํฐ์ค์์ ์ฌ์ฉ์ ๋ฆฌ์์ค๋ฅผ ๊ฒฉ๋ฆฌํ๋ ๊ฐ๋ ์ธ ๋ค์์คํ์ด์ค์ ๋ ํผ์ด๋ค. Profile ๋ง๋ค ํ๋์ Namespace๋ฅผ ๊ฐ์ง ์ ์๊ณ , Profile ์์ ์๋ ๋ค๋ฅธ ์ฌ์ฉ์์ ๊ณต์ ํ ์ ์๋ค.
https://speakerdeck.com/chanyilin/authz?slide=12 https://medium.com/kubeflow/enabling-kubeflow-with-enterprise-grade-auth-for-on-premise-deployments-ae7dd13a69e5 https://www.kubeflow.org/docs