AWS KMSで鍵を保存、取得する
Posted: | Categories: AWS | Tags: AWS, aws-cli, KMS
AWS KMS を awscli から利用してみる
http://qiita.com/kanagi/items/2008aa9f43be26bd2746
classmethod AWS Key Management Serviceでキーの”管理”と”利用”を分離する
http://dev.classmethod.jp/cloud/aws/kms-admin-user/
AWS Key Management Service(KMS)の利用方法
2016/12/13 mackerelの監視のON/OFFに使用した
KMSのざっくりとした理解としては 「 暗号化、復号化の悩みとして『鍵を使って暗号化するのは技術的に可能』だが『鍵の保管場所』に困る」という点を解決するサービス、 という理解。
AWS KMSでの暗号化/復号化の手順はclassmethodのココが分かりやすい。
一度、aws-cliで復号化まで行う(15分程度)とよく分かる。 また暗号化されたciphertextはコードに埋め込んで使用する
下記にmackarelでの暗号化、復号化の方法ですが
[ IAM ]->[ 暗号化キー(Encryption Keys) ]->[ フィルター: ]で[ アジアパシフィック(東京) ]をクリック [ MackarelAPI ]をクリックし、[ ARN ]の値をメモする。 ( 2016/12/13時点の mackarelのマスターキーは[ arn:aws:kms:ap-northeast-1:123456789012:key/12345678-1234-1234-1234-1234567890ab ]だった )
ココの方法に従い、 aws-cliで上記のarnを指定して環境変数KEYIDにarnを指定する
export KEYID=arn:aws:kms:ap-northeast-1:123456789012:key/12345678-1234-1234-1234-1234567890ab
暗号化
aws kms encrypt --key-id $KEYID --plaintext 'mackarelのAPIキー'
下記の内容が出力される
{
"KeyId": "arn:aws:kms:ap-northeast-1:123456789012:key/12345678-1234-1234-1234-1234567890ab",
"CiphertextBlob": "himitu"
}
CiphertextBlobをコード側で利用する。 node.jsでのコードは下記が参考になる。
Read more...