自動化ルール - AWS Security Hub

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

自動化ルール

自動化ルールを使用すると、Security Hub の検出結果を自動的に更新できます。検出結果が取り込まれると、Security Hub は検出結果の非表示、重要度の変更、結果へのメモの追加など、さまざまなルールアクションを適用できます。このようなルールアクションは、検出結果が指定した基準 (結果に関連付けられているリソースまたはアカウント ID、タイトルなど) に一致した場合に有効になります。

自動化ルールの使用例には、次のようなものがあります。

  • 検出結果のリソース ID がビジネス上重要なリソースを参照している場合、検出結果の重大度を CRITICAL に上げます。

  • 検出結果が特定の本番稼働用アカウントのリソースに影響する場合は、検出結果の重要度を HIGH から CRITICAL に引き上げます。

  • INFORMATIONAL 重要度を持つ SUPPRESSED ワークフローステータスの特定の検出結果を割り当てます。

自動化ルールを使用して、AWS Security Finding 形式 (ASFF) 内の選択した検出結果フィールドを更新できます。ルールは、新しい検出結果と更新された検出結果の両方に適用されます。

カスタムルールを最初から作成することも、Security Hub が提供するルールテンプレートを使用することもできます。ルールテンプレートを使用する場合は、使用状況に合わせて必要に応じて変更できます。

自動化ルールの仕組み

Security Hub 管理者は、ルール条件を定義して自動化ルールを作成できます。検出結果が定義済みの条件と一致すると、Security Hub はその結果にルールアクションを適用します。使用可能な条件とアクションの詳細については、「使用可能なルール基準とルールアクション」を参照してください。

Security Hub 管理者アカウントのみが自動化ルールを作成、削除、編集、表示できます。管理者が作成したルールは、管理者アカウントとすべてのメンバーアカウントの検出結果に適用されます。メンバーアカウント ID をルール条件に指定することで、Security Hub 管理者は自動化ルールを使用して特定のメンバーアカウントの検出結果を更新したり、検出結果に対してアクションを実行したりすることもできます。

重要

自動化ルールは、そのルールが作成された AWS リージョンにのみ適用されます。複数のリージョンにルールを適用するには、委任された管理者がリージョンごとにルールを作成する必要があります。ルールの作成は、Security Hub コンソール、Security Hub API、または AWS CloudFormation を使用して実行できます。また、マルチリージョンデプロイスクリプトを使用することも可能です。

自動化ルールによって検出結果がどのように変化したかを知るには、「検出結果の履歴」を参照してください。

自動化ルールは、ルールの作成後に Security Hub が生成または取り込む新規および更新された検出結果に適用されます。Security Hub は、12~24 時間ごと、または関連リソースの状態が変化したときに、コントロール検出結果を更新します。詳細については、「Schedule for running security checks」を参照してください。

Security Hub は現在、管理者アカウントで最大 100 の自動化ルールをサポートしています。

ルールの順序

自動化ルールを作成するときは、各ルールに順序を割り当てます。これにより、Security Hub が自動化ルールを適用する順序が決まり、複数のルールが同じ検出結果または結果フィールドに関連する場合に重要になってきます。

複数のルールアクションが同じ検出結果または結果フィールドに関連する場合、ルール順序の数値が最も大きいルールが最後に適用され、最終的な結果となります。

Security Hub コンソールでルールを作成すると、Security Hub はルールの作成順序に基づいて、ルールの順序を自動的に割り当てます。最後に作成されたルールは、ルール順序の数値が最も小さいため、最初に適用されます。Security Hub は後続のルールを昇順で適用します。

Security Hub API または AWS CLI を使用してルールを作成すると、Security Hub は RuleOrder で数値が最も小さいルールを最初に適用します。その後、後続のルールを昇順で適用します。複数の検出結果に同じ RuleOrder がある場合、Security Hub は UpdatedAt フィールドに以前の値のルールを最初に適用します (つまり、最後に編集されたルールが最後に適用されます)。

ルールの順序はいつでも変更できます。

ルール順序の例:

ルール A (ルール順序は 1):

  • ルール A の基準

    • ProductName = Security Hub

    • Resources.TypeS3 Bucket

    • Compliance.Status = FAILED

    • RecordStateNEW

    • Workflow.Status = ACTIVE

  • ルール A のアクション

    • Confidence95 に更新

    • SeverityCRITICAL に更新

ルール B (ルールの順序は 2):

  • ルール B の基準

    • AwsAccountId = 123456789012

  • ルール B のアクション

    • SeverityINFORMATIONAL に更新

ルール A のアクションは、ルール A の基準に一致する Security Hub の検出結果に最初に適用されます。次に、ルール B のアクションが指定されたアカウント ID の Security Hub の検出結果に適用されます。この例では、ルール B が最後に適用されるため、指定されたアカウント ID からの検出結果における Severity の最終値は INFORMATIONAL です。ルール A のアクションに基づくと、一致した検出結果の Confidence の最終値は 95 です。

使用可能なルール基準とルールアクション

現在、次の ASFF フィールドが自動化ルールの条件としてサポートされています。

ASFF フィールド フィルター フィールドタイプ
AwsAccountId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
AwsAccountName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
CompanyName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ComplianceAssociatedStandardsId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ComplianceSecurityControlId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ComplianceStatus Is, Is Not 選択:[FAILED, NOT_AVAILABLE, PASSED, WARNING]
Confidence Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal)
CreatedAt Start, End, DateRange 日付 (形式例: 2022-12-01T21:47:39.269Z)
Criticality Eq (equal-to), Gte (greater-than-equal), Lte (less-than-equal)
Description CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
FirstObservedAt Start, End, DateRange 日付 (形式例: 2022-12-01T21:47:39.269Z)
GeneratorId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
Id CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
LastObservedAt Start, End, DateRange 日付 (形式例: 2022-12-01T21:47:39.269Z)
NoteText CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
NoteUpdatedAt Start, End, DateRange 日付 (形式例: 2022-12-01T21:47:39.269Z)
NoteUpdatedBy CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ProductArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ProductName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
RecordState CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
RelatedFindingsId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
RelatedFindingsProductArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ResourceApplicationArn CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ResourceApplicationName CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ResourceDetailsOther CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS マッピング
ResourceId CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ResourcePartition CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ResourceRegion CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
ResourceTags CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS マッピング
ResourceType Is, Is Not 選択 (ASFF がサポートするリソースを参照)
SeverityLabel Is, Is Not 選択: [CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL]
SourceUrl CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
Title CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
Type CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
UpdatedAt Start, End, DateRange 日付 (形式例: 2022-12-01T21:47:39.269Z)
UserDefinedFields CONTAINS, EQUALS, NOT_CONTAINS, NOT_EQUALS マッピング
VerificationState CONTAINS, EQUALS, PREFIX, NOT_CONTAINS, NOT_EQUALS, PREFIX_NOT_EQUALS 文字列
WorkflowStatus Is, Is Not 選択: [NEW, NOTIFIED, RESOLVED, SUPPRESSED]

現在、次の ASFF フィールドが自動化ルールのアクションとしてサポートされています。

  • Confidence

  • Criticality

  • Note

  • RelatedFindings

  • Severity

  • Types

  • UserDefinedFields

  • VerificationState

  • Workflow

特定の ASFF フィールドの詳細については、「AWS Security Finding 形式 」および「ASFF の例」を参照してください。

ヒント

Security Hub で特定のコントロールに関する検出結果の生成を停止したい場合は、自動化ルールを使用する代わりにコントロールを無効にすることをお勧めします。コントロールを無効にすると、Security Hub はそのコントロールに対するセキュリティチェックの実行を停止し、検出結果の生成を停止するため、そのコントロールに対する料金は発生しません。自動化ルールを使用し、定義した条件に一致する検出結果に関して、特定の ASFF フィールド値を変更することをおすすめします。コントロールの無効化に関する詳細については、「すべての標準におけるコントロールの有効化と無効化」を参照してください。

自動化ルールの作成

カスタムルールを最初から作成することも、事前に入力されている Security Hub のルールテンプレートを使用することもできます。

一度に作成できる自動化ルールは 1 つだけです。複数の自動化ルールを作成するには、コンソールの手順を複数回実行するか、必要なパラメータを指定して API またはコマンドを複数回呼び出します。

ルールを検出結果に適用させる各リージョンとアカウントで自動化ルールを作成する必要があります。

Security Hub コンソールで自動化ルールを作成すると、Security Hub では、そのルールが適用される検出結果のプレビューが表示されます。ルール条件に CONTAINS または NOT_CONTAINS フィルターが含まれている場合のプレビューは現在サポートされていません。これらのフィルターは、マッピングフィールドタイプと文字列フィールドタイプに対して選択できます。

重要

AWS では、ルールの名前や説明、またはその他のフィールドには、個人を特定する情報、機密性の高い情報を含めないことをお勧めします。

テンプレートからのルールの作成 (コンソールのみ)

現在、Security Hub コンソールのみがルールテンプレートをサポートしています。これらのテンプレートは自動化ルールの一般的な使用事例を反映しており、この機能を使うのに役立ちます。以下の手順を完了して、コンソールのテンプレートから自動化ルールを作成します。

Console
  1. AWS Security Hub コンソール (https://console.aws.amazon.com/securityhub/) を開きます。

    Security Hub 管理者アカウントにサインインします。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. [ルールの作成] を選択します。[ルールタイプ] で、[テンプレートからルールを作成] を選択します。

  4. ドロップダウンメニューからルールテンプレートを選択します。

  5. (オプション) 使用状況の必要に応じて、[ルール][基準][自動化アクション] セクションを変更します。少なくとも 1 つのルール基準と 1 つのルールアクションを指定する必要があります。

    選択した基準でサポートされている場合、コンソールには、基準に一致する検出結果のプレビューが表示されます。

  6. [ルールステータス] では、ルールを作成した後でそのルールを [有効] にするか [無効] にするかを選択します。

  7. (オプション) [詳細設定] セクションを展開します。このルールをルール条件に一致する検出結果に適用する最後のルールにしたい場合は、[これらの条件に一致する検出結果については後続のルールを無視する] を選択します。

  8. (オプション) [タグ] でタグをキーと値のペアとして追加すると、ルールを簡単に識別できるようになります。

  9. [ルールの作成] を選択します。

カスタムルールの作成

ご希望の方法を選択し、次の手順を完了させ、カスタム自動化ルールを作成します。

Console
  1. AWS Security Hub コンソール (https://console.aws.amazon.com/securityhub/) を開きます。

    Security Hub 管理者アカウントにサインインします。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. [ルールの作成] を選択します。[ルールタイプ] で [カスタムルールを作成] を選択します。

  4. [ルール] セクションで、一意のルール名とルールの説明を入力します。

  5. [基準] では、[キー][オペレータ]、および [値] のドロップダウンメニューを使用して、ルール条件を指定します。少なくとも 1 つのルール基準を指定する必要があります。

    選択した基準でサポートされている場合、コンソールには、基準に一致する検出結果のプレビューが表示されます。

  6. [自動アクション] の場合は、ドロップダウンメニューを使用して、検出結果がルール条件に一致したときに更新する結果フィールドを指定します。少なくとも 1 つのルールアクションを指定する必要があります。

  7. [ルールステータス] では、ルールを作成した後でそのルールを [有効] にするか [無効] にするかを選択します。

  8. (オプション) [詳細設定] セクションを展開します。このルールをルール条件に一致する検出結果に適用する最後のルールにしたい場合は、[これらの条件に一致する検出結果については後続のルールを無視する] を選択します。

  9. (オプション) [タグ] でタグをキーと値のペアとして追加すると、ルールを簡単に識別できるようになります。

  10. [ルールの作成] を選択します。

API
  1. Security Hub 管理者アカウントで、CreateAutomationRule を実行します。この API は、特定の Amazon リソースネーム (ARN) を使用してルールを作成します。

  2. ルールの名前と説明を入力します。

  3. このルールを、ルール条件に一致する検出結果に適用する最後のルールにする場合は、IsTerminal パラメーターを true に設定します。

  4. RuleOrder パラメータでは、ルールの順序を指定します。Security Hub は、このパラメータで最初に小さい数値のルールを適用します。

  5. RuleStatus パラメータでは、Security Hub を有効にするかどうかを指定し、作成後、検出結果にルールを適用し始めます。値を指定しない場合、デフォルトは ENABLED になります。値が DISABLED の場合、ルールは作成後に一時停止されます。

  6. Criteria パラメータでは、Security Hub に検出結果のフィルタリングで使用したい条件を指定します。ルールアクションは、条件に一致する検出結果に適用されます。サポートされている条件のリストについては、「使用可能なルール基準とルールアクション」を参照してください。

  7. Actions パラメータでは、検出結果と定義した条件が一致した場合に Security Hub に実行させたいアクションを指定します。サポートされているアクションのリストについては、使用可能なルール基準とルールアクション を参照してください。

API リクエストの例:

{ "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Workflow": { "Status": "SUPPRESSED" }, "Note": { "Text": "Known issue that is not a risk.", "UpdatedBy": "sechub-automation" } } }], "Criteria": { "ProductName": [{ "Value": "Security Hub", "Comparison": "EQUALS" }], "ComplianceStatus": [{ "Value": "FAILED", "Comparison": "EQUALS" }], "RecordState": [{ "Value": "ACTIVE", "Comparison": "EQUALS" }], "WorkflowStatus": [{ "Value": "NEW", "Comparison": "EQUALS" }], "GeneratorId": [{ "Value": "aws-foundational-security-best-practices/v/1.0.0/IAM.1", "Comparison": "EQUALS" }] }, "Description": "Sample rule description", "IsTerminal": false, "RuleName": "sample-rule-name", "RuleOrder": 1, "RuleStatus": "ENABLED", }
AWS CLI
  1. Security Hub 管理者アカウントで、create-automation-rule コマンドを実行します。このコマンドは、特定の Amazon リソースネーム (ARN) を使用してルールを作成します。

  2. ルールの名前と説明を入力します。

  3. このルールを、ルール条件に一致する検出結果に適用される最後のルールにする場合は、is-terminal パラメータを含めます。それ以外の場合は、no-is-terminal パラメータを含めます。

  4. rule-order パラメータでは、ルールの順序を指定します。Security Hub は、このパラメータで最初に小さい数値のルールを適用します。

  5. rule-status パラメータでは、Security Hub を有効にするかどうかを指定し、作成後、検出結果にルールを適用し始めます。値を指定しない場合、デフォルトは ENABLED になります。値が DISABLED の場合、ルールは作成後に一時停止されます。

  6. criteria パラメータでは、Security Hub に検出結果のフィルタリングで使用したい条件を指定します。ルールアクションは、条件に一致する検出結果に適用されます。サポートされている条件のリストについては、「使用可能なルール基準とルールアクション」を参照してください。

  7. actions パラメータでは、検出結果と定義した条件が一致した場合に Security Hub に実行させたいアクションを指定します。サポートされているアクションのリストについては、使用可能なルール基準とルールアクション を参照してください。

コマンドの例:

aws securityhub create-automation-rule \ --actions '[{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Severity": { "Label": "HIGH" }, "Note": { "Text": "Known issue that is a risk. Updated by automation rules", "UpdatedBy": "sechub-automation" } } }]' \ --criteria '{ "SeverityLabel": [{ "Value": "INFORMATIONAL", "Comparison": "EQUALS" }] }' \ --description "A sample rule" \ --no-is-terminal \ --rule-name "sample rule" \ --rule-order 1 \ --rule-status "ENABLED" \ --region us-east-1

自動化ルールを表示する

ご希望の方法を選択し、手順に従って自動化ルールと各ルールの詳細を確認してください。

Console
  1. AWS Security Hub コンソール (https://console.aws.amazon.com/securityhub/) を開きます。

    Security Hub 管理者アカウントにサインインします。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. ルール名を選択します。または、ルールを選択してください。

  4. [アクション][ログの表示] の順に選択します。

API
  1. アカウントの自動化ルールを表示するには、Security Hub 管理者アカウントから ListAutomationRules を実行します。この API は、使用中のルールのルール ARN とその他のメタデータを返します。この API には入力パラメータは必要ありませんが、オプションで結果の数を制限するために MaxResults を指定したり、ページ区切りパラメータとして NextToken を指定したりできます。NextToken の初期値は NULL である必要があります。

    API リクエストの例:

    { "MaxResults": 50, "NextToken": "cVpdnSampleTokenYcXgTockBW44c" }
  2. ルールの基準やアクションなど、その他のルールの詳細については、Security Hub 管理者アカウントから BatchGetAutomationRules を実行してください。

    API リクエストの例:

    { "AutomationRulesArns": [ "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa" ] }
AWS CLI
  1. アカウントの自動化ルールを表示するには、Security Hub 管理者アカウントから list-automation-rules コマンドを実行します。このコマンドは、使用中のルールのルール ARN とその他のメタデータを返します。このコマンドには入力パラメータは必要ありませんが、オプションで結果の数を制限するために max-results を指定したり、ページ区切りパラメータとして next-token を指定したりできます。

    コマンドの例:

    aws securityhub list-automation-rules \ --max-results 5 \ --next-token cVpdnSampleTokenYcXgTockBW44c \ --region us-east-1
  2. ルールの基準やアクションなど、その他のルールの詳細については、Security Hub 管理者アカウントから batch-get-automation-rules コマンドを実行します。

    コマンドの例:

    aws securityhub batch-get-automation-rules \ --automation-rules-arns '["arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"]' \ --region us-east-1

自動化ルールの編集

自動化ルールを編集すると、ルール編集後に Security Hub が生成または取り込む新しい検出結果や更新された結果に変更が適用されます。

ご希望の方法を選択し、手順に従って自動化ルールの内容を編集します。1 回のリクエストで 1 つ以上のルールを編集できます。ルール順序の編集方法については、「ルール順序の編集」を参照してください。

Console
  1. AWS Security Hub コンソール (https://console.aws.amazon.com/securityhub/) を開きます。

    Security Hub 管理者アカウントにサインインします。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. 編集するルールを選択します。[アクション][編集] の順に選択します。

  4. 必要に応じてルールを変更し、[変更を保存] を選択します。

API
  1. Security Hub 管理者アカウントで、BatchUpdateAutomationRules を実行します。

  2. RuleArn パラメータでは、編集するルールの ARN を指定します。

  3. 編集するパラメータの新しい値を指定します。RuleArn 以外の任意のパラメータを編集できます。

API リクエストの例:

{ "UpdateAutomationRulesRequestItems": [ { "RuleArn": "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "RuleOrder": 15, "RuleStatus": "Enabled" }, { "RuleArn": "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "RuleStatus": "Disabled" } ] }
AWS CLI
  1. Security Hub 管理者アカウントで、batch-update-automation-rules コマンドを実行します。

  2. RuleArn パラメータでは、編集するルールの ARN を指定します。

  3. 編集するパラメータの新しい値を指定します。RuleArn 以外の任意のパラメータを編集できます。

コマンドの例:

aws securityhub batch-update-automation-rules \ --update-automation-rules-request-items '[ { "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Note": { "Text": "Known issue that is a risk", "UpdatedBy": "sechub-automation" }, "Workflow": { "Status": "NEW" } } }], "Criteria": { "SeverityLabel": [{ "Value": "LOW", "Comparison": "EQUALS" }] }, "RuleArn": "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "RuleOrder": 14, "RuleStatus": "DISABLED", } ]' \ --region us-east-1

ルール順序の編集

場合によっては、ルールの条件とアクションはそのままで、Security Hub が自動化ルールを適用する順序を変更する場合もあります。ご希望の方法を選択し、手順に従ってルールの順序を編集します。

Console
  1. AWS Security Hub コンソール (https://console.aws.amazon.com/securityhub/) を開きます。

    Security Hub 管理者アカウントにサインインします。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. 順序を変更するルールを選択します。[優先度を編集] を選択します。

  4. ルールの優先度を 1 単位上げるには、[上に移動] を選択します。ルールの優先度を 1 単位下げるには、[下に移動] を選択します。ルールに [1] の順序を割り当てるには、[先頭に移動] を選択します (これにより、このルールが他の既存のルールよりも優先されます)。

注記

Security Hub コンソールでルールを作成すると、Security Hub はルールの作成順序に基づいて、ルールの順序を自動的に割り当てます。最後に作成されたルールは、ルール順序の数値が最も小さいため、最初に適用されます。

API
  1. Security Hub 管理者アカウントで、BatchUpdateAutomationRules を実行します。

  2. RuleArn パラメータでは、順序を編集するルールの ARN を指定します。

  3. RuleOrder フィールドの値を変更します。

注記

複数のルールに同じ RuleOrder がある場合、Security Hub は UpdatedAt フィールドに以前の値のルールを最初に適用します (つまり、最後に編集されたルールが最後に適用されます)。

AWS CLI
  1. Security Hub 管理者アカウントで、batch-update-automation-rules コマンドを実行します。

  2. RuleArn パラメータでは、順序を編集するルールの ARN を指定します。

  3. RuleOrder フィールドの値を変更します。

注記

複数のルールに同じ RuleOrder がある場合、Security Hub は UpdatedAt フィールドに以前の値のルールを最初に適用します (つまり、最後に編集されたルールが最後に適用されます)。

自動化ルールを削除する

自動化ルールを削除すると、Security Hub はそのルールをアカウントから削除し、検出結果に適用されなくなります。

ご希望の方法を選択し、手順に従って自動化ルールを削除します。1 回のリクエストで 1 つ以上のルールを削除できます。

ヒント

削除の代わりに、ルールを無効にすることもできます。これにより、ルールは後で使用できるよう保持されますが、Security Hub は、有効にするまで一致する検出結果にはルールを適用しません。

Console
  1. AWS Security Hub コンソール (https://console.aws.amazon.com/securityhub/) を開きます。

    Security Hub 管理者アカウントにサインインします。

  2. ナビゲーションペインで [オートメーション] を選択します。

  3. 削除するルールを選択します。[アクション][削除] の順に選択します (ルールを保持しながら一時的に無効にするには、[無効] を選択します)。

  4. 選択を確認して、[削除] をクリックします。

API
  1. Security Hub 管理者アカウントで、BatchDeleteAutomationRules を実行します。

  2. AutomationRulesArns パラメータでは、削除するルールの ARN を指定します (ルールを保持しながら一時的に無効にするには、RuleStatus パラメータの DISABLED を指定します)。

API リクエストの例:

{ "AutomationRulesArns": [ "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333", "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa" ] }
AWS CLI
  1. Security Hub 管理者アカウントで、batch-delete-automation-rules コマンドを実行します。

  2. automation-rules-arns パラメータでは、削除するルールの ARN を指定します (ルールを保持しながら一時的に無効にするには、RuleStatus パラメータの DISABLED を指定します)。

コマンドの例:

aws securityhub batch-delete-automation-rules \ --automation-rules-arns '["arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"]' \ --region us-east-1

自動化ルールの例

このセクションでは、一般的な使用事例の自動化ルールの例をいくつか紹介します。これらの例は、Security Hub コンソールのルールテンプレートに対応しています。

S3 バケットなどの特定のリソースが危険にさらされている場合は、重要度を「重大」に引き上げます。

この例では、検出結果の ResourceId が特定の Amazon Simple Storage Service (Amazon S3) バケットである場合にルール条件が一致します。ルールアクションは、一致した検出結果の重要度を CRITICAL に変更することです。このテンプレートを変更して他のリソースに適用できます。

API リクエストの例:

{ "IsTerminal": true, "RuleName": "Elevate severity of findings that relate to important resources", "RuleOrder": 1, "RuleStatus": "ENABLED", "Description": "Elevate finding severity to CRITICAL when specific resource such as an S3 bucket is at risk", "Criteria": { "ProductName": [{ "Value": "Security Hub", "Comparison": "EQUALS" }], "ComplianceStatus": [{ "Value": "FAILED", "Comparison": "EQUALS" }], "RecordState": [{ "Value": "ACTIVE", "Comparison": "EQUALS" }], "WorkflowStatus": [{ "Value": "NEW", "Comparison": "EQUALS" }], "ResourceId": [{ "Value": "arn:aws:s3:::examplebucket/developers/design_info.doc", "Comparison": "EQUALS" }] }, "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Severity": { "Label": "CRITICAL" }, "Note": { "Text": "This is a critical resource. Please review ASAP.", "UpdatedBy": "sechub-automation" } } }] }

CLI コマンドの例:

aws securityhub create-automation-rule \ --is-terminal \ --rule-name "Elevate severity of findings that relate to important resources" \ --rule-order 1 \ --rule-status "ENABLED" \ --description "Elevate finding severity to CRITICAL when specific resource such as an S3 bucket is at risk" \ --criteria '{ "ProductName": [{ "Value": "Security Hub", "Comparison": "EQUALS" }], "ComplianceStatus": [{ "Value": "FAILED", "Comparison": "EQUALS" }], "RecordState": [{ "Value": "ACTIVE", "Comparison": "EQUALS" }], "WorkflowStatus": [{ "Value": "NEW", "Comparison": "EQUALS" }], "ResourceId": [{ "Value": "arn:aws:s3:::examplebucket/developers/design_info.doc", "Comparison": "EQUALS" }] }' \ --actions '[{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Severity": { "Label": "CRITICAL" }, "Note": { "Text": "This is a critical resource. Please review ASAP.", "UpdatedBy": "sechub-automation" } } }]' \ --region us-east-1

本番稼働用アカウントのリソースに関連する検出結果の重大度を上げます。

この例では、特定の本番稼働用アカウントで重要度 HIGH の検出結果が生成されると、ルール条件が一致します。ルールアクションは、一致した検出結果の重要度を CRITICAL に変更することです。

API リクエストの例:

{ "IsTerminal": false, "RuleName": "Elevate severity for production accounts", "RuleOrder": 1, "RuleStatus": "ENABLED", "Description": "Elevate finding severity from HIGH to CRITICAL for findings that relate to resources in specific production accounts", "Criteria": { "ProductName": [{ "Value": "Security Hub", "Comparison": "EQUALS" }], "ComplianceStatus": [{ "Value": "FAILED", "Comparison": "EQUALS" }], "RecordState": [{ "Value": "ACTIVE", "Comparison": "EQUALS" }], "WorkflowStatus": [{ "Value": "NEW", "Comparison": "EQUALS" }], "SeverityLabel": [{ "Value": "HIGH", "Comparison": "EQUALS" }], "AwsAccountId": [ { "Value": "111122223333", "Comparison": "EQUALS" }, { "Value": "123456789012", "Comparison": "EQUALS" }] }, "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Severity": { "Label": "CRITICAL" }, "Note": { "Text": "A resource in production accounts is at risk. Please review ASAP.", "UpdatedBy": "sechub-automation" } } }] }

CLI コマンドの例:

aws securityhub create-automation-rule \ --no-is-terminal \ --rule-name "Elevate severity of findings that relate to resources in production accounts" \ --rule-order 1 \ --rule-status "ENABLED" \ --description "Elevate finding severity from HIGH to CRITICAL for findings that relate to resources in specific production accounts" \ --criteria '{ "ProductName": [{ "Value": "Security Hub", "Comparison": "EQUALS" }], "ComplianceStatus": [{ "Value": "FAILED", "Comparison": "EQUALS" }], "RecordState": [{ "Value": "ACTIVE", "Comparison": "EQUALS" }], "SeverityLabel": [{ "Value": "HIGH", "Comparison": "EQUALS" }], "AwsAccountId": [ { "Value": "111122223333", "Comparison": "EQUALS" }, { "Value": "123456789012", "Comparison": "EQUALS" }] }' \ --actions '[{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Severity": { "Label": "CRITICAL" }, "Note": { "Text": "A resource in production accounts is at risk. Please review ASAP.", "UpdatedBy": "sechub-automation" } } }]' \ --region us-east-1

情報の検出結果を非表示にする

この例では、Amazon から Security Hub に送信されたINFORMATIONAL重要度の検出結果のルール基準が一致します GuardDuty。ルールアクションは、一致した検出結果のワークフローステータスを SUPPRESSED に変更することです。

API リクエストの例:

{ "IsTerminal": false, "RuleName": "Suppress informational findings", "RuleOrder": 1, "RuleStatus": "ENABLED", "Description": "Suppress GuardDuty findings with INFORMATIONAL severity", "Criteria": { "ProductName": [{ "Value": "GuardDuty", "Comparison": "EQUALS" }], "RecordState": [{ "Value": "ACTIVE", "Comparison": "EQUALS" }], "WorkflowStatus": [{ "Value": "NEW", "Comparison": "EQUALS" }], "SeverityLabel": [{ "Value": "INFORMATIONAL", "Comparison": "EQUALS" }] }, "Actions": [{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Workflow": { "Status": "SUPPRESSED" }, "Note": { "Text": "Automatically suppress GuardDuty findings with INFORMATIONAL severity", "UpdatedBy": "sechub-automation" } } }] }

CLI コマンドの例:

aws securityhub create-automation-rule \ --no-is-terminal \ --rule-name "Suppress informational findings" \ --rule-order 1 \ --rule-status "ENABLED" \ --description "Suppress GuardDuty findings with INFORMATIONAL severity" \ --criteria '{ "ProductName": [{ "Value": "GuardDuty", "Comparison": "EQUALS" }], "ComplianceStatus": [{ "Value": "FAILED", "Comparison": "EQUALS" }], "RecordState": [{ "Value": "ACTIVE", "Comparison": "EQUALS" }], "WorkflowStatus": [{ "Value": "NEW", "Comparison": "EQUALS" }], "SeverityLabel": [{ "Value": "INFORMATIONAL", "Comparison": "EQUALS" }] }' \ --actions '[{ "Type": "FINDING_FIELDS_UPDATE", "FindingFieldsUpdate": { "Workflow": { "Status": "SUPPRESSED" }, "Note": { "Text": "Automatically suppress GuardDuty findings with INFORMATIONAL severity", "UpdatedBy": "sechub-automation" } } }]' \ --region us-east-1