

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

# 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. すべてのシグナルカタログを削除します。