

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon ECR の Security Hub CSPM コントロール
<a name="ecr-controls"></a>

これらの Security Hub CSPM コントロールは、Amazon Elastic Container Registry (Amazon ECR) サービスとリソースを評価します。

これらのコントロールは、一部の で使用できない場合があります AWS リージョン。詳細については、「[リージョン別のコントロールの可用性](securityhub-regions.md#securityhub-regions-control-support)」を参照してください。

## [ECR.1] ECR プライベートリポジトリでは、イメージスキャニングが設定されている必要があります
<a name="ecr-1"></a>

**関連する要件:** NIST.800-53.r5 RA-5、PCI DSS v4.0.1/6.2.3、PCI DSS v4.0.1/6.2.4

**カテゴリ:** 特定 > 脆弱性、パッチ、バージョン管理

**重要度:** 高

**リソースタイプ :** `AWS::ECR::Repository`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-image-scanning-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-image-scanning-enabled.html)

**スケジュールタイプ :** 定期的

**パラメータ :** なし

このコントロールは、プライベート Amazon ECR リポジトリでイメージスキャニングが設定されているかどうかをチェックします。プライベート ECR リポジトリがプッシュ時スキャンまたは連続スキャン用に設定されていない場合、コントロールは失敗します。

ECR イメージスキャニングは、コンテナイメージ内のソフトウェアの脆弱性を特定するのに役立ちます。ECR リポジトリでイメージスキャンを設定すると、保存されているイメージの整合性と安全性を検証するレイヤーが追加されます。

### 修正
<a name="ecr-1-remediation"></a>

ECR リポジトリのイメージスキャニングを設定する方法については、「*Amazon Elastic Container Registry ユーザーガイド*」の「[Image scanning](https://docs.aws.amazon.com//AmazonECR/latest/userguide/image-scanning.html)」を参照してください。

## [ECR.2] ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります
<a name="ecr-2"></a>

**関連する要件:** NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-53.r5 CM-8(1)

**カテゴリ:** 識別 > インベントリ > タグ付け

**重要度:** 中

**リソースタイプ :** `AWS::ECR::Repository`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-tag-immutability-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-tag-immutability-enabled.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ :** なし

このコントロールは、プライベート ECR リポジトリでタグのイミュータビリティが有効になっているかどうかをチェックします。プライベート ECR リポジトリでタグのイミュータビリティが無効になっていると、このコントロールは失敗します。このルールは、タグのイミュータビリティが有効で、かつ値が `IMMUTABLE` に設定されていると成功します。

Amazon ECR のタグのイミュータビリティにより、ユーザーは、イメージの説明タグを信頼性の高いメカニズムとして使用し、イメージを追跡して一意に識別することができます。イミュータブルなタグは静的です。つまり、各タグは一意のイメージを参照します。静的タグを使用すると、常に同じイメージがデプロイされるので、信頼性とスケーラビリティが向上します。設定すると、タグのイミュータビリティにより、タグが上書きされなくなり、アタックサーフェスが減少します。

### 修正
<a name="ecr-2-remediation"></a>

イミュータブル (変更不可能) なタグが設定されたリポジトリを作成する場合、または既存のリポジトリのイメージタグのミュータビリティ (変更可能性) を更新する場合は、「*Amazon Elastic Container Registry ユーザーガイド*」の「[Image tag mutability](https://docs.aws.amazon.com//AmazonECR/latest/userguide/image-tag-mutability.html)」を参照してください。

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

**関連する要件:** NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 CM-2、NIST.800-53.r5 CM-2(2)

**カテゴリ:** 識別 > リソース設定

**重要度:** 中

**リソースタイプ :** `AWS::ECR::Repository`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-lifecycle-policy-configured.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-lifecycle-policy-configured.html)

**スケジュールタイプ:** 変更がトリガーされた場合

**パラメータ:** なし

このコントロールは、Amazon ECR リポジトリに少なくとも 1 つのライフサイクルポリシーが設定されているかどうかをチェックします。ECR リポジトリにライフサイクルポリシーが設定されていない場合、このコントロールは失敗します。

Amazon ECR ライフサイクルポリシーを使用すると、リポジトリ内のイメージのライフサイクル管理を有効にすることができます。ライフサイクルポリシーを設定することで、未使用イメージのクリーンアップと、年数またはカウントに基づいたイメージの有効期限を自動化することができます。これらのタスクを自動化することで、リポジトリで古いイメージを意図せずに使用することを回避できます。

### 修正
<a name="ecr-3-remediation"></a>

ライフサイクルポリシーを設定するには、「*Amazon Elastic Container Registry ユーザーガイド*」の「[Creating a lifecycle policy preview](https://docs.aws.amazon.com//AmazonECR/latest/userguide/lpp_creation.html)」を参照してください。

## [ECR.4] ECR パブリックリポジトリにはタグを付ける必要があります
<a name="ecr-4"></a>

**カテゴリ:** 識別 > インベントリ > タグ付け

**重要度:** 低

**リソースタイプ :** `AWS::ECR::PublicRepository`

**AWS Config rule:** `tagged-ecr-publicrepository` (カスタム Security Hub CSPM ルール)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  requiredTagKeys  | 評価されたリソースに含める必要があるシステム以外のタグキーのリスト。タグキーでは大文字と小文字が区別されます。 | StringList (最大 6 項目)  | [AWS 要件を満たす](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions) 1～6 個のタグキー。 | デフォルト値なし  | 

このコントロールは、Amazon ECR パブリックリポジトリにパラメータ `requiredTagKeys` で定義された特定のキーを持つタグがあるかどうかをチェックします。パブリックリポジトリにタグキーがない場合、またはパラメータ `requiredTagKeys` で指定されたすべてのキーがない場合、コントロールは失敗します。パラメータ `requiredTagKeys` が指定されていない場合、コントロールはタグキーの存在のみをチェックし、パブリックリポジトリにキーがタグ付けされていない場合は失敗します。自動的に適用され、`aws:` で始まるシステムタグは無視されます。

タグは、 AWS リソースに割り当てるラベルであり、キーとオプションの値で構成されます。タグを作成して、リソースを目的、所有者、環境、またはその他の基準で分類できます。タグは、リソースの識別、整理、検索、フィルタリングに役立ちます。タグ付けは、アクションと通知の説明責任のあるリソース所有者を追跡するのに役立ちます。タグ付けを使用する場合、タグに基づいてアクセス許可を定義する認証戦略として属性ベースのアクセス制御 (ABAC) を実装できます。タグは、IAM エンティティ (ユーザーまたはロール) および AWS リソースにアタッチできます。IAM プリンシパルに対して、単一の ABAC ポリシー、または個別のポリシーセットを作成できます。これらの ABAC ポリシーを、プリンシパルのタグがリソースタグと一致するときに操作を許可するように設計することができます。詳細については、*IAM ユーザーガイド*の[「ABAC とは AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。

**注記**  
タグには、個人を特定できる情報 (PII) や、機密情報あるいは秘匿性の高い情報は追加しないでください。タグには AWS のサービス、 を含む多くのユーザーがアクセスできます AWS Billing。タグ付けのベストプラクティスの詳細については、の[AWS 「リソースのタグ付け](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)」を参照してください*AWS 全般のリファレンス*。

### 修正
<a name="ecr-4-remediation"></a>

ECR パブリックリポジトリにタグを追加するには、「*Amazon Elastic Container Registry ユーザーガイド*」の「[Amazon ECR パブリックリポジトリのタグ付け](https://docs.aws.amazon.com/AmazonECR/latest/public/ecr-public-using-tags.html)」を参照してください。

## [ECR.5] ECR リポジトリはカスタマーマネージドで暗号化する必要があります AWS KMS keys
<a name="ecr-5"></a>

**関連する要件:** NIST.800-53.r5 SC-12(2)、NIST.800-53.r5 CM-3(6)、NIST.800-53.r5 SC-13、NIST.800-53.r5 SC-28、NIST.800-53.r5 SC-28(1)、NIST.800-53.r5 SC-7(10)、NIST.800-53.r5 CA-9(1)、NIST.800-53.r5 SI-7(6)、NIST.800-53.r5 AU-9

**カテゴリ:** 保護 > データ保護 > 保管中のデータの暗号化

**重要度:** 中

**リソースタイプ :** `AWS::ECR::Repository`

**AWS Config ルール :** [https://docs.aws.amazon.com/config/latest/developerguide/ecr-repository-cmk-encryption-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/ecr-repository-cmk-encryption-enabled.html)

**スケジュールタイプ :** 変更がトリガーされた場合

**パラメータ :**


| パラメータ | 説明 | タイプ | 許可されているカスタム値 | Security Hub CSPM のデフォルト値 | 
| --- | --- | --- | --- | --- | 
|  `kmsKeyArns`  |  評価 AWS KMS keys に含める の Amazon リソースネーム (ARNs) のリスト。ECR リポジトリがリスト内の KMS キーで暗号化されていない場合、コントロールは `FAILED` 検出結果を生成します。  |  StringList (最大 10 項目)  |  既存の KMS キーの 1～10 個の ARN。例: `arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`  |  デフォルト値なし  | 

このコントロールは、Amazon ECR リポジトリが保管時にカスタマーマネージド AWS KMS keyで暗号化されているかどうかをチェックします。ECR リポジトリがカスタマーマネージド KMS キーで暗号化されていない場合、コントロールは失敗します。必要に応じて、コントロールの評価に含める KMS キーのリストを指定することができます。

デフォルトでは、Amazon ECR は AES-256 アルゴリズムを使用して Amazon S3 マネージドキー (SSE-S3) でリポジトリデータを暗号化します。追加コントロールのために、代わりに AWS KMS key (SSE-KMS または DSSE-KMS) を使用してデータを暗号化するように Amazon ECR を設定できます。KMS キーは、Amazon ECR によって作成および管理されていてエイリアス `aws/ecr` がある AWS マネージドキー 、または AWS アカウントでユーザーが作成および管理しているカスタマーマネージドキーです。カスタマーマネージド KMS キーを使用すると、ユーザーがキーを完全にコントロールできます。これには、キーポリシーの定義と維持管理、許可の管理、暗号化マテリアルのローテーション、タグの割り当て、エイリアスの作成、キーの有効化と無効化が含まれます。

**注記**  
AWS KMS は、KMS キーへのクロスアカウントアクセスをサポートします。ECR リポジトリが、別のアカウントが所有する KMS キーで暗号化されている場合、このコントロールはリポジトリを評価するときにクロスアカウントチェックを実行しません。コントロールは、リポジトリの暗号化オペレーションを実行するときに Amazon ECR がキーにアクセスして使用できるかどうかを評価しません。

### 修正
<a name="ecr-5-remediation"></a>

既存の ECR リポジトリの暗号化設定を変更することはできません。ただし、後で作成する ECR リポジトリには、異なる暗号化設定を指定できます。Amazon ECR は、個々のリポジトリに対して異なる暗号化設定の使用をサポートしています。

ECR リポジトリの暗号化オプションの詳細については、「*Amazon ECR ユーザーガイド*」の「[保管時の暗号化](https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html)」を参照してください。カスタマー管理の詳細については AWS KMS keys、「 *AWS Key Management Service デベロッパーガイド*[AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)」の「」を参照してください。