

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

# AWS IoT FleetWise でのデータ暗号化
<a name="data-encryption"></a>

データ暗号化とは、転送中 ( AWS IoT FleetWise との間、およびゲートウェイとサーバーの間) および保管中 (ローカルデバイスまたは に保存中) のデータを保護することです AWS のサービス。保管中のデータの保護には、クライアント側の暗号化を使用できます。

**注記**  
AWS IoT FleetWise エッジ処理は、 AWS IoT FleetWise ゲートウェイ内でホストされ、ローカルネットワーク経由でアクセスできる APIs を公開します。これらの APIsは、 AWS IoT FleetWise Edge コネクタが所有するサーバー証明書によってバックアップされた TLS 接続を介して公開されます。これらの API では、クライアント認証にアクセス制御パスワードが使用されます。サーバー証明書のプライベートキーとアクセスコントロールパスワードはどちらもディスクに保存されます。 AWS IoT FleetWise エッジ処理は、保管中のこれらの認証情報のセキュリティのためにファイルシステムの暗号化に依存します。

サーバー側の暗号化とクライアント側の暗号化の詳細については、以下のトピックを参照してください。

**Topics**
+ [AWS IoT FleetWise での保管時の暗号化](encryption-at-rest.md)
+ [AWS IoT FleetWise でのキー管理](key-management.md)

# AWS IoT FleetWise での保管時の暗号化
<a name="encryption-at-rest"></a>

AWS IoT FleetWise は、データを AWS クラウドとゲートウェイに保存します。

## AWS クラウドに保管中のデータ
<a name="cloud-encryption-at-rest"></a>

AWS IoT FleetWise は、デフォルトで保管中のデータを暗号化 AWS のサービス する他の にデータを保存します。保管時の暗号化には [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) が統合され、これによって AWS IoT FleetWise のアセットのプロパティ値や集計値の暗号化に使用される暗号キーを管理します。カスタマーマネージドキーを使用して、 AWS IoT FleetWise のアセットプロパティ値と集計値を暗号化できます。暗号化キーを作成、管理、表示できます AWS KMS。

 AWS 所有のキー またはカスタマーマネージドキーを選択してデータを暗号化できます。

### 仕組み
<a name="how-it-works"></a>

保管時の暗号化は と統合され、データの暗号化に使用される暗号化キー AWS KMS を管理します。
+ AWS 所有のキー – デフォルトの暗号化キー。 AWS IoT FleetWise はこのキーを所有しています。このキーを表示または管理したり、 AWS アカウントで使用したりすることはできません。また、 AWS CloudTrail ログにキーに対するオペレーションを表示することもできません。このキーは追加料金なしで使用することができます。
+ カスタマーマネージドキー - キーは、お客様が作成、所有、管理するアカウントに保存されます。ユーザーは、KMS キーに関する完全なコントロール権を持ちます。 AWS KMS 追加料金が適用されます。

### AWS 所有のキー
<a name="aws-owned-cmk"></a>

AWS 所有のキー はアカウントに保存されません。これらは、multiple で使用するために が AWS 所有および管理する KMS キーのコレクションの一部です AWS アカウント。 AWS のサービス はデータを保護するために AWS 所有のキー を使用できます。

表示、管理、使用 AWS 所有のキー、またはそれらの使用を監査することはできません。ただし、データを暗号化するキーを保護するために何らかの操作を行ったり、プログラムを変更したりする必要はありません。

を使用する場合、料金は発生せず AWS 所有のキー、アカウントの AWS KMS クォータにもカウントされません。

### カスタマーマネージドキー
<a name="customer-managed-cmk"></a>

カスタマーマネージドキーは、お客様が作成、所有、管理するアカウント内の KMS キーです。これらの KMS キーはお客様が完全に制御でき、次のような操作が可能です。
+ キーポリシー、IAM ポリシー、グラントの確立と維持
+ 有効化と無効化
+ 暗号化マテリアルのローテーション
+  タグを追加する
+ それらを参照するエイリアスの作成 
+ 削除のスケジュール設定



CloudTrail と Amazon CloudWatch Logs を使用して、 AWS IoT FleetWise が AWS KMS ユーザーに代わって に送信するリクエストを追跡することもできます。

 カスタマーマネージドキーを使用している場合は、アカウントに保存されている KMS キーへのアクセス権を AWS IoT FleetWise に付与する必要があります。 AWS IoT FleetWise はエンベロープ暗号化とキー階層を使用してデータを暗号化します。 AWS KMS 暗号化キーは、このキー階層のルートキーを暗号化するために使用されます。詳細については、「AWS Key Management Service デベロッパーガイド**」の「[エンベロープ暗号化](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping)」を参照してください。

次のポリシー例では、 AWS KMS キーを使用するためのアクセス許可を AWS IoT FleetWise に付与します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow use of the key",
      "Effect": "Allow",
      "Principal": {
        "Service": "iotfleetwise.amazonaws.com"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    }
  ]
}
```

------

**重要**  
KMS キーポリシーに新しいセクションを追加するときは、ポリシー内の既存のセクションを変更しないでください。 AWS IoT FleetWise で暗号化が有効になっていて、次のいずれかに当てはまる場合、 AWS IoT FleetWise はデータに対してオペレーションを実行できません。  
KMS キーが無効または削除されている。
サービスに対して KMS キーポリシーが正しく構成されていない。

### ビジョンシステムデータに対する保管中の暗号化の使用
<a name="vision-system-encryption"></a>

**注記**  
ビジョンシステムデータはプレビューリリースであり、変更される可能性があります。

 AWS IoT FleetWise アカウントで AWS KMS キーを有効にしたカスタマーマネージド暗号化があり、ビジョンシステムデータを使用する場合は、複雑なデータ型と互換性を持つように暗号化設定をリセットします。これにより、 AWS IoT FleetWise はビジョンシステムデータに必要な追加のアクセス許可を確立できます。

**注記**  
ビジョンシステムデータの暗号化設定をリセットしていないと、デコーダーマニフェストが検証中のままになる可能性があります。

1. [GetEncryptionConfiguration](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetEncryptionConfiguration.html) API オペレーションを使用して、 AWS KMS 暗号化が有効になっているかどうかを確認します。暗号化タイプが `FLEETWISE_DEFAULT_ENCRYPTION` の場合、追加のアクションは必要ありません。

1. 暗号化タイプが `KMS_BASED_ENCRYPTION` の場合は、[PutEncryptionConfiguration](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_PutEncryptionConfiguration.html) API オペレーションを使用して暗号化タイプを `FLEETWISE_DEFAULT_ENCRYPTION` にリセットします。

   ```
   aws iotfleetwise put-encryption-configuration \
         --encryption-type FLEETWISE_DEFAULT_ENCRYPTION
   ```

1. [PutEncryptionConfiguration](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_PutEncryptionConfiguration.html) API オペレーションを使用して、暗号化タイプを `KMS_BASED_ENCRYPTION` に再度有効化します。

   ```
   aws iotfleetwise put-encryption-configuration \
           --encryption-type KMS_BASED_ENCRYPTION \
           --kms-key-id kms_key_id
   ```

暗号化の有効化の詳細については、「[AWS IoT FleetWise でのキー管理](key-management.md)」を参照してください。

# AWS IoT FleetWise でのキー管理
<a name="key-management"></a>

**重要**  
現在、特定の AWS IoT FleetWise 機能へのアクセスはゲートされています。詳細については、「[AWS AWS IoT FleetWise でのリージョンと機能の可用性](fleetwise-regions.md)」を参照してください。

## AWS IoT FleetWise クラウドキー管理
<a name="key-cloud"></a>

デフォルトでは、 AWS IoT FleetWise は AWS マネージドキー を使用して 内のデータを保護します AWS クラウド。カスタマーマネージドキーを使用して AWS IoT FleetWise でデータを暗号化するように設定を更新できます。() を使用して、暗号化キーを作成、管理、表示できます AWS Key Management Service AWS KMS。

AWS IoT FleetWise は、 に保存されているカスタマーマネージドキーによるサーバー側の暗号化をサポートし AWS KMS 、次のリソースのデータを暗号化します。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/iot-fleetwise/latest/developerguide/key-management.html)

**注記**  
その他のデータとリソースは、 AWS IoT FleetWise によって管理されるキーによるデフォルトの暗号化を使用して暗号化されます。このキーは作成され、 AWS IoT FleetWise アカウントに保存されます。

詳細については、「 *AWS Key Management Service デベロッパーガイド*」の[「What is AWS Key Management Service?](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」を参照してください。

## KMS キーによる暗号化の有効化 (コンソール)
<a name="CMK-setup"></a>

 AWS IoT FleetWise でカスタマーマネージドキーを使用するには、 AWS IoT FleetWise の設定を更新する必要があります。

**KMS キーによる暗号化を有効にするには (コンソール)**

1. [AWS IoT FleetWise コンソール](https://console.aws.amazon.com/iotfleetwise/)を開きます。

1. **[設定]** に移動します。

1. **[暗号化]** で、**[編集]** を選択して **[暗号化の編集]** ページを開きます。

1.  **暗号化キータイプ**で、**別の AWS KMS キーを選択する**を選択します。これにより、 AWS KMSに保存されたカスタマーマネージドキーによる暗号化が有効になります。
**注記**  
カスタマーマネージドキー暗号化は、 AWS IoT FleetWise リソースにのみ使用できます。これには、シグナルカタログ、車両モデル (モデルマニフェスト)、デコーダーマニフェスト、車両、フリート、キャンペーンが含まれます。

1. 次のいずれかのオプションを使用して、KMS キーを選択します。
   + **既存の KMS キーを使用するには** - リストから KMS キーエイリアスを選択します。
   + **新しい KMS キーを作成するには** – ** AWS KMS キーの作成**を選択します。
**注記**  
これにより、 AWS KMS コンソールが開きます。KMS キーの作成の詳細については、「AWS Key Management Service デベロッパーガイド**」の「[キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」を参照してください。

1. **[保存]** を選択して、設定を更新します。

## KMS キーによる暗号化の有効化 (AWS CLI)
<a name="encryption-cli"></a>

[PutEncryptionConfiguration](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_GetEncryptionConfiguration.html) API オペレーションを使用して、 AWS IoT FleetWise アカウントの暗号化を有効にできます。次の例では、 を使用します AWS CLI。

暗号化を有効にするには、次のコマンドを実行します。
+ *kms\$1key\$1id* を KMS キーの ID に置き換えます。

```
aws iotfleetwise put-encryption-configuration \
      --encryption-type KMS_BASED_ENCRYPTION \
      --kms-key-id kms_key_id
```

**Example response**  

```
{
 "kmsKeyId": "customer_kms_key_id",
 "encryptionStatus": "PENDING",
 "encryptionType": "KMS_BASED_ENCRYPTION"
}
```

## KMS キーポリシー
<a name="CMK-policy"></a>

KMS キーを作成したら、少なくとも次のステートメントを KMS キーポリシーに追加して、 AWS IoT FleetWise と連携させる必要があります。KMS キーポリシーステートメント`iotfleetwise.amazonaws.com`の AWS IoT FleetWise サービスプリンシパルは、 AWS IoT FleetWise が KMS キーにアクセスできるようにします。

```
{
  "Sid": "Allow FleetWise to encrypt and decrypt data when customer managed KMS key based encryption is enabled",
  "Effect": "Allow",
  "Principal": {
    "Service": "iotfleetwise.amazonaws.com"
  },
  "Action": [
    "kms:GenerateDataKey*",
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:DescribeKey",
    "kms:CreateGrant",
    "kms:RetireGrant",
    "kms:RevokeGrant"
  ],
  "Resource": "*"
}
```

セキュリティのベストプラクティスとして、KMS キーポリシーに `aws:SourceArn`および `aws:SourceAccount`条件キーを追加します。IAM グローバル条件キーは、 AWS IoT FleetWise がサービス固有のリソース Amazon リソースネーム (ARNs) にのみ KMS キーを使用するようにする`aws:SourceArn`のに役立ちます。

の値を設定する場合`aws:SourceArn`、常に である必要があります`arn:aws:iotfleetwise:us-east-1:account_id:*`。これにより、KMS キーはこれに関するすべての AWS IoT FleetWise リソースにアクセスできます AWS アカウント。 AWS IoT FleetWise は、そのすべてのリソースについてアカウントごとに 1 つの KMS キーをサポートします AWS リージョン。に他の値を使用する`SourceArn`か、ARN リソースフィールドにワイルドカード (\$1) を使用しないと、 AWS IoT FleetWise は KMS キーにアクセスできなくなります。

の値はアカウント ID `aws:SourceAccount`であり、特定のアカウントでのみ使用できるように KMS キーをさらに制限するために使用されます。KMS キーに `aws:SourceAccount`および `aws:SourceArn`条件キーを追加する場合は、そのキーが他のサービスまたはアカウントで使用されていないことを確認してください。これにより、障害を回避できます。

次のポリシーには、サービスプリンシパル (サービスの識別子) と、 `aws:SourceAccount` とアカウント ID に基づいて使用するために`aws:SourceArn`設定された AWS リージョン と が含まれます。

```
{
  "Sid": "Allow use of the key",
  "Effect": "Allow",
  "Principal": {
    "Service": "iotfleetwise.amazonaws.com"
  },
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "aws:SourceAccount": "AWS-account-ID"
    },
    "ArnLike": {
      "aws:SourceArn": "arn:aws:iotfleetwise:region:AWS-account-ID:*"
    }
  }
}
```

 AWS IoT FleetWise で使用する KMS キーポリシーの編集の詳細については、「 *AWS Key Management Service デベロッパーガイド*」の[「キーポリシーの変更](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html)」を参照してください。

**重要**  
KMS キーポリシーに新しいセクションを追加するときは、ポリシー内の既存のセクションを変更しないでください。 AWS IoT FleetWise で暗号化が有効になっていて、次のいずれかに当てはまる場合、 AWS IoT FleetWise はデータに対してオペレーションを実行できません。  
KMS キーが無効または削除されている。
サービスに対して KMS キーポリシーが正しく構成されていない。

## AWS KMS 暗号化のアクセス許可
<a name="encryption-permissions"></a>

 AWS KMS 暗号化を有効にした場合は、 AWS IoT FleetWise APIs を呼び出すことができるように、ロールポリシーでアクセス許可を指定する必要があります。次のポリシーでは、すべての AWS IoT FleetWise アクションと AWS KMS 特定のアクセス許可へのアクセスを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iotfleetwise:*",
        "kms:GenerateDataKey*",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:DescribeKey"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

ロールが暗号化 APIs を呼び出すには、次のポリシーステートメントが必要です。このポリシーステートメントは、 AWS IoT FleetWise からの アクション`PutEncryptionConfiguration`と `GetEncryptionConfiguration`アクションを許可します。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iotfleetwise:GetEncryptionConfiguration", 
        "iotfleetwise:PutEncryptionConfiguration",
        "kms:GenerateDataKey*",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:DescribeKey"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

## AWS KMS キー削除後の復旧
<a name="encryption-recovery"></a>

 AWS IoT FleetWise による暗号化を有効にした後に AWS KMS キーを削除した場合は、 AWS IoT FleetWise を再度使用する前に、すべてのデータを削除してアカウントをリセットする必要があります。API オペレーションのリストと削除を使用して、アカウントのリソースをクリーンアップできます。

**アカウントのリソースをクリーンアップするには**

1. リスト APIs `listResponseScope`パラメータを に設定して使用します`METADATA_ONLY`。これにより、リソース名や ARNs やタイムスタンプなどの他のメタデータを含むリソースのリストが提供されます。

1. delete APIs を使用して個々のリソースを削除します。

次の順序でリソースをクリーンアップする必要があります。

1. キャンペーン

   1. `listResponseScope` パラメータを に設定して、すべてのキャンペーンを一覧表示します`METADATA_ONLY`。

   1. キャンペーンを削除します。

1. フリートと車両

   1. `listResponseScope` パラメータが に設定されているすべてのフリートを一覧表示します`METADATA_ONLY`。

   1. `listResponseScope` パラメータを に設定して、各フリートのすべての車両を一覧表示します`METADATA_ONLY`。

   1. 各フリートからすべての車両の関連付けを解除します。

   1. フリートを削除します。

   1. 車両を削除します。

1. デコーダーマニフェスト

   1. `listResponseScope` パラメータを に設定して、すべてのデコーダーマニフェストを一覧表示します`METADATA_ONLY`。

   1. すべてのデコーダーマニフェストを削除します。

1. 車両モデル (モデルマニフェスト)

   1. `listResponseScope` パラメータを に設定して、すべての車両モデルを一覧表示します`METADATA_ONLY`。

   1. すべての車両モデルを削除します。

1. 状態テンプレート

   1. `listResponseScope` パラメータを に設定して、すべての状態テンプレートを一覧表示します`METADATA_ONLY`。

   1. すべての状態テンプレートを削除します。

1. シグナルカタログ

   1. すべてのシグナルカタログを一覧表示します。

   1. すべてのシグナルカタログを削除します。