KMS暗号化・復号化のIAMポリシー
特定のKMSキーを使用してデータを暗号化・復号化するIAMポリシーを作成します。エンベロープ暗号化ワークフロー用のGenerateDataKeyを含みます。
Security & Encryption
詳細な説明
KMS暗号化/復号化ポリシー
AWS Key Management Service(KMS)キーは、多くのAWSサービスで保存データの暗号化に使用されます。このポリシーは、特定のKMSキーを使用してデータを暗号化・復号化するために必要な権限を付与します。
ポリシーJSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowKMSEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey",
"kms:GenerateDataKeyWithoutPlaintext",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
}
]
}
エンベロープ暗号化
ほとんどのAWSサービスはエンベロープ暗号化を使用します:GenerateDataKeyはKMSキーで暗号化されたデータキーを作成します。平文のデータキーがローカルでデータを暗号化し、暗号化されたデータキーは暗号文と一緒に保存されます。復号化時、Decryptがデータキーを復元し、それがデータを復号化します。
DescribeKeyの役割
kms:DescribeKeyはキーに関するメタデータ(作成日、キー状態、キー仕様)を返します。多くのSDKやAWSサービスは暗号化/復号化操作の前にDescribeKeyを呼び出すため、含めることが重要です。
ユースケース
S3やDynamoDBに保存する前に機密データを暗号化するアプリケーション、暗号化されたペイロードを処理するLambda関数、AWS Encryption SDKでクライアントサイド暗号化を使用するサービス。