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

Key Management Service:EncryptionContext

最終更新日:Feb 12, 2025

EncryptionContextは、Encrypt、GenerateDataKey、DecryptなどのKMS API操作で使用できるJSON文字列です。

EncryptionContextの機能

EncryptionContextはJSON文字列であり、文字列形式である必要があります。 EncryptionContextは、データの整合性を確保するために使用されます。

暗号化中にこのパラメーターを指定する場合は、復号化に同等のEncryptionContext値を指定する必要があります。 暗号化にはEncryptまたはGenerateDataKey操作を呼び出し、復号化にはDecrypt操作を呼び出します。 EncryptionContextは復号化に関連していますが、CipherBlobパラメーターに対応する暗号文には含まれていません。

EncryptionContextの有効な値

EncryptionContextの有効な値は、文字列形式の最大8,192文字のJSON文字列です。 API操作にEncryptionContextを指定するときは、エスケープ文字を考慮してください。

有効なEncryptionContextの例

{"ValidKey":"ValidValue"}
{"Key1":"Value1","Key2":"Value2"}         

無効なEncryptionContextの例

[{"Key":"Value"}] // JSON array
{"Key":12345} //String-int
{"Key":["value1","value2"]} // String-array         

同等のEncryptionContext

EncryptionContextは、文字列形式のマップまたはハッシュテーブルです。 2つのEncryptionContext値は、キーと値のペアが一致している場合、同等と見なされます。 キー − 値ペアのシーケンスは異なっていてもよい。 暗号化中にEncryptionContextが指定されている場合、暗号文を復号するために同等のEncryptionContext値を指定できます。 EncryptionContext値は、同一である必要はない。

同等のEncryptionContext値の例

{"Key1":"Value1","Key2":"Value2"} is equivalent to {"Key2":"Value2","Key1":"Value1"}.