平文を暗号文に暗号化します。
使用上の注意
暗号化操作または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に設定されている場合にのみ有効になります。 .
このパラメーターを設定しない場合、KMSは乱数を生成します。 重要 設定しないことを推奨します。 |
Aad | binary | 非対象 | バイナリデータ | データの認証に使用されるGCM暗号化モード。 キーが対称キーで、アルゴリズムがAES_GCMまたはSM4_GCMに設定されている場合、このパラメーターを指定できます。 重要 このパラメーターを指定する場合、Decrypt操作を呼び出すときにパラメーターを指定する必要があります。 |
PaddingMode | String | 非対象 | PKCS7_PADDING | パディングモード。 このパラメーターは、AlgorithmがAES_CBCまたはAES_ECBに設定されている場合にのみ必要です。 有効な値:
|
レスポンスパラメーター
パラメーター | タイプ | 例 | 説明 |
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。問題の特定とトラブルシューティングに使用されます。 |
エラーコード
エラーコードのリストについては、「サービスエラーコード」をご参照ください。