AWS に SSL 証明書をアップロードしたりするコマンドを作りました
aws iam list-server-certificatesaws iam upload-server-certificateaws iam update-server-certificateaws iam delete-server-certificate
相当の処理を行う、
https://github.com/tkuchiki/iam-server-cert を作りました。
実行例は、github の README を参照してください。
Installation
https://github.com/tkuchiki/iam-server-cert/releases からお使いの環境用のバイナリを取得して、
解凍してください。
Usage
以下のサブコマンドで、各種操作を行えます。
listuploadupdatedelete
オプション名は、AWS CLI と合わせてありますので、各オプションの詳細は以下を御覧ください。
http://docs.aws.amazon.com/cli/latest/reference/iam/index.html#cli-aws-iam
access key, secret については、
--access-keyや--access-secretで設定- 環境変数
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEYで設定 --credentialsと--profileで credentials ファイルと profile を指定- 何も指定なければ、
~/.aws/credentialsの default profile を使用
となっています。
AWS CLI との違い
基本的に AWS CLI と挙動は同じですが、
主に 2 点違いがあります。
Delete
一覧を出力するようにしており、
予め証明書の名前がわからなくても大丈夫なようにしました。
実行例は、以下のとおりです。
$ ./iam-server-cert delete Choose the server certificate you want to delete. (cert1/cert2): cert1[Enter] Deleted cert1
証明書の名前がわかるときは、--server-certificate-name を指定すれば削除できます。
time offset の変更
AWS CLI を叩くと、証明書の有効期限は UTC で出力されます。
offset を指定したら、JST などの時間で出力できたら便利かなと思い、
--time-offset を用意しました。
以下のように、--time-offset 9 をつけて実行すると、UTC + 09:00 して出力します。
$ ./iam-server-cert list +------------------------------------------------------------------+-----------+-----------------------+-----------------------+---------------------------+---------------------------+ | ARN | PATH | SERVERCERTIFICATEID | SERVERCERTIFICATENAME | UPLOADDATE | EXPIRATION | +------------------------------------------------------------------+-----------+-----------------------+-----------------------+---------------------------+---------------------------+ | arn:aws:iam::xxxxxxxxxxxx:server-certificate/cert1 | / | XXXXXXXXXXXXXXXXXXXXX | cert1 | 2015-11-09 08:03:39 +0000 | 2016-10-15 02:18:29 +0000 | | arn:aws:iam::xxxxxxxxxxxx:server-certificate/foo/bar/cert2 | /foo/bar/ | XXXXXXXXXXXXXXXXXXXXX | cert2 | 2015-11-15 03:05:50 +0000 | 2016-10-15 02:18:29 +0000 | +------------------------------------------------------------------+-----------+-----------------------+-----------------------+---------------------------+---------------------------+ $ ./iam-server-cert list --time-offset 9 +------------------------------------------------------------------+-----------+-----------------------+-----------------------+---------------------------+---------------------------+ | ARN | PATH | SERVERCERTIFICATEID | SERVERCERTIFICATENAME | UPLOADDATE | EXPIRATION | +------------------------------------------------------------------+-----------+-----------------------+-----------------------+---------------------------+---------------------------+ | arn:aws:iam::xxxxxxxxxxxx:server-certificate/cert1 | / | XXXXXXXXXXXXXXXXXXXXX | cert1 | 2015-11-09 17:03:39 +0900 | 2016-10-15 11:18:29 +0900 | | arn:aws:iam::xxxxxxxxxxxx:server-certificate/foo/bar/cert2 | /foo/bar/ | XXXXXXXXXXXXXXXXXXXXX | cert2 | 2015-11-15 12:05:50 +0900 | 2016-10-15 11:18:29 +0900 | +------------------------------------------------------------------+-----------+-----------------------+-----------------------+---------------------------+---------------------------+