

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

# AWS Database Encryption SDK とは
<a name="what-is-database-encryption-sdk"></a>


****  

|  | 
| --- |
| クライアント側の暗号化ライブラリの名前が AWS Database Encryption SDK に変更されました。このデベロッパーガイドでは、引き続き [DynamoDB Encryption Client](legacy-dynamodb-encryption-client.md) に関する情報を提供します。 | 

 AWS Database Encryption SDK は、データベース設計にクライアント側の暗号化を含めることができる一連のソフトウェアライブラリです。 AWS Database Encryption SDK は、レコードレベルの暗号化ソリューションを提供します。どのフィールドを暗号化し、データの真正性を保証する署名にどのフィールドを含めるかを指定します。伝送中および保管時の機密データを暗号化することで、 AWSなどのサードパーティーがお客様のプレーンテキストデータを使用することはできません。 AWS Database Encryption SDK は、Apache 2.0 ライセンスに基づいて、無償で提供されています。

このデベロッパーガイドでは、 AWS Database Encryption SDK の概念的な概要を説明します。これには、[アーキテクチャの概要](concepts.md)、[データを保護する方法](how-it-works.md)の詳細、[サーバー側の暗号化](client-server-side.md)との違い、使用開始に役立つ[アプリケーションの重要なコンポーネントの選択](configure.md)に関するガイダンスが含まれます。

 AWS Database Encryption SDK は、*属性*レベルの暗号化で Amazon DynamoDB をサポートします。

 AWS Database Encryption SDK には次の利点があります。

**データベースアプリケーション向けに特別に設計**  
 AWS Database Encryption SDK を使用するには、暗号化の専門家である必要はありません。この実装には、既存のアプリケーションで動作するように設計されたヘルパーメソッドが含まれます。  
必要なコンポーネントを作成して設定すると、暗号化クライアントは、データベースへの追加時にレコードを透過的に暗号化して署名し、取得時に検証および復号します。

**セキュアな暗号化と署名を含む**  
 AWS Database Encryption SDK には、一意のデータ暗号化キーを使用して各レコードのフィールド値を暗号化し、フィールドの追加や削除、暗号化された値のスワップなどの不正な変更から保護するためにレコードに署名する安全な実装が含まれています。

**ソースの暗号化マテリアルを使用する**  
 AWS Database Encryption SDK は[、キーリング](concepts.md#keyring-concept)を使用して、レコードを保護する一意のデータ暗号化キーを生成、暗号化、復号します。キーリングは、そのデータキーを暗号化する[ラッピングキー](concepts.md#wrapping-key)を決定します。  
[AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/) (AWS KMS) や [AWS CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/) などの暗号化サービスを含む、任意のソースからのラッピングキーを使用できます。 AWS Database Encryption SDK には、 AWS アカウント や AWS のサービスは必要ありません。

**暗号マテリアルのキャッシュのサポート**  
[AWS KMS 階層キーリング](use-hierarchical-keyring.md)は、Amazon DynamoDB テーブルに保持されている AWS KMS 保護された*ブランチキー*を使用して AWS KMS 呼び出しの数を減らし、暗号化および復号オペレーションで使用されるブランチキーマテリアルをローカルにキャッシュする暗号化マテリアルキャッシュソリューションです。これにより、レコードを暗号化または復号する AWS KMS たびに を呼び出すことなく、対称暗号化 KMS キーで暗号化マテリアルを保護できます。 AWS KMS 階層キーリングは、呼び出しを最小限に抑える必要があるアプリケーションに適しています AWS KMS。

**検索可能な暗号化**  
データベース全体を復号せずに、暗号化されたレコードを検索できるデータベースを設計できます。脅威モデルとクエリ要件に応じて、[検索可能な暗号化](searchable-encryption.md)を使用して、暗号化されたデータベースに対して完全一致検索やよりカスタマイズされた複雑なクエリを実行できます。

**マルチテナンシーデータベーススキーマのサポート**  
 AWS Database Encryption SDK を使用すると、各テナントを個別の暗号化マテリアルで分離することで、共有スキーマを持つデータベースに保存されているデータを保護できます。データベース内で複数のユーザーが暗号化オペレーションを実行している場合は、いずれかの AWS KMS キーリングを使用して、暗号化オペレーションで使用する個別のキーを各ユーザーに提供します。詳細については、「[マルチテナンシーデータベースの使用](configure.md#config-multitenant-databases)」を参照してください。

**シームレスなスキーマ更新のサポート**  
 AWS Database Encryption SDK を設定するときは、暗号化および署名するフィールド、署名するフィールド (暗号化しない）、無視するフィールドをクライアントに通知する[暗号化アクション](concepts.md#crypt-actions)を提供します。 AWS Database Encryption SDK を使用してレコードを保護した後でも、[データモデルを変更](ddb-update-data-model.md)できます。暗号化されたフィールドの追加や削除などの暗号化アクションを単一のデプロイで更新できます。

## オープンソースリポジトリで開発
<a name="dbesdk-repos"></a>

 AWS Database Encryption SDK は、GitHub のオープンソースリポジトリで開発されています。これらのリポジトリを使用して、コードを表示したり、問題を読んで送信したりできるほか、実装に固有の情報を検索することもできます。

**AWS Database Encryption SDK for DynamoDB**
+ GitHub の [aws-database-encryption-sdk-dynamodb](https://github.com/aws/aws-database-encryption-sdk-dynamodb/) リポジトリは、Java、.NET、Rust の AWS Database Encryption SDK for DynamoDB の最新バージョンをサポートしています。

   AWS Database Encryption SDK for DynamoDB は、Dafny の製品です。[Dafny](https://github.com/dafny-lang/dafny/blob/master/README.md) は、仕様、実装するコード、およびテストするための証明を記述する検証対応言語です。その結果、機能の正確性を保証するフレームワークで AWS Database Encryption SDK for DynamoDB の機能を実装するライブラリが作成されます。

## サポートとメンテナンス
<a name="support"></a>

 AWS Database Encryption SDK は、バージョニングフェーズやライフサイクルフェーズなど、 AWS SDK とツールが使用するのと同じ[メンテナンスポリシー](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html)を使用します。ベストプラクティスとして、データベースの実装には AWS Database Encryption SDK の利用可能な最新バージョンを使用し、新しいバージョンがリリースされたらアップグレードすることをお勧めします。

詳細については、[AWS SDKs とツールリファレンスガイド」の「SDK とツールのメンテナンスポリシー](https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html) AWS SDKs 」を参照してください。

## フィードバックを送る
<a name="feedback"></a>

当社では、お客様からのフィードバックをお待ちしております。質問、コメント、ご報告いただく問題がある場合は、以下のリソースをご利用ください。

 AWS Database Encryption SDK で潜在的なセキュリティ脆弱性を発見した場合は、[AWS セキュリティに通知](https://aws.amazon.com/security/vulnerability-reporting/)してください。GitHub で公開されている問題はご報告いただく必要はありません。

このドキュメントに関するフィードバックを提供するには、任意のページのフィードバックリンクを使用します。