緩和アクション - AWS IoT コア

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

緩和アクション

を使用すると、監査結果または Detect アラームで見つかった問題を軽減するためのアクションを実行できます。AWS IoT Device Defender

注記

緩和アクションは、抑制された監査結果に対して実行されません。結果のサプレッションの詳細については、「結果のサプレッションの監査」を参照してください。

監査緩和アクション

AWS IoT Device Defender には、さまざまな監査チェック項目に対する定義済みアクションが用意されています。これらのアクションを AWS アカウントに設定し、一連の結果に適用します。これらの結果は以下のとおりです。

  • 監査からのすべての結果。このオプションは、AWS IoT コンソールでも AWS CLI の使用によっても利用できます。

  • 個々の結果のリスト。このオプションは、AWS CLI の使用によってのみ利用できます。

  • 監査からフィルタリングされた一連の結果。

次の表は、監査チェックのタイプと、それぞれでサポートされている緩和アクションの一覧です。

監査チェックから緩和アクションへのマッピング
監査チェック サポートされている緩和アクション
REVOKED_CA_CERT_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_CA_CERTIFICATE
DEVICE_CERTIFICATE_SHARED_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS
AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS
IOT_POLICY_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS, REPLACE_DEFAULT_POLICY_VERSION
CA_CERT_APPROACHING_EXPIRATION_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_CA_CERTIFICATE
CONFLICTING_CLIENT_IDS_CHECK PUBLISH_FINDING_TO_SNS
DEVICE_CERT_APPROACHING_EXPIRATION_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
REVOKED_DEVICE_CERT_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
LOGGING_DISABLED_CHECK PUBLISH_FINDING_TO_SNS, ENABLE_IOT_LOGGING
DEVICE_CERTIFICATE_KEY_QUALITY_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_DEVICE_CERTIFICATE, ADD_THINGS_TO_THING_GROUP
CA_CERTIFICATE_KEY_QUALITY_CHECK PUBLISH_FINDING_TO_SNS, UPDATE_CA_CERTIFICATE
IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK PUBLISH_FINDING_TO_SNS
IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK PUBLISH_FINDING_TO_SNS

すべての監査チェックでは、Amazon SNS への監査結果の発行がサポートされるため、通知に応じてカスタムアクションを実行できます。各タイプの監査チェックでは、追加の緩和アクションをサポートできます。

REVOKED_CA_CERT_CHECK
  • 証明書の状態を変更して、AWS IoT で非アクティブとしてマークします。

DEVICE_CERTIFICATE_SHARED_CHECK
  • デバイス証明書の状態を変更して、AWS IoT で非アクティブとしてマークします。

  • その証明書を使用するデバイスをモノのグループに追加します。

UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK
  • 追加でサポートされているアクションはありません。

AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK
  • 追加でサポートされているアクションはありません。

IOT_POLICY_OVERLY_PERMISSIVE_CHECK
  • アクセス許可を制限するには、空の AWS IoT ポリシーバージョンを追加します。

CA_CERT_APPROACHING_EXPIRATION_CHECK
  • 証明書の状態を変更して、AWS IoT で非アクティブとしてマークします。

CONFLICTING_CLIENT_IDS_CHECK
  • 追加でサポートされているアクションはありません。

DEVICE_CERT_APPROACHING_EXPIRATION_CHECK
  • デバイス証明書の状態を変更して、AWS IoT で非アクティブとしてマークします。

  • その証明書を使用するデバイスをモノのグループに追加します。

DEVICE_CERTIFICATE_KEY_QUALITY_CHECK
  • デバイス証明書の状態を変更して、AWS IoT で非アクティブとしてマークします。

  • その証明書を使用するデバイスをモノのグループに追加します。

CA_CERTIFICATE_KEY_QUALITY_CHECK
  • 証明書の状態を変更して、AWS IoT で非アクティブとしてマークします。

REVOKED_DEVICE_CERT_CHECK
  • デバイス証明書の状態を変更して、AWS IoT で非アクティブとしてマークします。

  • その証明書を使用するデバイスをモノのグループに追加します。

LOGGING_DISABLED_CHECK
  • ログ作成を有効化します。

AWS IoT Device Defender は、監査結果に対する以下のタイプの緩和アクションをサポートしています。

アクションの種類

注意
ADD_THINGS_TO_THING_GROUP デバイスを追加するグループを指定します。また、モノが属することができるグループの最大数を超える場合、1 つ以上の動的グループのメンバーシップをオーバーライドするかどうかも指定します。
ENABLE_IOT_LOGGING ログ記録レベルとログ記録のアクセス許可を持つロールを指定します。DISABLED のログ記録レベルを指定することはできません。
PUBLISH_FINDING_TO_SNS 結果の発行先となるトピックを指定します。
REPLACE_DEFAULT_POLICY_VERSION テンプレート名を指定します。ポリシーバージョンをデフォルトまたは空白のポリシーに置き換えます。現在、BLANK_POLICY の値のみがサポートされています。
UPDATE_CA_CERTIFICATE CA 証明書の新しい状態を指定します。現在、DEACTIVATE の値のみがサポートされています。
UPDATE_DEVICE_CERTIFICATE デバイス証明書の新しい状態を指定します。現在、DEACTIVATE の値のみがサポートされています。

監査中に問題が見つかったときの標準アクションを設定することで、それらの問題に一貫して対応できます。これらの定義済みの緩和アクションを使用すると、問題をより迅速に解決し、人為的ミスの可能性を低く抑えることができます。

重要

証明書の変更、新しいモノのグループへのモノの追加、またはポリシーの置き換えを行う緩和アクションを適用すると、デバイスとアプリケーションに影響する可能性があります。たとえば、デバイスが接続できなくなる場合があります。緩和アクションは、適用する前に、その影響を考慮してください。デバイスやアプリケーションが正常に機能できるようになる前に、問題を解決するための他のアクションを実行する必要がある場合があります。たとえば、更新されたデバイス証明書を提供する必要がある場合があります。緩和アクションはリスクをすばやく制限するのに役立ちますが、根本的な問題に対処するための是正措置を講じる必要があります。

デバイス証明書の再アクティブ化などの一部のアクションは、手動でのみ実行できます。AWS IoT Device Defender には、適用された緩和アクションを自動的にロールバックするメカニズムはありません。

緩和アクションの検出

AWS IoT Device Defender では、Detect アラームの以下のタイプの緩和アクションがサポートされています。

アクションの種類

注意
ADD_THINGS_TO_THING_GROUP デバイスを追加するグループを指定します。また、モノが属することができるグループの最大数を超える場合、1 つ以上の動的グループのメンバーシップをオーバーライドするかどうかも指定します。

緩和アクションを定義および管理する方法

AWS IoT コンソールまたは AWS CLI を使用して、AWS アカウントの緩和アクションを定義および管理できます。

緩和アクションの作成

定義する各緩和アクションは、事前定義されたアクションタイプとアカウントに固有のパラメータの組み合わせです。

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

  1. AWS IoT コンソールを開きます。

  2. 左ナビゲーションペインで [Defend (防御)] を選択後、[Mitigation Actions (緩和アクション)] を選択します。

  3. [緩和アクション] ページで、[作成] を選択します。

    
                新しい緩和アクションウィンドウを作成します。
  4. [Create a Mitigation Action (緩和アクションの作成)] ページの [アクション名] に、緩和アクションの一意の名前を入力します。

  5. [アクションの種類] で、定義するアクションのタイプを指定します。

  6. 各アクションタイプは、異なる一連のパラメータをリクエストします。アクションのパラメータを入力します。たとえば、[モノのグループにモノを追加] アクションタイプを選択した場合は、追加先グループを選択し、[Override dynamic groups (動的グループのオーバーライド)] を選択またはオフにします。

  7. [Action execution role (アクション実行ロール)] で、アクションが適用されるアクセス許可のロールを選択します。

  8. [保存] を選択して、緩和アクションを AWS アカウントに保存します。

AWS CLI を使用して緩和アクションを作成するには

  • CreateMitigationAction コマンドを使用して、緩和アクションを作成します。アクションに付ける一意の名前は、そのアクションを監査の結果に適用するときに使用されます。わかりやすい名前を選択します。

AWS IoT コンソールを使用して緩和アクションを表示および変更するには

  1. AWS IoT コンソールを開きます。

  2. 左ナビゲーションペインで [Defend (防御)] を選択後、[Mitigation Actions (緩和アクション)] を選択します。

    [Mitigation Actions (緩和アクション)] ページには、AWS アカウントに対して定義されたすべての緩和アクションのリストが表示されます。

    
                緩和アクションのリスト。
  3. 変更する緩和アクションのアクション名リンクを選択します。

  4. 緩和アクションを変更します。緩和アクションの名前は識別に使用されるため、名前を変更することはできません。

    
                緩和アクションの編集ページ。
  5. [保存] を選択して、緩和アクションに対する変更を AWS アカウントに保存します。

AWS CLI を使用して緩和アクションを一覧表示するには

  • ListMitigationAction コマンドを使用して、緩和アクションを一覧表示します。緩和アクションを変更または削除する場合は、名前をメモします。

AWS CLI を使用して緩和アクションを更新するには

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

  1. AWS IoT コンソールを開きます。

  2. 左ナビゲーションペインで [Defend (防御)] を選択後、[Mitigation Actions (緩和アクション)] を選択します。

    [Mitigation Actions (緩和アクション)] ページには、AWS アカウントに対して定義されたすべての緩和アクションが表示されます。

  3. 削除する緩和アクションの省略記号 ([...]) を選択し、[削除] を選択します。

AWS CLI を使用して緩和アクションを削除するには

AWS IoT コンソールを使用して緩和アクションの詳細を表示するには

  1. AWS IoT コンソールを開きます。

  2. 左ナビゲーションペインで [Defend (防御)] を選択後、[Mitigation Actions (緩和アクション)] を選択します。

    
                緩和アクションのリスト。

    [Mitigation Actions (緩和アクション)] ページには、AWS アカウントに対して定義されたすべての緩和アクションが表示されます。

  3. 変更する緩和アクションのアクション名リンクを選択します。

  4. [Are you sure you want to delete the mitigation action (緩和アクションを削除してよろしいですか)] ウィンドウで、[確認] を選択します。

    
                緩和アクションを削除してよろしいですか確認ウィンドウ。

AWS CLI を使用して緩和アクションの詳細を表示するには

緩和アクションの適用

一連の緩和アクションを定義したら、それらのアクションを監査の結果に適用できます。アクションを適用すると、監査緩和アクションタスクを開始します。このタスクは、結果のセットとそれに適用するアクションによっては、完了までに時間がかかることがあります。たとえば、証明書の有効期限が切れた大規模なデバイスプールがある場合、それらの証明書をすべて無効にするか、それらのデバイスを隔離グループに移動するまでに時間がかかることがあります。ログ記録の有効化など、他のアクションはすばやく完了できます。

アクション実行のリストを表示し、まだ完了していない実行をキャンセルできます。キャンセルされたアクション実行の一部として既に実行されているアクションはロールバックされません。結果のセットに複数のアクションを適用していて、アクションの 1 つが失敗した場合、その結果に対する後続のアクションはスキップされます (ただし、他の結果には適用されます)。結果のタスクのステータスは FAILED です。結果に適用したときに 1 つ以上のアクションが失敗した場合、 taskStatus は失敗に設定されます。アクションは、指定された順序で適用されます。

それぞれのアクション実行では、一連のアクションがターゲットに適用されます。そのターゲットは、結果のリストまたは監査からのすべての結果にすることができます。

次の図は、1 つの監査からすべての結果を取得し、その結果に一連のアクションを適用する監査緩和タスクを定義する方法を示しています。1 回の実行で、1 つのアクションが 1 つの結果に適用されます。監査緩和アクションタスクは、実行の概要を出力します。


          概念図は、監査緩和アクションタスクを示しています。

次の図は、1 つ以上の監査から個々の結果のリストを取得し、その結果に一連のアクションを適用する監査緩和タスクを定義する方法を示しています。1 回の実行で、1 つのアクションが 1 つの結果に適用されます。監査緩和アクションタスクは、実行の概要を出力します。


          概念図は、監査緩和アクションタスクを示しています。

緩和アクションを適用するには、AWS IoT コンソールまたは AWS CLI を使用できます。

AWS IoT コンソールを使用して、アクション実行を開始することで緩和アクションを適用するには

  1. AWS IoT コンソールを開きます。

  2. 左ナビゲーションペインで [Defend (防御)]、[監査]、[結果] の順に選択します。

    
              [Start mitigation actions (緩和アクションの開始)] ボタンを示す監査結果のリスト。
  3. アクションを適用する監査の名前を選択します。

    
              緩和アクションタスクを開始する必要があります ウィンドウ。
  4. [Start Mitigation Actions (緩和アクションの開始)] を選択します。すべてのチェック項目が準拠している場合、このボタンは使用できません。

  5. [Are you sure that you want to start mitigation action task (緩和アクションタスクを開始してよろしいですか)] では、タスク名はデフォルトで監査 ID になりますが、わかりやすいものに変更できます。

  6. 監査で 1 つ以上の非準拠の結果があったチェックのタイプごとに、適用する 1 つ以上のアクションを選択できます。チェックタイプに有効なアクションのみが表示されます。

    注記

    AWS アカウントにアクションを設定していない場合、アクションのリストは空になります。[ここをクリックしてください] リンクを選択して、1 つ以上の緩和アクションを作成できます。

  7. 適用するすべてのアクションを指定したら、[確認] を選択します。

AWS CLI を使用して、監査緩和アクションの実行を開始して緩和アクションを適用するには

  1. 監査のすべての結果にアクションを適用する場合は、ListAuditTasks コマンドを使用してタスク ID を見つけます。

  2. 選択した結果にのみアクションを適用する場合は、ListAuditFindings コマンドを使用して結果 IDs を取得します。

  3. ListMitigationActions コマンドを使用して、適用する緩和アクションの名前を書き留めます。

  4. StartAuditMitigationActionsTask コマンドを使用して、ターゲットにアクションを適用します。タスク ID を書き留めます。ID を使用して、アクション実行の状態の確認、詳細の確認、またはキャンセルを行うことができます。

AWS IoT コンソールを使用してアクションの実行を表示するには

  1. AWS IoT コンソールを開きます。

  2. 左ナビゲーションペインで [Defend (防御)] を選択後、[Action Executions (アクション実行)] を選択します。

    
              監査アクション実行のリスト。

    アクションタスクのリストには、それぞれが開始された時刻と現在のステータスが表示されます。

  3. [名前] リンクを選択して、タスクの詳細を表示します。詳細には、タスクによって適用されるすべてのアクション、そのターゲット、およびステータスが含まれます。

    
              監査緩和アクションタスクの詳細。

    [Show executions for (実行を表示)] フィルターを使用して、アクションの種類やアクションの状態に注目できます。

  4. タスクの詳細を表示するには、[Executions (実行)] で [Show (表示)] を選択します。

    
              監査緩和アクションタスクの実行の詳細。

AWS CLI を使用して、開始したタスクを一覧表示するには

  1. ListAuditMitigationActionsTasks を使用して、監査緩和アクションタスクを表示します。フィルターを指定して結果を絞り込むことができます。タスクの詳細を表示する場合は、タスク ID をメモしておきます。

  2. 特定の監査緩和アクションタスクの実行の詳細を表示するには、ListAuditMitigationActionsExecutions を使用します。

  3. 開始時に指定されたパラメータなど、タスクの詳細を表示するには、DescribeAuditMitigationActionsTask を使用します。

AWS CLI を使用して、実行中の監査緩和アクションタスクをキャンセルするには

  1. ListAuditMitigationActionsTasks コマンドを使用して、実行をキャンセルするタスクのタスク ID を見つけます。フィルターを指定して結果を絞り込むことができます。

  2. タスク ID を使用して ListDetectMitigationActionsExecutions コマンドを使用し、監査緩和アクションタスクをキャンセルします。完了したタスクはキャンセルできません。タスクをキャンセルすると、残りのアクションは適用されませんが、既に適用された緩和アクションはロールバックされません。

Permissions

定義する緩和アクションごとに、そのアクションを適用するために使用するロールを指定する必要があります。

緩和アクションのアクセス許可
アクションの種類 アクセス許可ポリシーテンプレート

UPDATE_DEVICE_CERTIFICATE

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:UpdateCertificate" ], "Resource":[ "*" ] } ] }
UPDATE_CA_CERTIFICATE
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:UpdateCACertificate" ], "Resource":[ "*" ] } ] }
ADD_THINGS_TO_THING_GROUP
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:ListPrincipalThings", "iot:AddThingToThingGroup" ], "Resource":[ "*" ] } ] }
REPLACE_DEFAULT_POLICY_VERSION
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:CreatePolicyVersion" ], "Resource":[ "*" ] } ] }
ENABLE_IOT_LOGGING
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "iot:SetV2LoggingOptions" ], "Resource":[ "*" ] }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":[ "<IAM role ARN used for setting up logging>" ] } ] }
PUBLISH_FINDING_TO_SNS
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "sns:Publish" ], "Resource":[ "<The SNS topic to which the finding is published>" ] } ] }

すべての緩和アクションタイプに、次の信頼ポリシーテンプレートを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }