KMS(AWS Key Management Service)とは、
- データの暗号化に使用される暗号化キーの作成と管理を容易にする
マネージド型サービスです。- サービスからエクスポートすることはできないキーを作成できます。
このキーを使用して、定義するポリシーに基づいてデータの暗号化と
復号化を行うことができます。
といったサービスです。
Boto3(Python)の練習がてらに、KMSで管理しているキーを使って、
文字列の暗号化と復号化を試してみました。
KMSの設定
まずはKMSでキーを作成します。
マネジメントコンソールではKMS専用の管理画面はなく、IAMの管理画面から行います。
キーを東京リージョンに作り場合は、あらかじめフィルタの設定を
「東京リージョン」に指定しておく必要があります。
今回は、管理者は無しで進めました。
今回は、アクセス許可も定義せず進めました。
最後にキーのARNを確認しておきます。Boto3での暗号化/復号化に利用します。
Boto3のコード
コードは下記の通りです。
keyId = 'arn:aws:kms:ap-northeast-1:000000000000:key/00000000-0000-0000-0000-000000000000' text = 'abc' kms = boto3.client('kms') enc = kms.encrypt( KeyId = keyId, Plaintext = text )['CiphertextBlob'] dec = kms.decrypt( CiphertextBlob = enc )['Plaintext']
実行すると”dec”の値が”abc”であることが確認できます。
元記事はこちら
「Boto3(Python)でKMS(AWS Key Management Service)を使って暗号化と復号化をしてみた」