menu
arrow_back

Google Kubernetes Engine Security: Binary Authorization

—/100

Checkpoints

arrow_forward

Create a Kubernetes Cluster with Binary Authorization

Update Binary Authorization Policy to add Disallow all images rule at project level and allow at cluster level

Update cluster specific policy to Disallow all images

Create a Nginx pod to verify cluster admission rule is applied for disallow all images (denies to create)

Update BA policy to denying images except from whitelisted container registries (your project container registry)

Update BA policy to modify cluster specific rule to allow only images that have been approved by attestors

Tear Down (delete cluster)

Google Kubernetes Engine Security: Binary Authorization

1時間 30分 クレジット: 7

GKE-Engine.png

GSP479

Google Cloud セルフペース ラボ

概要

Kubernetes クラスタを実行する際のセキュリティに関する重要な懸念事項のひとつとして、各 Pod 内で実行されているコンテナ イメージと、その出所を把握できなければなりません。「コンテナの由来を明確化」するためには、コンテナのソースを信頼できる出所までトレースして、アーティファクト(コンテナ)作成時に組織が望ましいプロセスに従うようにする必要があります。

主な懸念事項を以下に示します。

  • 安全な由来 - クラスタ内で実行されているすべてのコンテナ イメージが承認済みのソースからのものであることを、どのように確認するか
  • 一貫性と検証 - コンテナのビルドやデプロイのたびにすべての必要な検証ステップが正常に完了していることを、どのように確認するか
  • 整合性 - 由来が証明されてから実行されるまでの間にコンテナが変更されていないことを、どのように確認するか

イメージの出所を確認しないと、セキュリティの観点から見て次のようなリスクが生じます。

  • 悪意のある人物にコンテナが侵害されて、十分なクラスタ権限を取得された場合に、ソースが不明な他のコンテナを確認なしで起動される可能性があります。
  • Pod を作成する権限を持つ正規のユーザーが、意図的かどうかにかかわらず、望ましくないコンテナをクラスタ内で直接実行する可能性があります。
  • 正規のユーザーが、意図的かどうかにかかわらず、望ましくないコードが知らない間に追加された機能するコンテナを使って Docker イメージタグを上書きする可能性があります。この場合、そのコンテナは、デプロイの一部として自動的に pull されてデプロイされます。

こうした懸念にシステム オペレーターが対処できるように、Google Cloud Platform には Binary Authorization と呼ばれる機能が用意されています。Binary Authorization は、GKE に信頼できるコンテナ イメージのみがデプロイされるよう、GKE と密接に連携してデプロイ時にセキュリティ管理を実施する、GCP マネージド サービスです。Binary Authorization を使用すると、コンテナ レジストリをホワイトリストに登録したり、信頼できる機関によるイメージへの署名を必須にしたり、それらのポリシーを一元的に適用したりできます。このポリシーを適用することで、承認されたイメージや適切であると認められたイメージのみがビルドとリリースのプロセスに組み込まれるため、コンテナの環境をより厳密に管理できます。

このラボでは、Binary Authorization 機能が有効な Kubernetes Engine クラスタをデプロイして、承認済みのコンテナ レジストリをホワイトリストに登録する方法や、署名付きのコンテナを作成して実行するプロセスについて説明します。

このラボは、GKE Binary Authorization に関する理解を深めていただくために GKE Helmsman のエンジニアによって作成されました。デモは GitHub でご覧いただけます。このアセットへのコントリビューションをぜひお寄せください。

Qwiklabs に参加してこのラボの残りの部分や他のラボを確認しましょう。

  • Google Cloud Console への一時的なアクセス権を取得します。
  • 初心者レベルから上級者レベルまで 200 を超えるラボが用意されています。
  • ご自分のペースで学習できるように詳細に分割されています。
参加してこのラボを開始