Member-only story

Kubernetesのデプロイメントをセキュアにする方法とは?

gavin.zhou
12 min readOct 25, 2022

--

共有インフラ上で実行されるコンテナ化されたアプリケーションでは、セキュリティが非常に重要です。より多くの組織がコンテナワークロードをKubernetesに移行する中、K8sはコンテナオーケストレーションのための主要なプラットフォームとなっています。そして、このトレンドに伴い、脅威や新たな攻撃方法が増加し、すべてのレイヤーのセキュリティを強化する必要があります。

Kubernetesでは、セキュリティにはクラスタセキュリティとアプリケーションセキュリティの2つの側面があります。クラスタ・セキュリティについては、すでに別の記事で取り上げています。この記事では、Kubernetes のデプロイメントとアプリケーションを一般的にセキュアにする方法について検討します。

基本のおさらい

ここで、基本的なことを簡単におさらいしておきましょう。ポッドは、クラスタ内で1つまたは複数のコンテナを実行する論理的な原子単位で、ReplicaSet、Deployment、StatefulSetsなどの他のリソースによってラップされています。Kubernetesで実行されるアプリケーションのセキュリティポスチャを向上させる方法はさまざまです。

Kubernetesのデプロイメントでは、テンプレートセクションにポッド仕様が含まれ、このデプロイが実行しなければならないワークロードを定義しています。以下のテンプレートでは、いくつかのセキュリティ関連のセクションが太字で強調表示されています。

apiVersion: apps/v1kind: Deploymentmetadata:name: nginxspec:selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:serviceAccountName: nginx-sasecurityContext:runAsUser: 1000runAsGroup: 3000fsGroup: 2000containers:- name: nginximage: my-private-registry.io/nginx:1.34

--

--

No responses yet