【Security Hub修復手順】[ECR.3] ECR リポジトリには、少なくとも 1 つのライフサイクルポリシーが設定されている必要があります

AWS SecurityHub 基礎セキュリティのベストプラクティスコントロール修復手順をご紹介します。ECRリポジトリに格納できるイメージ数にも制限があります。コスト節約のためにも本記事で紹介するライフサイクルポリシーを設定しましょう!
2023.02.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。

皆さん、お使いのAWS環境のセキュリティチェックはしていますか?

当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。

本記事の対象コントロール

[ECR.3] ECR リポジトリには、少なくとも 1 つのライフサイクルポリシーが設定されている必要があります

[ECR.3] ECR repositories should have at least one lifecycle policy configured

前提条件

本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。

対象コントロールの説明

このコントロールでは Amazon Elastic Container Registry(Amazon ECR)のリポジトリの利用に際して、ライフサイクルポリシーの設定の有無をチェックします。

ECRのライフサイクルポリシーの概要・イメージについては以下記事をご参照ください。

個々のECRリポジトリにプッシュできるイメージ数には制限がありますし、イメージ格納にも料金がかかりますので、コスト削減という面でも設定を行いましょう!

修正手順

1 対象のリソース(ECRリポジトリ)を特定

まずAWS Security HubのコンソールからECR.3のチェック結果を確認し、是正対象のECRリポジトリを特定します。

20230215_securityhub_remedation_ecr3_specify_resource

2 ステークホルダーに確認

ステークホルダー(リポジトリの作成者やアプリケーションを管理している部署など)に以下を確認しましょう。

  • 現行のコンテナイメージの運用方法を確認
    • (例)コミットハッシュを付与・本番にはprd-といプレフィックスを付与
  • ライフサイクルポリシーの設定内容を確認
    • リポジトリの性質に応じて残すイメージの数などの設定を考えましょう
      • (例) 開発環境用のリポジトリにはイメージは5だけ残るようにする。ステージングは10残るようにする。
    • 誤って必要なイメージを消さないように留意

ライフサイクルポリシーの設定例については先ほども添付したこちらの記事をご参照ください。

3 ECRのリポジトリを編集

ECSのダッシュボードから「Amazon ECR」の「リポジトリ」を選択します。

20230211_securityhub_remedation_ecr1_ecs_console

是正対象のリポジトリを選択し、「アクション」をクリックし「ライフサイクルポリシー」を選択します。

20230215_securityhub_remedation_ecr3_go_edit_lifecycle

「ルールの作成」をクリックします。

20230215_securityhub_remedation_ecr3_create_rule

ライフサイクルルールの設定を行い、「保存」をクリックします。

20230215_securityhub_remedation_ecr3_create_rule2

これでライフサイクルルールを作成できました。

ライフサイクルルールは複数作成可能であるため、リポジトリやプッシュされるイメージの特性に合わせて設定を行いましょう!

最後に

今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。

コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!

最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。

以上、今泉でした!