セキュリティ・メカニズムのK8S

セキュリティ

1.Kubernetesセキュリティフレームワーク
トランスポート・セキュリティ、認証、承認、アクセス制御2. 
3. RBACの承認

Kubernetesセキュリティフレームワーク

•アクセスK8Sクラスタリソースが3つのハードルを渡す必要があります:認証、許可、アクセス制御
、一般ユーザへ•クラスタAPIサーバーへのセキュアなアクセスは、多くの場合、証明書、トークンまたはユーザ名+パスワードを必要とするポッドへのアクセス、あなたがServiceAccount必要
•K8Sセキュリティ制御をフレームワークは、主に以下の三つの段階によって制御され、各ステージのサポートプラグインはAPIサーバーの構成を介してプラグインを有効にします。
    1.Authentication 
    2.Authorization 
    3.Admissionコントロール

#1 CAT /opt/kubernetes/cfg/token.csv  
0fb61c46f8991b718eb38d27b605b008、kubelet・ブートストラップ、10001、 "システム:kubelet-ブートストラップ" 
注:あまりないユーザ名+パスワード、一般的に選択します証明書、トークン

伝送セキュリティ、認証

交通安全:さらば8080、歓迎6443(KUBE-apiserver)
認証
クライアント認証の3種類:
    •HTTPS証明書:証明書ベースのCA署名付きデジタル証明書認証
    •HTTPトークン認証:トークンは、ユーザによって識別されます
    •HTTPベースの認証:ユーザ名+パスワード認証方法

オーソライズ

RBAC(ロールベースのアクセス制御、ロールベースのアクセス制御):承認(認証)の作業を完了するための責任を負います。

アドミッション制御

AdminssionControlコントローラプラグは、実際にアクセスのリストで、要求がAPIServerに送信され、各コントローラは、ウィジェットのリストにアクセスする必要がありますチェックし、チェックが要求が拒否され、合格していません。
上記の推奨プラグインの1.11バージョン: -有効-入場-プラグイン= \ NamespaceLifecycle、LimitRanger、ServiceAccount、DefaultStorageClass、DefaultTolerationSeconds、ResourceQuota

RBAC承認を使用

RBAC(役割ベースのアクセス制御、役割ベースのアクセス制御)、Kubernetes APIは、動的割り当て方式を可能にします

写真.PNG

•役割
    •役割:名前空間には、特定のアクセス権承認する
    すべての認可アクセスの名前空間:•ClusterRole 
•ロールバインディング
    体(すなわち、件名)に役割バインド:•RoleBindingを
    •ClusterRoleBinding:クラスタの役割は、本体にバインドされている
•件名(サブジェクト)
    •ユーザー:ユーザー
    •グループ:ユーザーグループの
    サービスアカウント:•ServiceAccount 

https://kubernetes.io/docs/reference/access-authn-authz/rbac/

ネット公式例:ポッドへの読み取りアクセスを許可します

種類:ロール
apiVersion:rbac.authorization.k8s.io/v1の
メタデータ:
  名前空間:デフォルト
  名:ポッドリーダーの
ルール:
- apiGroups:[ ""]# "は"コアAPIのグループを示している
  リソース:[ "ポッド"] 
  動詞: [、「時計」、「リスト」を「取得」] 

この役割は、結合は、「ジェーン」は「デフォルト」の名前空間にポッドを読み取ることができます。
種類:RoleBinding 
apiVersion:rbac.authorization.k8s.io/v1 
メタデータ:
  名前:読み取りポッドの
  名前空間:デフォルト
科目:
-種類:ユーザー
  名は:ジェーン#名は大文字である敏感
  apiGroup:rbac.authorization.k8s.io 
roleRef:
  種類:
  名前:ポッドリーダーの#これはあなたがにバインドしたい役割やClusterRoleの名前と一致しなければなりません
  apiGroup:rbac.authorization.k8s.ioを





おすすめ

転載: blog.51cto.com/dengaosky/2432407