

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

# 保管時の暗号化: Amazon QLDB での仕組み
<a name="encryption-at-rest.how-it-works"></a>

QLDB の保管時の暗号化では、256 ビットの Advanced Encryption Standard (AES-256) を使用してデータを暗号化します。**この機能は、基になるストレージへの不正アクセスからデータを保護するのに役立ちます。QLDB 台帳に保存されるすべてのデータは、保管時にデフォルトで暗号化されます。サーバー側の暗号化は透過的です。つまり、アプリケーションに対する変更は必要ありません。

保管時の暗号化は AWS Key Management Service （AWS KMS) と統合され、QLDB 台帳の保護に使用される暗号化キーを管理します。新しい台帳を作成するとき、または既存の台帳を更新するときに、次のタイプの AWS KMS キーのいずれかを選択できます。
+ AWS 所有のキー– デフォルトの暗号化タイプ。**キーは QLDB により所有されます (追加料金なし)。
+ カスタマーマネージドキー – キーは AWS アカウント に保存され、ユーザーによって作成、所有、管理されます。キーを完全に制御できます (AWS KMS 料金が適用されます）。

**Topics**
+ [

## AWS 所有のキー
](#encryption-at-rest.aws-owned)
+ [

## カスタマーマネージドキー
](#encryption-at-rest.customer-managed)
+ [

## Amazon QLDB で AWS KMSの許可を使用する方法
](#encryption-at-rest.grants)
+ [

## AWS KMSでの許可の復元
](#encryption-at-rest.restoring-grants)
+ [

## 保管時の暗号化に関する考慮事項
](#encryption-at-rest.considerations)

## AWS 所有のキー
<a name="encryption-at-rest.aws-owned"></a>

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

 AWS 所有のキーを作成または管理する必要はありません。ただし、その使用を表示または追跡したり AWS 所有のキー、監査したりすることはできません。の月額料金や使用料金は請求されず AWS 所有のキー、アカウントのクォータには AWS KMS カウントされません。

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

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

カスタマーマネージドキーは、 AWS アカウント ユーザーが作成、所有、管理する の KMS キーです。ユーザーは、この KMS キーに関する完全なコントロール権を持ちます。QLDB では、対称暗号化 KMS キーのみをサポートしています。

カスタマーマネージドキーを使用して次の機能を取得します。
+ キーポリシー、IAM ポリシー、およびキーへのアクセスを制御するための許可を設定し管理する
+ キーの有効化と無効化を行う
+ キーの暗号化マテリアルをローテーションする
+ キーのタグとエイリアスを作成する
+ キーの削除をスケジュールする
+ 独自のキーマテリアルをインポートする、または所有し管理しているカスタムキーストアを使用する
+  AWS CloudTrail および Amazon CloudWatch Logs を使用して、QLDB が AWS KMS ユーザーに代わって に送信するリクエストを追跡する

詳細については、「[AWS Key Management Service デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)」の「カスタマーマネージドキー」を参照してください。

カスタマーマネージドキー[には API コールごとに料金が発生し](https://aws.amazon.com/kms/pricing/)、これらの AWS KMS KMS キーにはクォータが適用されます。詳細については、「[AWS KMS resource or request quotas](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html)」(KMS リソースクォータまたはリクエストクォータ) を参照してください。

カスタマーマネージドキーを台帳の KMS キーとして指定すると、ジャーナルストレージとインデックス付きストレージの両方のすべての台帳データが、同じカスタマーマネージドキーで保護されます。

**アクセスできないカスタマーマネージドキー**

カスタマーマネージドキーを無効にしたり、キーの削除をスケジュールしたり、キーに対する許可を取り消したりすると、台帳の暗号化のステータスは `KMS_KEY_INACCESSIBLE` になります。この状態のとき、台帳には障害が発生し、台帳は読み取りリクエストまたは書き込みリクエストを受け付けないようになります。アクセスできないキーを使用すると、すべてのユーザーと QLDB サービスがデータを暗号化または復号化することができなくなり、台帳で読み取り操作および書き込み操作を実行できなくなります。台帳に対するアクセスを維持し、データ損失を防止するには、QLDB が KMS キーにアクセスできる必要があります。

**重要**  
障害のある台帳は、キーの許可を復元した後、または無効化されたキーを再度有効にした後に、自動的にアクティブ状態に戻ります。  
ただし、カスタマーマネージドキーの削除は元に戻せません。**キーを削除すると、そのキーで保護されている台帳にアクセスできなくなり、**データが完全に回復不可能になります**。

台帳の暗号化ステータスを確認するには、 AWS マネジメントコンソール または [DescribeLedger](ledger-management.basics.md#ledger-management.basics.describe) API オペレーションを使用します。

## Amazon QLDB で AWS KMSの許可を使用する方法
<a name="encryption-at-rest.grants"></a>

QLDB でカスタマーマネージドキーを使用するには許可が必要です。**カスタマーマネージドキーで保護された台帳を作成すると、QLDB は [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) リクエストを送信してユーザーに代わって許可を作成します AWS KMS。の権限 AWS KMS は、QLDB に顧客の KMS キーへのアクセスを許可するために使用されます AWS アカウント。詳細については、「AWS Key Management Service デベロッパーガイド」の「[許可の使用](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)」を参照してください。**

QLDB では、以下の AWS KMS オペレーションでカスタマーマネージドキーを使用するのに許可が必要です。
+ [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) – 指定した対称暗号化 KMS キーが有効であることを確認します。
+ [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — QLDB が台帳の保管中のデータを暗号化するために使用する一意の対称データキーを生成します。
+ [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) — カスタマーマネージドキーで暗号化されたデータキーを復号化します。
+ [Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) — カスタマーマネージドキーを使用して、プレーンテキストを暗号文に暗号化します。

いつでも許可を取り消して、カスタマーマネージドキーに対するサービスからのアクセス権を削除できます。これを行うと、キーはアクセス不可能になり、QLDB はカスタマーマネージドキーによって保護されている台帳データへのアクセスを失います。この状態のとき、台帳には障害が発生し、キーの許可を復元するまで台帳は読み取りリクエストまたは書き込みリクエストを受け付けないようになります。

## AWS KMSでの許可の復元
<a name="encryption-at-rest.restoring-grants"></a>

カスタマーマネージドキーに対する許可を復元し、QLDB で台帳へのアクセスを回復するには、台帳を更新して同じ KMS キーを指定します。手順については、「[既存の台帳の AWS KMS key を更新する](encryption-at-rest.using-cust-keys.md#encryption-at-rest.using-cust-keys.update)」を参照してください。

## 保管時の暗号化に関する考慮事項
<a name="encryption-at-rest.considerations"></a>

QLDB で保管時の暗号化を使用する場合は、以下の点を考慮してください。
+ 保管時のサーバー側の暗号化は、デフォルトですべての QLDB 台帳データで有効になり、無効にできません。台帳内のデータのサブセットのみを暗号化することはできません。
+ 保管時の暗号化は、永続的ストレージメディアの静的 (保管時) のデータのみを暗号化します。転送中のデータあるいは使用中のデータでデータの安全性が考慮される場合には、次のように追加の対策を実行する必要がある場合があります。
  + 送信中のデータ: 送信中、QLDB 内のすべてのデータが暗号化されます。**デフォルトでは、QLDB との通信において、Secure Sockets Layer (SSL)/Transport Layer Security (TLS) 暗号化を使用してネットワークトラフィックを保護する HTTPS プロトコルが使用されます。
  + 使用中のデータ: クライアント側の暗号化を使用することで、QLDB にデータを送信する前にデータを保護します。**

台帳に対してカスタマーマネージドキーを実装する方法については、「[Amazon QLDB でカスタマーマネージドキーを使用する](encryption-at-rest.using-cust-keys.md)」を参照してください。