

# 完全に自動化された修復を有効にする
<a name="enable-fully-automated-remediations"></a>

このソリューションのもう 1 つの運用方法は、検出結果が Security Hub に到着したら自動的に修復することです。

**重要**  
完全自動修復を有効にする前に、ソリューションが自動変更を行っても問題のないアカウントとリージョンでソリューションが設定されていることを確認してください。ソリューションの自動修復の範囲を絞り込む場合は、[完全自動修復のフィルタリング](#filter-remediations)に関する以下のセクションを参照してください。

## 例: Lambda.1 の完全自動修復を有効にする
<a name="enable-remediations-example"></a>

自動修復を有効にすると、有効にしたコントロール (Lambda.1) と一致するすべてのリソースで修復が開始されます。

**重要**  
ソリューションの範囲内のすべてのパブリック Lambda 関数に対してこのアクセス許可を取り消せることを確認してください。完全に自動化された修復は、作成した関数の範囲に限定されません。このコントロールがインストールされているアカウントとリージョンのいずれかで検出された場合、ソリューションはこのコントロールを修正します。


| アカウント | 目的 | us-east-1 でのアクション | us-west-2 でのアクション | 
| --- | --- | --- | --- | 
|   `111111111111`   |  管理者  |  必要なパブリック関数がないことを確認する  |  必要なパブリック関数がないことを確認する  | 
|   `222222222222`   |  メンバー  |  必要なパブリック関数がないことを確認する  |  必要なパブリック関数がないことを確認する  | 

## 修復設定 DynamoDB テーブルを見つける
<a name="locate-config-table"></a>

管理者アカウントで、CloudFormation コンソールの管理者スタックの `Outputs` を表示します。「`RemediationConfigurationDynamoDBTable`」というタイトルの出力が表示されます。

これは、ソリューションの自動修復設定を制御する修復設定 DynamoDB テーブルの名前です。この出力の値をコピーし、DynamoDB コンソールで対応する DynamoDB テーブルを見つけます。


| アカウント | 目的 | us-east-1 でのアクション | us-west-2 でのアクション | 
| --- | --- | --- | --- | 
|   `111111111111`   |  管理者  |  修復設定 DynamoDB テーブルを見つけます。  |  なし  | 
|   `222222222222`   |  メンバー  |  なし  |  なし  | 

## 修復設定テーブルを変更する
<a name="edit-table-item"></a>

修復設定テーブルが見つかった DynamoDB コンソールで、**[テーブルアイテムの探索]** を選択します。

テーブルの各項目は、ソリューションでサポートされている Security Hub コントロールに対応しています。各項目には、関連するコントロールに対して完全自動修復を有効にするように変更できる `automatedRemediationEnabled` 属性があります。

Lambda.1 を有効にするには、**[項目のスキャンまたはクエリ]** で **[クエリ]** を選択します。[パーティションキー: controlId] で `Lambda.1` を入力し、**[実行]** をクリックします。****Lambda.1 コントロールに対応する単一の項目が返されます。

![\[修復設定テーブル\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/automated-security-response-on-aws/images/remediation-configuration-table.png)


次に、`Lambda.1` 項目を選択し、**[アクション] > [項目の編集]** をクリックします。

![\[修復設定の編集項目\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/automated-security-response-on-aws/images/remediation-config-edit-item.png)


最後に、`automatedRemediationEnabled` 属性値を **[True]** に変更します。**[保存して閉じる]** をクリックします。


| アカウント | 目的 | us-east-1 でのアクション | us-west-2 でのアクション | 
| --- | --- | --- | --- | 
|   `111111111111`   |  管理者  |  修復設定 DynamoDB テーブルを変更します。  |  なし  | 
|   `222222222222`   |  メンバー  |  なし  |  なし  | 

## リソースを設定する
<a name="configure-the-resource"></a>

メンバーアカウントで、パブリックアクセスを許可するように Lambda 関数を再設定します。


| アカウント | 目的 | us-east-1 でのアクション | us-west-2 でのアクション | 
| --- | --- | --- | --- | 
|   `111111111111`   |  管理者  |  なし  |  なし  | 
|   `222222222222`   |  メンバー  |  なし  |  Lambda 関数がパブリックアクセスを許可できるように設定する  | 

## 修復によって検出結果が解決したことを確認する
<a name="confirm-the-remediation-resolved-finding2"></a>

Config が安全ではない設定を再度検出するまでにはしばらく時間がかかる場合があります。2 つの SNS 通知を受け取るはずです。1 つ目は、修復が開始されたことを示します。2 つ目は、修復が成功したことを示します。2 回目の通知を受け取ったら、メンバーアカウントの Lambda コンソールに移動し、パブリックアクセスが取り消されたことを確認します。


| アカウント | 目的 | us-east-1 でのアクション | us-west-2 でのアクション | 
| --- | --- | --- | --- | 
|   `111111111111`   |  管理者  |  なし  |  なし  | 
|   `222222222222`   |  メンバー  |  なし  |  修復が成功したことを確認する  | 

## (オプション) 完全自動修復のフィルタリングを設定する
<a name="filter-remediations"></a>

ソリューションによる修復の実行範囲を制限する場合は、フィルターを適用できます。これらのフィルターは完全自動修復にのみ適用され、手動で呼び出された修復には影響しません。

このソリューションでは、次のディメンションをフィルタリングできます。

1. アカウント ID

1. 組織単位 (OU)

1. リソースタグ

各ディメンションを設定するには、特定のディメンションに対応するソリューションによってデプロイされた Systems Manager パラメータを変更します。パラメータストアにあるフィルタリングパラメータはすべて、`/ASR/Filters/` パス下の管理者アカウントにあります。

各ディメンションには設定用のパラメータが 2 つあり、1 つはフィルター値用、もう 1 つはフィルターモード用です。例えば、アカウント ID ディメンションには、`/ASR/Filters/AccountFilters`と `/ASR/Filters/AccountFilterMode` という 2 つのパラメータがあります。アカウント ID のフィルタリングを設定するには、両方を変更する必要があります。

例えば、完全自動修復をアカウント `111111111111` と `222222222222` でのみ実行するように制限するには、`/ASR/Filters/AccountFilters` の値を「**111111111111, 222222222222**」に変更します。次に、`/ASR/Filters/AccountFilterMode` の値を **[含める]** に変更します。このソリューションでは、111111111111 または 222222222222 以外のアカウントに対して生成された検出結果はすべて無視されます。

各フィルターパラメータは、フィルタリングする値のコンマ区切りリストを使用します。また、各「モード」パラメータは、**[含める]**、**[除外する]**、または **[無効]** のいずれかに設定できます。