AWS に SSL 証明書をアップロードしたりするコマンドを作りました
aws iam list-server-certificates
aws iam upload-server-certificate
aws iam update-server-certificate
aws iam delete-server-certificate
相当の処理を行う、
https://github.com/tkuchiki/iam-server-cert を作りました。
実行例は、github の README を参照してください。
Installation
https://github.com/tkuchiki/iam-server-cert/releases からお使いの環境用のバイナリを取得して、
解凍してください。
Usage
以下のサブコマンドで、各種操作を行えます。
list
upload
update
delete
オプション名は、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 | +------------------------------------------------------------------+-----------+-----------------------+-----------------------+---------------------------+---------------------------+