[和訳] Kubernetes向けの安全なサプライチェーン パート2 #docker #kubernetes #k8s
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿は A Secure Supply Chain for Kubernetes, Part 2 (2018/3/15) の和訳です。
Docker Enterprise Edition (Docker EE)の新バージョンが、どのように Kubernetes向けの安全なサプライチェーン を提供するかについては先日ご紹介しました。その方法とはDocker Swarmに対しても行っていた、脆弱性のスキャンとイメージプロモーションポリシーの実装を組み合わせたものです。今回はこのソリューションの別の側面、Dockerコンテントトラストおよびイメージ署名に着目したいと思います。
粒度の高いロールベースのアクセス制御 (RBAC) およびDocker EEの特長であるセキュアなクラスタリングを組み合わせれば、組織はエンタープライズ級のセキュアなコンテナプラットフォームソリューションを手に入れることができます。
未承認のKubernetesコンテントを制限する
前回の記事 でも述べましたが、ほとんどの組織は、それがオンプレミス内かクラウド上かに関わらず、アプリケーションが開発者のPCから本番環境における実行に至るまでの"サプライチェーン"をもっています。大きな組織では、アプリケーションのQAとテストを行うチームは開発チームと同じであるとは限りません。アプリケーションを本番環境に移行する前の、ステージングとプレ環境を取り扱うチームも異なる場合もあります。このように、アプリケーションはデプロイに至るまでに複数のチームの手に渡るため、アプリケーションの起源がどこであるのか検証可能であることは組織にとって重要なポイントです。
Dockerコンテントトラスト とは、イメージの起源の証明、信ぴょう性、来歴などの保証を手助けするデジタル署名を追加するために、イメージ用の暗号秘密鍵をチームや個人に提供する仕組みです。Docker EEでは署名付きイメージのみ実行できるよう選択することで、デプロイしたイメージは信頼性があり、イメージレジストリ内または、イメージレジストリからユーザの環境に移動する間において、変更が加えられていないことを保証します。
KubernetesのコンテキストにおいてDocker EEは、使用するイメージを特定のチームメンバーが署名していなければ、いかなるワークロードもクラスタ上にデプロイしないことを意味します。
これはサプライチェーンの特定の段階において、イメージ署名を強制することに使用できます。つまり、開発者が初期イメージを登録する段階、またはQAチームがテストを完了した段階、あるいはセキュリティおよびネットワークチームがアプリをレビューし終えた段階などにおいてです。必要な署名が1つでも行われていないイメージがあった場合には、Docker EEはそのイメージをデプロイしません。これにより運用チームが、正式に許可していないコンテンツを誤ってKubernetesにデプロイしてしまうことがなくなります。
自動化したワークフローにDockerコンテントトラストを統合する
イメージ署名は必ずしも個人またはチームが行う必要はありません。承認済みワークフロー由来のイメージビルドであることを証明する、Docker社認定のサードパーティツールに拡張することもできます。Docker EEは、UI内でClient Bundleの作成・管理機能を提供することで、この仕組みを単純化しました。Docker EEは、JenkinsやGitLabなどのCIツールで、イメージを作成しリポジトリに追加する際のイメージ署名に使用できるキーペアを作成します。Jenkinsで、信頼できるイメージを使用する方法についてもっと学びたい人は こちら をご参照ください。
Docker EEはサプライチェーンをセキュアにすることで、より安全なアプリケーションのデリバリを可能としています。レガシーアプリ、クラウドネイティブ、あるいはマイクロサービスなど、あなたがいかなる種類のアプリケーションをコンテナ化していようとも、また構築したスタックがWindows向け・Linux向けのどちらであろうとも、あるいはアプリケーションをデプロイする場がオンプレミス内であろうとクラウド上であろうとも、Docker EEのイメージ脆弱性スキャンを始め、自動イメージプロモーション、そしてイメージ署名はすべて、アプリケーションのデリバリプロセスを管理および自動化するための一般的なワークフローを強化するためのお役に立つことができます。
Docker EEのKubernetes統合についてもっと知りたい方は:
- 最新の Kubernetesセキュリティに関するウェビナー をオンデマンドで視聴する
- Kubernetes統合Docker EEベータ版をダウンロードするために サインアップ する、または ラボで試す
- DockerConヨーロッパ 2017における Kubernetes統合の予告を動画で見る