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

レッスン 23: 認証と認可

Kubernetes の認証、ServiceAccount、RBAC。 Pod Security Standard (PSS) および Pod Security Admission (PSA) は、PodSecurityPolicy を置き換えます (K8s 1.25 は削除されました)。アドミッションコントローラー。

🔒 DevSecOps — レッスン 23 レッスン 23: 認証と承認

KUBERNETES: 基本から高度まで

モジュール 6: セキュリティ

xdev.asia_

🎯 レッスンの目的

Kubernetes での認証と認可、認可に RBAC を使用する方法、PodSecurityPolicy に代わるポッド セキュリティ標準 (K8s 1.25 は削除)、および重要なアドミッション コントローラーを理解します。

1. Kubernetes での認証

Kubernetes にはユーザー管理が組み込まれていません。代わりに、kube-apiserver は多くの認証方法をサポートしています:

  • X.509 クライアント証明書: kubeconfig は、最も一般的なクライアント証明書を使用します
  • ベアラー トークン: ServiceAccount トークン、OIDC トークン
  • OIDC (OpenID Connect): Dex、Keycloak、Auth0、Google、Azure AD
  • と統合
  • Webhook: 認証を外部サービスに委任

2.ユーザーとサービスアカウント

  • ユーザー: 人間のアイデンティティ — Kubernetes にリソースはなく、外部で管理 (証明書、OIDC)
  • ServiceAccounts: マシン ID — Kubernetes リソース、ポッドに使用
___コードブロック_0___ ___コードブロック_1___

プロジェクト化されたサービス アカウント トークン (K8s 1.22 以降): 短期トークン、自動ローテーション、限定された対象ユーザー — 古い長期有効トークンよりもはるかに安全です。

3. RBAC — ロールベースのアクセス制御

3.1 ロールとクラスターロール

___コードブロック_2___

3.2 RoleBinding と ClusterRoleBinding__HTMLTAG_112___ ___コードブロック_3___ ___コードブロック_4___

3.3 最小特権の原則

___コードブロック_5___

4.ポッド セキュリティ標準 (PSS) — PodSecurityPolicy

を置き換えます

PodSecurityPolicy (PSP) は K8s 1.25 で完全に削除されました。 ポッド セキュリティ標準に置き換えられました:

4.1 3 レベルのセキュリティ

  • 特権: 制限なし。システム コンポーネント、クラスタ全体のコントローラにのみ使用
  • _ベースライン: 一般的なエスカレーションを防止します。ほとんどの用途に適しています。ブロック: 特権コンテナ、hostPath、hostNetwork、hostPID
  • 制限付き: セキュリティが強化されています。要件: 非 root ユーザー、非 root グループ、すべての機能を削除、seccompProfile RuntimeDefault/Localhost、no hostPath

4.2 ポッド セキュリティ アドミッション (PSA)

___コードブロック_6___ ___コードブロック_7___

5.アドミッションコントローラー_

_アドミッション コントローラーは、認証/認可後の API サーバーへのリクエストをインターセプトします。 2 種類あります:

  • 変更中: オブジェクトの変更 (例: サイドカーの挿入、デフォルト値の設定)
  • 検証中: 承認/拒否のみ (例: PSA、ResourceQuota)
___コードブロック_8___

6.入場 Webhook

___コードブロック_9___

概要

  • _Kubernetes にはユーザー管理がありません。X.509 証明書、OIDC
  • を使用します。
  • ServiceAccounts: マシン ID、投影されたトークン (有効期間が短い)
  • RBAC: ロール/ClusterRole + RoleBinding/ClusterRoleBinding
  • 最小権限: 必要最小限の権限のみを付与
  • PSP は K8s 1.25 を削除 → ポッド セキュリティ標準 (PSA) を使用
  • PSA レベル: 特権、ベースライン (推奨デフォルト)、制限付き (運用)