

# 監査ガイド
<a name="audit-tutorial"></a>

このチュートリアルでは、定期的な監査の設定、アラームの設定、監査結果の確認、および監査で検出された問題の緩和の方法について説明します。

**Topics**
+ [前提条件](#audit-tutorial-prerequisites)
+ [監査チェックを有効化する](#audit-tutorial-enable-checks)
+ [監査結果を表示する](#audit-tutorial-view-audit)
+ [監査結果の緩和アクションの作成](#audit-tutorial-mitigation)
+ [監査所見に緩和措置を適用する](#apply-mitigation-actions)
+ [AWS IoT Device Defender 監査 IAM ロールの作成（オプション）](#audit-iam)
+ [SNS 通知を有効にする (オプション)](#audit-tutorial-enable-sns)
+ [カスタマーマネージドキーのアクセス許可を設定する (オプション)](#audit-tutorial-cmk-permissions)
+ [(オプション) ログ記録を有効化する](#enable-logging)

## 前提条件
<a name="audit-tutorial-prerequisites"></a>

このチュートリアルを完了するには、以下が必要です。
+ AWS アカウント。これを持っていない場合は、[設定](https://docs.aws.amazon.com/iot/latest/developerguide/dd-setting-up.html)を参照してください。

## 監査チェックを有効化する
<a name="audit-tutorial-enable-checks"></a>

次の手順では、アカウントおよびデバイスの設定とポリシーを調べて、セキュリティ対策が実装されていることを確認します。このチュートリアルでは、すべての監査チェックを有効にすることとしていますが、任意のチェックを選択できます。

監査料金は、1 か月あたりのデバイス数 (AWS IoT に接続されたフリートデバイス) あたりの料金です。したがって、監査チェックを追加または削除しても、この機能を使用する際の毎月の請求書には影響しません。

1. [AWS IoT コンソール](https://console.aws.amazon.com/iot)を開きます。ナビゲーションペインで、**[セキュリティ]** を展開し、**[イントロダクション]** を選択します。

1. **[AWS IoT セキュリティ監査を自動化]** を選択します。監査チェックは自動的にオンになります。

1. **[監査]** を展開し、**[設定]** を選択して監査チェックを表示します。監査チェックの名前を選択すると、監査チェックの目的について確認できます。監査チェックの詳細については、[[監査チェック](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-audit-checks.html)」を参照してください。

1. (オプション) 使用したいロールが既にある場合は、**[サービスのアクセス権限を管理]** を選択し、一覧からロールを選択して、**[更新]** を選択します。

## 監査結果を表示する
<a name="audit-tutorial-view-audit"></a>

次の手順では、監査結果を表示する方法を示します。このチュートリアルでは、[監査チェックを有効化する](#audit-tutorial-enable-checks) チュートリアルで設定された監査チェックの監査結果を確認します。

**監査結果を表示するには**

1. [AWS IoT コンソール](https://console.aws.amazon.com/iot)を開きます。ナビゲーションペインで、**[セキュリティ]**、**[監査]** の順に展開し、**[結果]** を選択します。

1. 調査する監査スケジュールの **[名前]** を選択します。

1. **[非準拠のチェック]** の **[軽減]** で情報ボタンを選択すると、コンプライアンス非準拠の理由が表示されます。不適合チェックを適合にする方法のガイダンスについては、「[監査チェック項目](device-defender-audit-checks.md)」を参照してください。

## 監査結果の緩和アクションの作成
<a name="audit-tutorial-mitigation"></a>

以下の手順では、AWS IoT Device Defender Audit Mitigation Action を作成して、AWS IoT ログ記録を有効にします。各監査チェックには、マッピングされた緩和アクションがあります。これは、修正する監査チェック用に選択する [**Action type**] (アクションの種類) に影響します。詳細については、[緩和アクション](https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-mitigation-actions.html#defender-audit-apply-mitigation-actions.html)を参照してください。

**AWS IoT コンソールを使用して緩和アクションを作成するには**

1. [AWS IoT コンソール](https://console.aws.amazon.com/iot)を開きます。ナビゲーションペインで、**[セキュリティ]**、**[検出]** の順に展開し、**[軽減アクション]** を選択します。

1. **[Mitigation actions]** (緩和アクション) ページで、**[Create]** (作成) を選択します。

1. **[新しい軽減アクションを作成する]** ページの **[アクション名]** に、*EnableErrorLoggingAction* などの軽減アクションの一意の名前を入力します。

1. **[アクションタイプ]** で、**[AWS IoT ログ記録を有効にする]** を選択します。

1. **[アクセス権限**] で、**[ロールの作成]** を選択します。**[ロール名]** で、*[IoTMitigationActionErrorLoggingRole]* を使用します。続いて、[**作成**] を選択します。

1. **[パラメータ]** の **[ログ記録のロール]** で、[`IoTMitigationActionErrorLoggingRole`] を選択します。**[ログレベル]** で、[`Error`] を選択します。

1. **[作成]** を選択します。

## 監査所見に緩和措置を適用する
<a name="apply-mitigation-actions"></a>

次の手順では、緩和アクションを監査結果に適用する方法を示します。

**不適合の監査結果を緩和するには**

1. [AWS IoT コンソール](https://console.aws.amazon.com/iot)を開きます。ナビゲーションペインで、**[セキュリティ]**、**[監査]** の順に展開し、**[結果]** を選択します。

1. 対応する監査結果を選択します。

1. 結果を確認します。

1. **[Start mitigation actions]** (緩和アクションの開始) を選択します。

1. **[ログ記録が無効]** で、以前に作成した軽減アクション `EnableErrorLoggingAction` を選択します。問題に対処するために、非準拠の検出結果ごとに適切なアクションを選択できます。

1. **[理由コードを選択する]** で、監査チェックで返された理由コードを選択します。

1. **[タスクを開始]** を選択します。軽減アクションが実行されるまで数分かかる場合があります。

**緩和アクションが機能したことを確認するには**

1. AWS IoT コンソールのナビゲーションペインで、**[設定]** を選択します。

1. **[サービスログ]** で、**[ログレベル]** が `Error (least verbosity)` であることを確認します。

## AWS IoT Device Defender 監査 IAM ロールの作成（オプション）
<a name="audit-iam"></a>

次の手順では、AWS IoT への AWS IoT Device Defender 読み取りアクセス権を提供する AWS IoT Device Defender 監査 IAM ロールを作成します。

**AWS IoT Device Defender のサービスロールを作成するには (IAM コンソール)**

1. AWS マネジメントコンソール にサインインして、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) を開きます。

1. IAM コンソールのナビゲーションペインで、[**ロール**]、[**ロールを作成**] を選択します。

1. **AWS のサービス** のロールタイプを選択します。

1. **[その他の AWS のサービスのユースケース]** で、[**AWS IoT**] を選択し、**[IoT - Device Defender Audit]** を選択します。

1. [**次へ**] を選択します。

1. (オプション) [アクセス許可の境界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。

   **[Permissions boundary]** (アクセス許可の境界) セクションを展開し、**[Use a permissions boundary to control the maximum role permissions]** (アクセス許可の境界を使用して、ロールのアクセス許可の上限を設定する) を選択します。IAM には、あなたのアカウント内の AWS 管理ポリシーとカスタマー管理ポリシーのリストがあります。アクセス許可の境界に使用するポリシーを選択するか、[**ポリシーを作成**] を選択して新しいブラウザタブを開き、新しいポリシーをゼロから作成します。詳細については、『*IAM ユーザーガイド*』の「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start)」を参照してください。ポリシーを作成したら、そのタブを閉じて元のタブに戻り、アクセス許可の境界として使用するポリシーを選択します。

1. [**次へ**] を選択します。

1. このロールの目的を識別しやすくするロール名を入力します。ロール名は AWS アカウント アカウント内で一意である必要があります。大文字と小文字は区別されません。例えば、**PRODROLE** と **prodrole** というロール名を両方作成することはできません。多くのエンティティによりロールが参照されるため、作成後にロール名を変更することはできません。

1. (オプション) [**Description (説明)**] には、新しいロールの説明を入力します。

1. **[Step 1: Select trusted entities]** (ステップ 1: 信頼済みエンティティの選択) または **[Step 2: Select permissions]** (ステップ 2: 権限の選択) のセクションで **[Edit]** (編集) を選択し、ロールのユースケースと権限を変更します。

1. (オプション) タグをキーバリューペアとしてアタッチして、メタデータをユーザーに追加します。IAM でのタグの使用に関する詳細については『*IAM ユーザーガイド*』の「[IAM リソースにタグを付ける](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)」を参照してください。

1. ロール情報を確認し、**ロールの作成** を選択します。

## SNS 通知を有効にする (オプション)
<a name="audit-tutorial-enable-sns"></a>

次の手順では、Amazon SNS (SNS) 通知を有効にして、監査で不適合のリソースが特定されたときに警告します。このチュートリアルでは、[監査チェックを有効化する](#audit-tutorial-enable-checks) チュートリアルで有効にした監査チェックの通知を設定します。

1. まだ設定していない場合は、AWS マネジメントコンソール 経由で SNS へのアクセスを提供するポリシーをアタッチします。これを行うには、「*IAM ユーザーガイド*」の「[IAM ユーザーグループへのポリシーのアタッチ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_attach-policy.html)」の手順に従って、**AWSIoTDeviceDefenderPublishFindingsToSNSMitigationAction** ポリシーを選択します。

1. [AWS IoT コンソール](https://console.aws.amazon.com/iot)を開きます。ナビゲーションペインで、**[セキュリティ]**、**[監査]** の順に展開し、**[設定]** を選択します。

1. **[Device Defender の監査設定]** ページの下部にある、**[SNS アラートを有効にする]** を選択します。

1. [**有効**] を選択します。

1. **[トピック]**、**[新しいトピックを作成]** の順に選択します。トピックに *IoTDDNotifications* という名前を付け、**[作成]** を選択します。**[ロール]** には、「[AWS IoT Device Defender 監査 IAM ロールの作成（オプション）](#audit-iam)」で作成したロールを選択します。

1. **[更新]** を選択します。

1. Ops プラットフォームで E メールやテキストを Amazon SNS 経由で受信したい場合は、「[ユーザー通知に Amazon Simple Notification Service を使用する](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html)」を参照してください。

## カスタマーマネージドキーのアクセス許可を設定する (オプション)
<a name="audit-tutorial-cmk-permissions"></a>

**注記**  
この設定は、AWS IoT Core のカスタマーマネージドキーにオプトインしている場合にのみ必要です。保管時の AWS IoT Core 暗号化の詳細については、「[AWS IoT Core での保管時のデータの暗号化](https://docs.aws.amazon.com/iot/latest/developerguide/encryption-at-rest.html)」を参照してください。

保管時の AWS IoT Core 暗号化でカスタマーマネージドキー (CMK) を有効にしている場合、AWS IoT Device Defender 監査で使用される IAM ロールには、データを復号するための追加のアクセス許可が必要です。これらのアクセス許可がないと、監査オペレーションは失敗します。

[https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSIoTDeviceDefenderAudit.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSIoTDeviceDefenderAudit.html) 管理ポリシーには、最小特権の原則に従って、設計上の `kms:Decrypt` アクセス許可は含まれません。カスタマーマネージドキーを使用する場合は、これらのアクセス許可を手動で監査ロールに追加する必要があります。

**AWS IoT Device Defender 監査 IAM ロールに KMS アクセス許可を追加するには**

1. AWS マネジメントコンソール にサインインして、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) を開きます。

1. ナビゲーションペインで **[ロール]** を選択し、[AWS IoT Device Defender 監査 IAM ロールの作成（オプション）](#audit-iam) で作成したロールまたは監査設定の構成時に指定したロールを検索します。

1. ロール名を選択して、詳細ページを開きます。

1. **[アクセス許可]** タブで **[アクセス許可の追加]** を選択したら、**[インラインポリシーの作成]** を選択します。

1. **[JSON]** タブを選択して次のポリシーを入力します。*REGION*、*ACCOUNT\$1ID*、*KEY\$1ID* を AWS KMS キーの詳細に置き換えます。

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt"
         ],
         "Resource": "arn:aws:kms:REGION:ACCOUNT_ID:key/KEY_ID"
       }
     ]
   }
   ```

1. [**次へ**] を選択します。

1. **[ポリシー名]** にわかりやすい名前 (**DeviceDefenderAuditKMSDecrypt** など) を入力します。

1. [**Create policy**] (ポリシーの作成) を選択します。

## (オプション) ログ記録を有効化する
<a name="enable-logging"></a>

この手順では、AWS IoT が CloudWatch Logs に情報を記録できるようにする方法について説明します。これにより、監査結果を表示できます。ログ記録を有効にすると、料金が発生する場合があります。

**ログ記録を有効にするには**

1. [AWS IoT コンソール](https://console.aws.amazon.com/iot)を開きます。ナビゲーションペインで [**設定**] を選択します。

1. **[ログ]** で、**[ログの管理]** を選択します。

1. **[新しいロール]** で、**[ロールの作成]** をクリックします。ロールに *AWSIoTLoggingRole* という名前を付け、**[作成]** を選択します。ポリシーは自動的にアタッチされます。

1. **[ログレベル]** で、**[デバッグ (最も冗長)]** を選択します。

1. **[更新]** を選択します。