AWS Secrets Manager コントロール - AWS Security Hub

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

AWS Secrets Manager コントロール

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

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

[SecretsManager.1] Secrets Manager のシークレットでは自動ローテーションが有効になっている必要があります

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

カテゴリ: 保護 > セキュアな開発

重要度:

リソースタイプ: AWS::SecretsManager::Secret

AWS Config ルール : secretsmanager-rotation-enabled-check

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

パラメータ:

パラメータ 説明 [Type] (タイプ) 許可されているカスタム値 Security Hub のデフォルト値

maximumAllowedRotationFrequency

シークレットローテーション頻度の許容最大日数

整数

1365

デフォルト値なし

このコントロールは、 AWS Secrets Manager に格納されているシークレットに自動ローテーションが設定されているかどうかをチェックします。シークレットが自動ローテーションで構成されていない場合、コントロールは失敗します。maximumAllowedRotationFrequency パラメータにカスタム値を指定したときは、指定された時間帯内にシークレットが自動的にローテーションされた場合にのみコントロールが成功します。

Secrets Manager は、組織のセキュリティ体制を向上するのに役立ちます。シークレットとは、データベース認証情報、パスワード、サードパーティーの API キーなどが含まれます。Secrets Manager を使用することで、シークレットを一元的に保存、シークレットの自動暗号化、シークレットへのアクセスコントロール、シークレットを安全かつ自動的にローテーションすることができます。

Secrets Manager はシークレットをローテーションできます。ローテーションを使用して、長期のシークレットを短期のシークレッに置き換えることができます。シークレットをローテーションすることで、権限のないユーザーが侵害されたシークレットを使用できる期間を制限することができます。このため、シークレットは頻繁にローテーションする必要があります。ローテーションについて詳しくは、AWS Secrets Manager ユーザーガイドの「 AWS Secrets Manager シークレットのローテーション」を参照してください。

修正

Secrets Manager シークレットの自動ローテーションを有効にするには、AWS Secrets Manager ユーザーガイドの「 AWS Secrets Manager コンソールを使用してシークレットの自動ローテーションを設定する」を参照してください。 AWS Lambda ローテーション機能を選択して設定する必要があります。

[SecretsManager.2] 自動ローテーションで設定された Secrets Manager シークレットは正常にローテーションされるはずです

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

カテゴリ: 保護 > セキュアな開発

重要度:

リソースタイプ: AWS::SecretsManager::Secret

AWS Config ルール : secretsmanager-scheduled-rotation-success-check

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

パラメータ: なし

このコントロールは、 AWS Secrets Manager シークレットがローテーションスケジュールに基づいて正常にローテーションされたかどうかをチェックします。RotationOccurringAsScheduledfalse の場合、コントロールは失敗します。コントロールは、ローテーションがオンになっているシークレットのみを評価します。

Secrets Manager は、組織のセキュリティ体制を向上するのに役立ちます。シークレットとは、データベース認証情報、パスワード、サードパーティーの API キーなどが含まれます。Secrets Manager を使用することで、シークレットを一元的に保存、シークレットの自動暗号化、シークレットへのアクセスコントロール、シークレットを安全かつ自動的にローテーションすることができます。

Secrets Manager はシークレットをローテーションできます。ローテーションを使用して、長期のシークレットを短期のシークレッに置き換えることができます。シークレットをローテーションすることで、権限のないユーザーが侵害されたシークレットを使用できる期間を制限することができます。このため、シークレットは頻繁にローテーションする必要があります。

シークレットが自動的にローテーションされるように設定することに加えて、これらのシークレットがローテーションスケジュールに基づいて正常にローテーションするように設定する必要があります。

ローテーションの詳細については、「AWS Secrets Manager ユーザーガイド」の「AWS Secrets Manager シークレットのローテーション」を参照してください。

修正

自動ローテーションが失敗した場合、Secrets Manager の設定でエラーが発生している可能性があります。Secrets Manager でシークレットをローテーションさせるには、シークレットを所有するデータベースまたはサービスとの対話方法を定義する Lambda 関数を使用する必要があります。

シークレットのローテーションに関連する一般的なエラーの診断と修正については、『AWS Secrets Manager ユーザーガイド』の「AWS Secrets Manager シークレットのローテーションのトラブルシューティング」を参照してください。

[SecretsManager.3] 未使用のSecrets Manager シークレットを削除する

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

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

重要度:

リソースタイプ: AWS::SecretsManager::Secret

AWS Config ルール: secretsmanager-secret-unused

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

パラメータ:

パラメータ 説明 [Type] (タイプ) 許可されているカスタム値 Security Hub のデフォルト値

unusedForDays

シークレットを未使用のままにできる最大日数

整数

1365

90

このコントロールは、 AWS Secrets Manager 指定された期間内にシークレットがアクセスされたかどうかをチェックします。指定された時間枠を過ぎてもシークレットが使用されない場合、コントロールは失敗します。アクセス期間に対してカスタムパラメータ値を指定しない限り、Security Hub はデフォルト値の 90 日を使用します。

未使用のシークレットを削除することは、シークレットをローテーションするのと同様に重要です。未使用のシークレットは、これらのシークレットにアクセスする必要のない以前のユーザーによって悪用される可能性があります。また、より多くのユーザーがシークレットへのアクセスすると、誰かが誤って処理して権限のないエンティティに漏洩する可能性があるため、不正使用のリスクが高まります。未使用のシークレットを削除することで、必要としないユーザーからのシークレットへのアクセスを取り消すことができます。また、Secrets Manager の使用コスト削減にも役立ちます。したがって、未使用のシークレットを定期的に削除することが不可欠です。

修正

非アクティブな Secrets Manager AWS Secrets Manager シークレットを削除するには、『AWS Secrets Manager ユーザーガイド』の「シークレットの削除」を参照してください。

[SecretsManager.4] Secrets Manager のシークレットは、指定された日数以内にローテーションする必要があります

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

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

重要度:

リソースタイプ: AWS::SecretsManager::Secret

AWS Config ルール: secretsmanager-secret-periodic-rotation

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

パラメータ:

パラメータ 説明 [Type] (タイプ) 許可されているカスタム値 Security Hub のデフォルト値

maxDaysSinceRotation

シークレットを未変更のままにできる最大日数

整数

1180

90

このコントロールは、 AWS Secrets Manager シークレットが指定された期間内に少なくとも 1 回ローテーションされたかどうかをチェックします。シークレットを少なくともこの頻度でローテーションしないと、コントロールは失敗します。ローテーション期間に対してカスタムパラメータ値を指定しない限り、Security Hub はデフォルト値の 90 日を使用します。

シークレットをローテーションすることで、 AWS アカウントでユーザーのシークレットが不正に使用されるリスクを減らすのに役立ちます。例えば、データベース認証情報、パスワード、サードパーティーの API キーおよび任意のテキストなどがあります。シークレットを長期間変更しない場合、シークレットが侵害される可能性が高くなります。

より多くのユーザーがシークレットへのアクセスすると、誰かが操作を誤り、権限のないエンティティに漏洩する可能性があります。シークレットは、ログとキャッシュデータを介して漏洩する可能性があります。これらはデバッグ目的で共有でき、デバッグ完了後に変更または取り消されることはありません。これらすべての理由から、シークレットは頻繁にローテーションする必要があります。

AWS Secrets Managerでシークレットの自動ローテーションを設定できます。自動ローテーションにより、長期のシークレットを短期のシークレットに置き換えることが可能となり、侵害されるリスクを大幅に減少させるのに役立ちます。 Secrets Manager のシークレットの自動ローテーションを設定することをお勧めします。詳細については、「AWS Secrets Manager ユーザーガイド」の「AWS Secrets Manager シークレットのローテーション」を参照してください。

修正

Secrets Manager シークレットの自動ローテーションを有効にするには、AWS Secrets Manager ユーザーガイドの「 AWS Secrets Manager コンソールを使用してシークレットの自動ローテーションを設定する」を参照してください。 AWS Lambda ローテーション機能を選択して設定する必要があります。