AWSより「AWS アカウントアクセスキーの管理方法に関する重要な変更」というメールを貰った皆さん!IAMできちんと運用してないですよ、と注意されたようなものですね!
…ということでAWSのアクセスキーとシークレットキーってどうやって運用するのが良いの?というお話。結論を先に言うと、『権限が限定されたAWSアクセスキーを作る』ということです。
以下本題。
セキュリティの根本的な考え方として、『WEBに公開しているシステムは、実行ユーザーで出来る全てのことをやられる可能性が有る』というのが有ります。
仮にApacheをApacheユーザーで実行していたとしたら、コンソールでApacheユーザーにスイッチした時に出来る事は全て出来る、と考えます。『ブラウザからアクセスしているから大丈夫』とか『ベーシック認証かけてるから大丈夫』なんて何の防御力も無いです。
つまり、『実行ユーザーには最低限の権限だけを与えて、ハックされても問題ないようにする』ということです。『入られない』ではなく、『入られても問題ない』を中心に考えよう、ということです。
この考えはAWSのユーザー管理も一緒です。つまり『AWSアクセスキーとシークレットキーが漏れても、権限を絞っておけば被害が抑えられる』と考えます。
これを実運用に落とし込みます。AWSは権限を、『IAMで作成するユーザー単位』で定義します。つまり、『このユーザーはAWSのどの機能まで使えるのか?』ということです。
新規作成されたAWSアカウントは『ルートアカウント』と呼ばれ、AWSへのアクセス権限がフルにあるということです。(Administrator・rootをイメージして頂ければよいかと)
その上でIAMでユーザーを新規作成し、画面に出てきたAWSアクセスキーとシークレットキーを控えておきます。
そのアカウントに最低限の権限を付与します。(S3にだけアクセスできる、とか)
あとはそのキーを利用すれば、最低限のセキュリティは守られるという事になります!
『入られる事を前提』と考えますと、『入り口を限定すること』『定期的にキーを変更すること』といった運用が必要、という事にもなりますね。
0 件のコメント:
コメントを投稿