すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:Encrypt

最終更新日:Jan 03, 2025

平文を暗号文に暗号化します。

使用上の注意

暗号化操作またはAdvanceEncrypt操作を呼び出して、平文を暗号文に暗号化できます。 次のセクションでは、2つの操作の違いについて説明します。

  • 暗号化: キーの初期バージョンが暗号化に使用されます。 暗号化後、Decrypt操作またはAdvanceDecrypt操作を呼び出して、暗号化されたデータを復号化できます。

  • AdvanceEncrypt: キーのプライマリバージョンが暗号化に使用されます。 暗号化後、AdvanceDecrypt操作を呼び出して、暗号化されたデータを復号化する必要があります。 ソフトウェアキー管理タイプのキー管理サービス (KMS) インスタンスの対称キーのみがこの操作をサポートしています。

重要

ソフトウェアキー管理タイプのKMSインスタンスで対称キーを使用し、キーの自動ローテーションを有効にする場合は、AdvanceEncrypt操作を呼び出してデータを暗号化し、キーローテーション機能が無効にならないようにする必要があります。 キーローテーションの詳細については、「キーローテーションの設定」をご参照ください。

キーの仕様、暗号化モード、およびキーのバージョンの詳細については、「キーの種類と仕様」をご参照ください。

使用上の注意

プロトコルバッファを使用してすべてのリクエストパラメータをエンコードした後、リクエストボディの長さが3 MBを超えないようにしてください。 リクエストボディが3 MBを超えると、サーバーはリクエストを拒否し、HTTP 413ステータスコードを返します。 対称キーを使用した暗号化および復号化では6 KB、非対称キーを使用した暗号化および復号化では1 KBに制限することを推奨します。 データが制限を超える場合は、エンベロープ暗号化を使用することを推奨します。 詳細については、「エンベロープ暗号化の使用」をご参照ください。

説明

単一の暗号化または復号化で大量のデータを使用すると、ネットワーク障害のリスクが高まり、ネットワーク伝送に必要な時間が長くなり、KMSがデータを暗号化および復号化するのに必要な期間が長くなります。

リクエストパラメーター

パラメーター

必須 / 任意

説明

KeyId

String

対象

key-hzz62f1cb66fa42qo ****

キーのグローバル一意ID。 このパラメーターは、キーにバインドされているエイリアスに設定できます。

平文

バイト

対象

バイナリデータ

暗号化するプレーンテキスト。

アルゴリズム

String

非対象

AES_GCM

暗号化アルゴリズム。

このパラメーターを設定しない場合、KMSはデフォルト値を使用します。 詳細については、「キーの種類と仕様」をご参照ください。

Iv

バイト

非対象

バイナリデータ

データの暗号化に使用される初期ベクトル。

このパラメーターは、AlgorithmがAES_GCMまたはAES_CBCに設定されている場合にのみ有効になります。

.

  • AlgorithmがAES_CBCに設定される場合、Ivの値は16バイト長でなければならない。

  • アルゴリズムがAES_GCMに設定されている場合、

    Ivの値は12バイトの長さでなければなりません。

このパラメーターを設定しない場合、KMSは乱数を生成します。

重要

設定しないことを推奨します。

Aad

binary

非対象

バイナリデータ

データの認証に使用されるGCM暗号化モード。

キーが対称キーで、アルゴリズムがAES_GCMまたはSM4_GCMに設定されている場合、このパラメーターを指定できます。

重要

このパラメーターを指定する場合、Decrypt操作を呼び出すときにパラメーターを指定する必要があります。

PaddingMode

String

非対象

PKCS7_PADDING

パディングモード。

このパラメーターは、AlgorithmがAES_CBCまたはAES_ECBに設定されている場合にのみ必要です。

有効な値:

  • PKCS7_PADDING: PKCS#7パディングが使用されます。 デフォルト値です。 データ平文または暗号文の長さは、バイト単位の暗号ブロックサイズの整数倍でなくてもよい。

    入力平文または暗号文の長さがLバイトである場合、システムは、K − (L mod K) バイトのパディング文字列を追加する。 各パディングストリングは、長さがK − (L mod K) バイトである。

  • NO_PADDING: パディング文字列はプレーンテキストに追加されません。 平文の長さは、暗号ブロックサイズの整数倍でなければならない。

レスポンスパラメーター

パラメーター

タイプ

説明

Iv

バイト

バイナリデータ

データの暗号化に使用される初期ベクトル。

このパラメーターは、AlgorithmがAES_GCMまたはAES_CBCに設定されている場合にのみ有効な値を返します。

他のシナリオでは、空の値が返されます。

CiphertextBlob

バイト

バイナリデータ

キーを使用して暗号化されるデータの暗号文。

説明

楕円曲線統合暗号化方式 (ECIES) アルゴリズムが使用される場合、返されるデータ暗号文フォーマットは、SEC1: 楕円曲線暗号化、バージョン2.0の標準に従う。

KeyId

String

key-hzz62f1cb66fa42qo ****

キーのグローバル一意ID。 リクエストのKeyIdをキーのエイリアスに設定した場合、エイリアスがバインドされているキーのIDが返されます。

アルゴリズム

String

AES_GCM

暗号化アルゴリズム。

PaddingMode

String

PKCS7_PADDING

パディングモード。 このパラメーターは、AlgorithmがAES_CBCまたはAES_ECBに設定されている場合にのみ有効な値を返します。 それ以外の場合は、空の値が返されます。

RequestId

String

475f1620-b9d3-4d35-b5c6-3fbdd941423d

リクエストのID。問題の特定とトラブルシューティングに使用されます。

エラーコード

エラーコードのリストについては、「サービスエラーコード」をご参照ください。