タイトル

Need for Answer

2014年3月17日月曜日

AWSのアクセスキーとシークレットキーを運用する

AWSより「AWS アカウントアクセスキーの管理方法に関する重要な変更」というメールを貰った皆さん!IAMできちんと運用してないですよ、と注意されたようなものですね!

…ということでAWSのアクセスキーとシークレットキーってどうやって運用するのが良いの?というお話。結論を先に言うと、『権限が限定されたAWSアクセスキーを作る』ということです。

以下本題。

セキュリティの根本的な考え方として、『WEBに公開しているシステムは、実行ユーザーで出来る全てのことをやられる可能性が有る』というのが有ります。

仮にApacheをApacheユーザーで実行していたとしたら、コンソールでApacheユーザーにスイッチした時に出来る事は全て出来る、と考えます。『ブラウザからアクセスしているから大丈夫』とか『ベーシック認証かけてるから大丈夫』なんて何の防御力も無いです。

つまり、『実行ユーザーには最低限の権限だけを与えて、ハックされても問題ないようにする』ということです。『入られない』ではなく、『入られても問題ない』を中心に考えよう、ということです。

この考えはAWSのユーザー管理も一緒です。つまり『AWSアクセスキーとシークレットキーが漏れても、権限を絞っておけば被害が抑えられる』と考えます。


これを実運用に落とし込みます。AWSは権限を、『IAMで作成するユーザー単位』で定義します。つまり、『このユーザーはAWSのどの機能まで使えるのか?』ということです。

新規作成されたAWSアカウントは『ルートアカウント』と呼ばれ、AWSへのアクセス権限がフルにあるということです。(Administrator・rootをイメージして頂ければよいかと)

その上でIAMでユーザーを新規作成し、画面に出てきたAWSアクセスキーとシークレットキーを控えておきます。

そのアカウントに最低限の権限を付与します。(S3にだけアクセスできる、とか)

あとはそのキーを利用すれば、最低限のセキュリティは守られるという事になります!

『入られる事を前提』と考えますと、『入り口を限定すること』『定期的にキーを変更すること』といった運用が必要、という事にもなりますね。

0 件のコメント:

コメントを投稿