Page List

Search on the blog

2017年8月17日木曜日

KMSを使ってみた

はじめに

 AWSのKMS(Key Management Service)を使ってみた。
KMSを使うと以下のようなことができて嬉しい。
  • ソースコードに載せたくない情報(認証情報など)を暗号化できる
  • 暗号化した鍵の管理をAWS側でやってくれる

やってみたこと

1. キーの作成
AWSコンソール画面 > IAM > 暗号化キー > キーの作成
からキーを作っておく

2. キーのAmazon Resource Nameをメモ
1.で作成したキーのリンクをクリックして、arn:aws:kms:xxxxxxxxxxxxxxのところをメモっておく

3. 検証に使うec2を起動
KMSにアクセスできるロールを適用したec2の起動する

4. 3.のロールから1.のキーのアクセスを許可
AWSコンソール画面 > IAM > 暗号化キー > キーユーザー

4.の操作はec2ロールにアタッチしたポリシーに応じて必要だったり、不要だったりする。
  • ec2にPowerUserAccessポリシーをつけていれば、3.の操作は不要。
  • AWSKeyManagementServicePowerUserポリシーしかつけてない場合は、3.の操作が必要。
5. 検証用Pythonコードを実行


注意事項
キーを作成したリージョンとキーを利用するリージョンが異なると以下のようなエラーがでるので注意。
botocore.errorfactory.NotFoundException: An error occurred (NotFoundException) 
when calling the Encrypt operation: Invalid arn