iT邦幫忙

2021 iThome 鐵人賽

DAY 28
0
DevOps

玩耍開源k8s30天系列 第 28

day28 : OPA規範k8s yaml(上)

k8s上能夠流程化的進行佈署與管理後,進一步地可以探討應該如何進行安全性的議題,一部分可以透過rbac控管resource的存取,也可以透過sso的方式管理登入者驗證,外部存取透過api gateway控管,那麼進一步的就是yaml的限制了,為什麼要限制yaml呢?又什麼是限制yaml呢?

這兩個問題原因在於k8s就是一個服務的平台,只要有權限並且符合resource的spec就可以佈署上來,因此很容易造成一些問題像是有人使用來源不明的image、使用到privileged權限等等可能有資安問題的風險,同時也可以制定一些管理規範諸如image不可以使用latest這種具有風險的tag、避免缺少label的問題,使用open policy agent就可以在服務佈署到k8s上時多一層管控來驗證yaml的內容是否符合規範。

那麼opa是怎麼運作的呢?
https://ithelp.ithome.com.tw/upload/images/20210928/20139661H4st14tSly.png
OPA的運行是透過gatekeeper來作業的,在配置好opa gatekeeper後,定義constraints policy說明yaml要遵守的規則與yaml會透過怎樣的rego語法檢核,這樣yaml在宣告給k8s api時就會去確認是否有符合所有opa的規範,沒有符合的話deployment的事件將會記錄被opa擋下來並且無法佈署服務。


上一篇
day27 : k8s backup/restore/migrate with velero(下)
下一篇
day29 : OPA規範k8s yaml(下)
系列文
玩耍開源k8s30天31

尚未有邦友留言

立即登入留言