Azure Kubernetes サービス (AKS) でのコンテナー イメージの管理とセキュリティに関するベスト プラクティスBest practices for container image management and security in Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) でアプリケーションを開発および実行する際には、コンテナーおよびコンテナー イメージのセキュリティが重要な考慮事項になります。As you develop and run applications in Azure Kubernetes Service (AKS), the security of your containers and container images is a key consideration. 期限切れの基本イメージ、または修正プログラムが適用されていないアプリケーション ランタイムを含むコンテナーは、セキュリティ上のリスクおよび考えられる攻撃ベクトルをもたらします。Containers that include out of date base images or unpatched application runtimes introduce a security risk and possible attack vector. これらのリスクを最小限に抑えるには、ビルド時と実行時にコンテナー内の問題をスキャンして修復するツールを統合する必要があります。To minimize these risks, you should integrate tools that scan for and remediate issues in your containers at build time as well as runtime. 脆弱性または期限切れの基本イメージが、プロセス内のできるだけ早い段階で見つかれば、クラスターのセキュリティが高まります。The earlier in the process the vulnerability or out of date base image is caught, the more secure the cluster. この記事でコンテナーは、コンテナー レジストリに格納されているコンテナー イメージと、実行中のコンテナーの両方を意味します。In this article, containers means both the container images stored in a container registry, and the running containers.

この記事では、AKS でコンテナーをセキュリティで保護する方法について説明します。This article focuses on how to secure your containers in AKS. 学習内容は次のとおりです。You learn how to:

  • イメージの脆弱性をスキャンして修復するScan for and remediate image vulnerabilities
  • 基本イメージが更新されたら、コンテナー イメージを自動的にトリガーおよび再デプロイするAutomatically trigger and redeploy container images when a base image is updated

クラスター セキュリティおよびポッド セキュリティに関するベスト プラクティスも参照できます。You can also read the best practices for cluster security and for pod security.

イメージおよびランタイムをセキュリティで保護するSecure the images and run time

ベスト プラクティス ガイダンス - コンテナー イメージをスキャンして脆弱性を見つけ、検証に合格したイメージのみをデプロイします。Best practice guidance - Scan your container images for vulnerabilities, and only deploy images that have passed validation. 基本イメージおよびアプリケーション ランタイムを定期的に更新し、AKS クラスターにワークロードを再デプロイします。Regularly update the base images and application runtime, then redeploy workloads in the AKS cluster.

コンテナー ベースのワークロードの導入に関する 1 つ課題は、独自のアプリケーションをビルドするために使用するイメージおよびランタイムのセキュリティを検証することです。One concern with the adoption of container-based workloads is verifying the security of images and runtime used to build your own applications. デプロイ内にセキュリティの脆弱性が発生しないことをどのようにして確認できるでしょうか。How do you make sure that you don't introduce security vulnerabilities into your deployments? デプロイ ワークフローには、TwistlockAqua などのツールを使用してコンテナー イメージをスキャンするプロセスを含める必要があります。その後、検証済みのイメージのみをデプロイできるようにします。Your deployment workflow should include a process to scan container images using tools such as Twistlock or Aqua, and then only allow verified images to be deployed.

コンテナー イメージをスキャンして修正し、検証し、デプロイする

実際の例では、継続的統合と継続的デプロイ (CI/CD) パイプラインを使用して、イメージのスキャン、検証、およびデプロイを自動化することができます。In a real-world example, you can use a continuous integration and continuous deployment (CI/CD) pipeline to automate the image scans, verification, and deployments. Azure Container Registry には、これらの脆弱性スキャン機能が含まれます。Azure Container Registry includes these vulnerabilities scanning capabilities.

基本イメージの更新時に新しいイメージを自動的にビルドするAutomatically build new images on base image update

ベスト プラクティス ガイダンス - アプリケーション イメージに基本イメージを使用する際には、基本イメージの更新時にオートメーションを使用して新しいイメージをビルドします。Best practice guidance - As you use base images for application images, use automation to build new images when the base image is updated. 通常、これらの基本イメージにはセキュリティ修正プログラムが含まれているので、すべてのダウンストリーム アプリケーション コンテナー イメージを更新します。As those base images typically include security fixes, update any downstream application container images.

基本イメージが更新されるたびに、すべてのダウンストリーム コンテナー イメージも更新する必要があります。Each time a base image is updated, any downstream container images should also be updated. このビルド プロセスを、Azure Pipelines や Jenkins などの検証およびデプロイのパイプラインに統合する必要があります。This build process should be integrated into validation and deployment pipelines such as Azure Pipelines or Jenkins. によりこれらのパイプラインは、更新されたベース イメージで引き続きアプリケーションが確実に実行されます。These pipelines makes sure that your applications continue to run on the updated based images. アプリケーション コンテナー イメージが検証されたら、AKS デプロイは、セキュリティで保護された最新のイメージを実行するように更新できます。Once your application container images are validated, the AKS deployments can then be updated to run the latest, secure images.

また、Azure Container Registry タスクは、基本イメージの更新時にコンテナー イメージを自動的に更新できます。Azure Container Registry Tasks can also automatically update container images when the base image is updated. この機能を使用すると、少数の基本イメージをビルドし、バグおよびセキュリティ修正プログラムを使用して、それらを定期的に更新続けることができます。This feature allows you to build a small number of base images, and regularly keep them updated with bug and security fixes.

基本イメージの更新の詳細については、「Automate image builds on base image update with Azure Container Registry Tasks」 (Azure Container Registry タスクを使用して基本イメージの更新時のコンテナー イメージ ビルドを自動化する) を参照してください。For more information about base image updates, see Automate image builds on base image update with Azure Container Registry Tasks.

次の手順Next steps

この記事では、コンテナーをセキュリティで保護する方法について説明しました。This article focused on how to secure your containers. これらの領域のいくつかを実装する場合は、次の記事を参照してください。To implement some of these areas, see the following articles: