Chuyển đến nội dung chính

第 23 課:身分驗證與授權

Kubernetes 中的驗證、ServiceAccounts、RBAC。 Pod 安全標準 (PSS) 和 Pod 安全准入 (PSA) 取代了 PodSecurityPolicy(已刪除 K8s 1.25)。准入控制器。

🔒 DevSecOps — 第 23 課 第 23 課:身份驗證與授權

KUBERNETES:從基礎到進階

模組 6:安全性

xdev.asia

🎯課程目標___HTMLTAG_66__HTMLTAG_67___了解 Kubernetes 中的身份驗證和授權、如何使用 RBAC 進行授權、替換 PodSecurityPolicy 的 Pod 安全標準(已刪除 K8s 1.25)以及重要的准入控制器.___MLTAG_68___MLTAG_68___MLTAG_68___MLTAG_68___MLTAG_68___MLTAG_68___MLTAG_68___

1。 Kubernetes 中的驗證

Kubernetes 沒有內建使用者管理。相反,kube-apiserver 支援許多身份驗證方法:

    ___HTMLTAG_74__HTMLTAG_75___X.509 用戶端證書:kubeconfig 使用客戶端證書,最常見 ___HTMLTAG_78__HTMLTAG_79___承載令牌:ServiceAccount 令牌、OIDC 令牌 ___HTMLTAG_82__HTMLTAG_83___OIDC (OpenID Connect):與 Dex、Keycloak、Auth0、Google、Azure AD 整合 ___HTMLTAG_86__HTMLTAG_87___Webhook:將身分驗證委託給外部服務

2。使用者與服務帳號

    ___HTMLTAG_94__HTMLTAG_95___使用者:人類身分 - Kubernetes 中沒有資源,外部管理(憑證、OIDC) ___HTMLTAG_98__HTMLTAG_99___ServiceAccounts:機器身分 — Kubernetes 資源,用於 Pod
___程式碼區塊_0___ ___程式碼區塊_1___ ___HTMLTAG_103__HTMLTAG_104___預期服務帳號代幣 (K8s 1.22+):短期代幣、自動輪替、有限受眾 — 比舊的長期代幣安全得多。

3。 RBAC — 基於角色的存取控制

3.1 角色和叢集角色

___程式碼區塊_2___

3.2 RoleBindings 和 ClusterRoleBindings__HTMLTAG_112___ ___程式碼區塊_3___ ___程式碼區塊_4___

3.3 最小權限原則

___程式碼區塊_5___

4。 Pod 安全標準 (PSS) — 取代 PodSecurityPolicy

___HTMLTAG_117__HTMLTAG_118___PodSecurityPolicy (PSP) 已在 K8s 1.25 中完全刪除。 替換為 Pod 安全標準:

4.1 三個安全等級

    ___HTMLTAG_124__HTMLTAG_125___特权:无限制。僅用於系統元件、叢集範圍控制器 ___HTMLTAG_128__HTMLTAG_129___基線:防止常見升級。適用於大多數應用。封鎖:特權容器、hostPath、hostNetwork、hostPID ___HTMLTAG_132__HTMLTAG_133___受限:強化安全性。需求:非 root 使用者、非 root 群組、刪除所有功能、seccompProfile RuntimeDefault/Localhost、無 hostPath

4.2 Pod 安全准入 (PSA)

___程式碼區塊_6___ ___程式碼區塊_7___

5。准入控制器

准入控制器在驗證/授權後攔截對 API 伺服器的請求。有 2 種類型:

    ___HTMLTAG_144__HTMLTAG_145___變異:更改物件(例如注入 sidecar,設定預設值) ___HTMLTAG_148__HTMLTAG_149___驗證:僅批准/拒絕(例如:PSA、ResourceQuota)
___程式碼區塊_8___

6。入場 Webhook

___程式碼區塊_9___

摘要

  • Kubernetes 沒有使用者管理 — 使用 X.509 憑證、OIDC
  • ServiceAccounts:機器身分、預期令牌(短暫)
  • RBAC:角色/ClusterRole + RoleBinding/ClusterRoleBinding
  • 最小權限:僅授予最低必要權限
  • PSP 刪除了 K8s 1.25 → 使用 Pod 安全標準 (PSA)
  • PSA 等級:特權、基線(建議預設)、受限(生產)