我有一些容器將運行在用戶代碼中。爲了加強安全性,我想阻止他們通過服務帳戶機制訪問kubernetes api,但不想在全球範圍內關閉它。該文件說您可以切換服務帳戶名稱,但只能切換到另一個有效的名稱。是否有我錯過的替代品?你可以限制帳戶有0個權限嗎?你可以用另外一個空的空間超過音量嗎?任何其他想法?容器禁用服務帳戶
Q
容器禁用服務帳戶
3
A
回答
3
最簡單的方法是將一個emptyDir安裝在serviceAccount密鑰已裝載的位置上。喜歡的東西:
containers:
- name: running-user-code
image: something-i-dont-trust
volumeMounts:
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: no-api-access-please
readOnly: true
volumes:
- name: no-api-access-please
emptyDir: {}
有潛在的解決方案Kubernetes Issue #16779更多的討論(而這也正是我偷了emptyDir例子)。
2
服務帳戶只對API進行身份驗證,它們本身不具有執行任何讀取或寫入API操作的權限。
如果你想保護您的集羣,比AlwaysAllow(可提供任何身份驗證的API用戶完整的讀/寫訪問)等的授權模式下運行,並有選擇地將權限授予特定的服務帳戶或命名空間
2
在Kubernetes 1.6+,您可以禁用服務帳戶安裝在吊艙:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
automountServiceAccountToken: false
...
見https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
相關問題
- 1. 服務器到服務器請求沒有服務帳戶
- 2. SQL服務器:NT帳戶可以映射到SQL服務器帳戶
- 3. MySQL觸發器禁用用戶帳戶
- 4. Gsuite平臺應用Web服務器應用+服務帳戶
- 5. 服務帳戶oauth2
- 6. Docker容器內推薦的GCE服務帳戶認證?
- 7. Android帳戶管理器從服務添加帳戶
- 8. 從服務器xmpp刪除帳戶
- 9. 服務器端JavaScript帳戶(node.js)
- 10. Google驅動器API和服務帳戶
- 11. 在服務器上驗證YouTube帳戶
- 12. AngularJs Web服務用戶帳戶
- 13. Windows服務與用戶帳戶登錄
- 14. Windows服務設置用戶帳戶
- 15. 與服務帳戶Googlephpapi管理用戶
- 16. 用戶/帳戶Web服務(.NET)
- 17. 從服務器使用不同用戶帳戶的兌換
- 18. 在服務器上使用FTP創建FTP用戶帳戶
- 19. SQL服務報告服務帳戶
- 20. 在Active Directory服務器上留下太多禁用帳戶的影響
- 21. 獲取服務器訪問服務器(Google服務帳戶)令牌。 invalid_grant錯誤
- 22. ANDROID - 創造用戶/帳戶的服務器/服務的登錄權限
- 23. 從有限/來賓帳戶禁用任務管理器
- 24. 與服務帳戶問題
- 25. 的GMail API +服務帳戶
- 26. 谷歌服務帳戶
- 27. 驗證服務帳戶Powershell
- 28. 網絡服務帳戶
- 29. GSuite服務帳戶+ OAuth2以
- 30. Bigquery:管理服務帳戶