AWSのAPIを呼び出す時はアクセスキーとシークレットアクセスキーがあれば、大抵のことが実現出来ます。なので、IAMでSigning Certificate(X.509証明書)を必要することは余りありません。が、IAMアカウントであっても必要とする場合があるので、その際のメモです。と言っても、ssh等でクライアント証明証を作る際の手順と何ら変わりありません。
1.秘密鍵・CSR・証明書の作成
mkdir ~/.ec2 cd ~/.ec2 openssl genrsa -out pk-amazon.pem 2048 openssl req -new -x509 -key pk-amazon.pem -out cert-amazon.pem -days 3650 string is too long, it needs to be less than 2 bytes long Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Osaka Locality Name (eg, city) []:Osaka Organization Name (eg, company) [Internet Widgits Pty Ltd]:Personal Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []:yourname Email Address []:hoge@example.com openssl pkcs8 -topk8 -in pk-amazon.pem -nocrypt > pk-temp.pem mv pk-temp.pem pk-amazon.pem
2.証明書の登録
作成した証明書を、AWS Management Consoleから登録します。ログイン後にIAM画面にいき該当のユーザを選択し、Security Credentialsタブを選びます。そして、Signing CertificatesのところでManage Signing Certificatesを押して先ほど作成した証明書をアップロードします。(前述の作り方をしていれば、cert-amazon.pemの内容をコピペして貼り付ければ大丈夫です。)
3.まとめ
特にまとめる必要もないほど、簡単に出来ます。マスターアカウントで全てをするのは、アクセスキーが漏洩した場合にかなり危険です。なので役割ごとに限定したIAMアカウントを使うという習慣を付けた方が良いのではないかなぁと思います。IAMを使っていない方は、是非お試しあれ。