2
A
回答
3
據我所知,沒有辦法通過CRL直接吊銷證書。但是,什麼工作,以及我們目前使用的是ABAC policies以識別用戶(通過證書的公用名設置)以及他們是否有權訪問Kubernetes上的給定資源。
舉個例子,假設你有一個叫做「random」的用戶。您將從您指定的證書頒發機構爲其生成一份客戶證書,並使用通用名稱「隨機」。
從那裏,你可以有一個ABAC策略文件(一個csv文件,每一行都是JSON位),爲用戶設置「隨機」權限,爲用戶提供對Kubernetes API的特定級別訪問。您可以讓他們有權訪問所有內容或某些名稱空間或其他API參數。如果您需要撤消權限,則只需從ABAC策略文件中刪除該用戶即可。我們已經測試過了,它運行良好。不幸的是,我會說,你必須重新啓動 Kubernetes API服務才能使這些更改生效,因此可能會發生幾秒鐘的停機時間。很顯然,在開發環境中這不是什麼大問題,但是在生產中,您可能需要爲用戶添加時間。
希望未來一個簡單的「kube-apiserver重新加載」將允許重新讀取該ABAC策略文件。
最後要注意的一點是:當使用客戶端證書進行ABAC認證時,您需要爲用戶INDIVIDUALLY設置權限。與使用ABAC的授權令牌不同,您不能在「組」中設置客戶端證書用戶。一些令我們頭痛的事情,所以認爲值得傳遞。 :)
希望這有助於!
相關問題
- 1. 撤銷iOS證書撤銷
- 2. 忘記簽名證書 - 撤銷當前證書?
- 3. 撤銷證書GPG
- 4. Kubernetes集羣X509:榮譽證書問題
- 5. 如何處理根證書的撤銷?
- 6. 已過期或已撤銷對Infopath文檔的證書籤名
- 7. 如何創建工作者證書的Coreos kubernetes AWS集羣
- 8. 已撤銷X509證書
- 9. 撤銷過期證書
- 10. 通過API撤銷證書
- 11. 撤銷對iPhone的銷售證書
- 12. 當撤銷分銷證書時,APNS證書會發生什麼
- 13. 撤銷功能無法檢查證書的撤銷
- 14. 問題X509RevocationMode.Online在撤銷證書驗證
- 15. 我如何可以檢測從撤銷或已過期自簽名證書評估服務器證書
- 16. 證書撤銷檢查的java apis
- 17. 該組織的證書已被撤銷
- 18. 如何停止kubernetes羣集?
- 19. 無法獲取在書的「Kubernetes食譜」的kubernetes集羣
- 20. 等待或撤銷iPhone過期證書?
- 21. 爲什麼它撤銷了SSL證書?
- 22. 已撤銷證書 - iPhone編程
- 23. X509Chain.Build()成功撤銷證書。 C#
- 24. 已撤銷客戶端證書
- 25. 自動撤銷發行證書
- 26. 使用Ansible以實現Kubernetes集羣證書旋轉功能
- 27. 如何在java中生成CRL(證書撤銷列表)
- 28. 集羣信息中沒有JWS簽名令牌ConfigMap - Kubernetes v1.7
- 29. 如何撤銷Azure SDK中的共享訪問簽名
- 30. 證書籤名
感謝您的解答,解釋和建議。目前,我的k8s集羣中有4組密鑰和crts,分別是'apiserver','other master component','minions',最後一個是'kubectl'。起初,我想知道一種方法來解決像其中一個人丟失的問題。現在看來,ABAC政策是最好的選擇。一個愚蠢的問題,哪種燙髮適合於只能製造豆莢的kubectl? – Yang
@Yang在這種情況下丟失證書肯定是不幸的,但不幸的是,我認爲答案仍然是從ABAC中刪除該用戶,並創建一個新用戶。例如,如果「隨機」丟失了他們的證書,則可能必須爲該用戶創建一個具有新證書的「random2」用戶。我知道社區一直在討論將CRL支持添加到更高版本的Kubernetes,但是現在撤消證書是不可能的。一個可能的解決辦法可能是在Kube API前面檢查HAProxy/NGINX以檢查撤銷的證書。 –
感謝這麼多詳細的暗示,我非常感謝,特別是HAProxy/NGINX的想法,它使我轉向了XD – Yang