AWS Key Management Service コントロール - AWS Security Hub

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

AWS Key Management Service コントロール

AWS KMS これらのコントロールはリソースに関連しています。

これらのコントロールは、一部のユーザーには使用できない場合があります AWS リージョン。詳細については、「リージョン別のコントロールの可用性」を参照してください。

[KMS.1] IAM カスタマー管理ポリシーでは、すべての KMS キーの復号アクションを許可しないでください

関連する要件: NIST.800-53.r5 AC-2、NIST.800-53.r5 AC-2(1)、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(15)、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-5、NIST.800-53.r5 AC-6、NIST.800-53.r5 AC-6(3)

カテゴリ: 保護 > セキュアなアクセス管理

重要度:

リソースタイプ: AWS::IAM::Policy

AWS Config ルール : iam-customer-policy-blocked-kms-actions

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

パラメータ:

  • blockedActionsPatterns: kms:ReEncryptFrom, kms:Decrypt (カスタマイズ不可)

  • excludePermissionBoundaryPolicy: True (カスタマイズ不可)

IAM カスタマー管理ポリシーのデフォルトバージョンで、 AWS KMS プリンシパルがすべてのリソースで復号アクションを使用できるかどうかを確認します。ポリシーがすべての KMS キーに対して kms:Decrypt または kms:ReEncryptFrom のアクションを許可するのに十分にオープンな場合、このコントロールは失敗します。

コントロールはリソース要素の KMS キーのみをチェックし、ポリシーの Condition 要素の条件は考慮しません。このコントロールは、添付済みのカスタマーマネージドポリシーと添付されていないカスタマーマネージドポリシーの両方を評価します。インラインポリシーや管理ポリシーはチェックされません。 AWS

では AWS KMS、KMS キーを使用できるユーザーや、暗号化されたデータにアクセスできるユーザーを制御できます。IAM ポリシーは、アイデンティティ (ユーザー、グループ、またはロール) がどのリソースに対してどのアクションを実行できるかを定義します。セキュリティのベストプラクティスに従い、 AWS 許可する権限は最小限にとどめることを推奨します。つまり、ID に付与するのは kms:Decrypt または kms:ReEncryptFrom 許可と、タスクの実行に必要なキーのみにする必要があります。そうでない場合、ユーザーはデータに適さないキーを使用する可能性があります。

すべてのキーに対する許可を付与する代わりに、ユーザーが暗号化されたデータにアクセスするために必要な最小限のキーのセットを決定します。次に、ユーザーがそれらのキーのみを使用できるようにするポリシーを設計します。例えば、すべての KMS キーに kms:Decrypt 許可を付与しないでください。代わりに、アカウントの特定のリージョン内のキーのみに kms:Decrypt を許可します。最小特権のプリンシパルを採用することで、意図しないデータ開示のリスクを減らすことができます。

修正

IAM カスタマー管理ポリシーを変更するには、「IAM ユーザーガイド」の「カスタマー管理ポリシーの編集」を参照してください。Resource フィールドのポリシーを編集する際、復号化アクションを許可する特定の 1 つまたは複数キーの Amazon リソースネーム (ARN) を指定します。

[KMS.2] IAM プリンシパルは、すべての KMS キーで復号アクションを許可する IAM インラインポリシーを使用しないでください

関連する要件: NIST.800-53.r5 AC-2、NIST.800-53.r5 AC-2(1)、NIST.800-53.r5 AC-3、NIST.800-53.r5 AC-3(15)、NIST.800-53.r5 AC-3(7)、NIST.800-53.r5 AC-5、NIST.800-53.r5 AC-6、NIST.800-53.r5 AC-6(3)

カテゴリ: 保護 > セキュアなアクセス管理

重要度:

リソースタイプ :

  • AWS::IAM::Group

  • AWS::IAM::Role

  • AWS::IAM::User

AWS Config ルール : iam-inline-policy-blocked-kms-actions

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

パラメータ:

  • blockedActionsPatterns: kms:ReEncryptFrom, kms:Decrypt (カスタマイズ不可)

このコントロールは、IAM アイデンティティ (ロール、ユーザー、またはグループ) に埋め込まれているインラインポリシーが、すべての KMS AWS KMS キーの復号および再暗号化アクションを許可しているかどうかを確認します。ポリシーがすべての KMS キーに対して kms:Decrypt または kms:ReEncryptFrom のアクションを許可するのに十分にオープンな場合、このコントロールは失敗します。

コントロールはリソース要素の KMS キーのみをチェックし、ポリシーの Condition 要素の条件は考慮しません。

では AWS KMS、KMS キーを使用できるユーザーや、暗号化されたデータにアクセスできるユーザーを制御できます。IAM ポリシーは、アイデンティティ (ユーザー、グループ、またはロール) がどのリソースに対してどのアクションを実行できるかを定義します。セキュリティのベストプラクティスに従い、 AWS 許可する権限は最小限にとどめることを推奨します。つまり、ID には必要な許可のみを、タスクの実行に必要なキーにのみ付与する必要があります。そうでない場合、ユーザーはデータに適さないキーを使用する可能性があります。

すべてのキーに対する許可を付与する代わりに、ユーザーが暗号化されたデータにアクセスするために必要なキーの最小セットを決定します。次に、ユーザーがそれらのキーのみを使用できるようにするポリシーを設計します。例えば、すべての KMS キーに kms:Decrypt 許可を付与しないでください。代わりに、アカウントの特定リージョンでの特定のキーにのみ許可を付与してください。最小特権のプリンシパルを採用することで、意図しないデータ開示のリスクを減らすことができます。

修正

IAM インラインポリシーを変更するには、「IAM ユーザーガイド」の「インラインポリシーの編集」を参照してください。Resource フィールドのポリシーを編集する際、復号化アクションを許可する特定の 1 つまたは複数キーの Amazon リソースネーム (ARN) を指定します。

[KMS.3] AWS KMS keys は意図せずに削除しないでください。

関連する要件: NIST.800-53.r5 SC-12、NIST.800-53.r5 SC-12(2)

カテゴリ: 保護 > データ保護 > データ削除保護

重要度: 非常事態

リソースタイプ: AWS::KMS::Key

AWS Config ルール: kms-cmk-not-scheduled-for-deletion-2 (カスタム Security Hub ルール)

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

パラメータ: なし

このコントロールは、KMS キーの削除がスケジュール済みかどうかをチェックします。KMS キーの削除がスケジュール済みの場合、コントロールは失敗します。

KMS キーは、一度削除すると復元できません。KMS キーで暗号化されたデータも、KMS キーが削除された場合は永久に回復できません。削除予定の KMS キーで、意味のあるデータが暗号化されている場合、意図的に暗号化消去を実行しない限り、データの復号化または新しい KMS キーでデータの再暗号化を検討してください。

KMS キーの削除がスケジュール済みで、誤ってスケジュールされた場合、削除の取り消し時間を確保するために、強制的に待ち時間が適用されます。デフォルトの待機期間は 30 日間ですが、KMS キーの削除がスケジュールされている場合は 7 日以内に短縮できます。待機期間中、スケジュール済みの削除はキャンセルすることができ、KMS キーは削除されません。

KMS キーの削除の詳細については、「AWS Key Management Service 開発者ガイド」の「KMS キーの削除」を参照してください。

修正

スケジュール済み KMS キーの削除をキャンセルには、「AWS Key Management Service  デベロッパーガイド」の「キー削除のスケジュールとキャンセル (コンソール)」内にある「キーの削除をキャンセルするには」を参照してください。

[KMS.4] キーローテーションを有効にする必要があります AWS KMS

関連要件:PCI DSS v3.2.1/3.6.4、CIS Foundations Benchmark v1.2.0/2.8、CIS AWS Foundations Benchmark v1.4.0/3.8、NIST.800-53.R5 SC-12 (2)、 AWS nist.800-53.r5 SC-28 (3)

重要度:

リソースタイプ: AWS::KMS::Key

AWS Config ルール: cmk-backing-key-rotation-enabled

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

パラメータ: なし

AWS KMS これにより、お客様はバッキングキーをローテーションできます。バッキングキーは KMS AWS KMS キーに保存され、KMS キーのキー ID に関連付けられています。バッキングキーは、暗号化や復号化などの暗号化オペレーションを実行するために使用されます。現在、キーの自動ローテーションでは以前のすべてのバッキングキーが保持されるため、暗号化したデータは透過的に復号化できます。

CIS では、KMS キーのローテーションを有効にすることを推奨しています。新しいキーで暗号化されたデータは、漏洩した可能性がある以前のキーではアクセスできないため、暗号化キーをローテーションすることで、漏洩したキーにより起こる可能性のある被害を減らすことができます。

修正

KMS キーローテーションを有効にするには、「AWS Key Management Service  デベロッパーガイド」の「自動キーローテーションを有効または無効にする方法」を参照してください。