AWSセキュリティ編~MFAの活用~


こんにちは!HEROです。

さて今回は去MFAの活用についてご紹介します!

MFAとは?

MAFとはMulti-Factor Authenticationの略で二要素認証という意味を持ちます。
ログインする際に、ユーザー名とパスワードに加えて保護を強化できる、簡単な方法です。MFA を有効にすると、ユーザが AWS ウェブサイトにサインインするときに、ユーザー名とパスワード(第 1 の要素、つまりユーザーが知っているもの)の他に、AWS MFA デバイスからの認証コード(第 2 の要素、つまりユーザーが持っているもの)を入力することが必要になります。このように複数の要素を組み合わせることによって、AWS アカウントの設定とリソースのセキュリティが強化されます。

MFA は AWS アカウントに対して有効にすることも、そのアカウント内に作成した IAM ユーザに対して個別に有効にすることも可能です。また、MFA は AWS サービス API へのアクセスを制御するのにも使えます。

いわゆるワンタイムパスというやつですね。
MFAを使って簡単にセキュリティを高めることが可能です。
MFAデバイスはユーザー自身で用意しなければなりませんが価格は2000~3000円程度です。
詳細はこちらをご参照ください!
安全にManagement Consoleを使うためのMFAの運用方法 

ちなみにアプリからでも設定可能です。
iPhone、Android共に” Google Authenticator”をダウンロードすれば利用可能となります。

MFA1

アプリケーションを起動し、入力方法を選択します。

MFA2

実際の画面はこんな感じです。

MFA3

ちなみにこのアプリを使った方法は、AWS Security Blog『5分以内に、AWSアカウントのセキュリティを改善する方法』をやってみた編で詳しく説明しています!

MFAの濃い活用

IAM rolesを使用すると、あるAWSアカウントのIAMユーザーに、別のアカウントのリソースへのアクセスを許可することができます(クロスアカウントアクセス)。AWSのシークレットアクセスキーを共有する必要はなく、いつでもアクセス権を取り消すことができます。

AWSアカウント間でのアクセスのためのMFA保護を追加する機能についてご紹介します。

例えば2つのAWSアカウントを持つ企業があるとします(企業のほとんどのユーザーが作成されているメインアカウントと複数の開発プロジェクトのデータが保存された開発用アカウントなど)。 メインアカウントのユーザー、Aさんとみなされる開発用アカウントにroleを作成しました。 これにより、Aさんは、開発用アカウント内のユーザーでないにも関わらず、開発用アカウント内のDBのテーブルにアクセスすることができるようになってしまいます。 しかし、そのデータが機密情報だった場合・・・。

管理者は、Aさんがroleを引き受ける前に、MFA認証を使うことを要求することによって、こういったことを防ぐことができます。 操作は簡単で管理者は、マネージメントコンソールでroleを作成する際に、Require MFAのチェックボックスを選択するだけです。これにより、MFA認証されたユーザーのみがroleを引き受けることができるようになります。

今までは、IAMアクションではなく、AWSのアクションに対してのみMFA保護を追加することができましたが、IAMアクションについてもMFA認証を追加することができます。

いかがでしたでしょうか?
MFAは強固なセキュリティを担保できますが紛失にだけは気をつけましょう!

次回もお楽しみに!