雑記帳
2011-08-09 (Tue) [長年日記]
■ [AWS] AWSで使われるセキュリティ証明書
AWSを触り始めて最初に混乱したのは、AWSにアクセスするために必要な情報が多岐にわたること。
アカウントを作ると、アカウント番号が発行されて、アクセスキーIDとシークレットアクセスキーを生成し、X.509証明書をダウンロードし、キーペアを取得し…と、セキュリティに関係する情報が沢山で、どれをいつ使うのかなどが、最初は分からなかった。
ということで、一旦整理するために調べてみた。AWSのドキュメントに、About AWS Security Credentialsというのがあったので、読み解いてみた。
自分の理解では、次のような感じらしい。
- キーペア(Key Pair)は、起動するEC2インスタンスに自動的に設定される公開鍵のこと。起動したEC2インスタンスに、いきなり公開鍵認証でサーバにログインできるのには驚いたけど、キーペアはそのためのもの。
- アクセスキーは、RESTまたはQuery APIを実行する際につかう。対象鍵暗号(共通鍵暗号)方式で、シークレットアクセスキーがその鍵となる。リクエストを共通鍵で暗号化して送る。URIを署名するのにも使われる。90日ごとに変更することが推奨されている。
- X.509証明書は、一般的には主にSSLやSSHで使われているもので、AWSではSOAP APIの呼び出しに使う。公開鍵暗号方式。キーペアと同じ方式のものなので、なぜ二種類あるのかと思ったのだが、単に用途が違った。
要するに、アクセスするやりかたによって、使用する暗号化方式(セキュリティ証明書)が変わってくる、ということらしい。
あと、セキュリティ証明書とは違うが、APIの呼び出し時にアカウント番号(口座番号)が必要になるケースがある。これは各種リソース(EBS、AMIなど)の共有に使用される。Public AMIなどを検索するときに、そのAMIの所有者を示すアカウント番号を使うことができる。
まだ理解が完全ではないので、今後ももう少し調べてみたい。