AWS運用におけるセキュリティの基本「認証情報」について解説!
この記事でわかること
AWSの認証情報の概要
AWSの認証には、アクセス方法に応じた認証情報が必要になります。
たとえば、ルートユーザーとしてAWSマネージメントコンソールへアクセスする場合には、AWSにひもづいたEメールアドレス(AWSアカウント作成時に使用したEメールアドレス)とパスワードが必要になります。
この記事では、ユーザータイプやアクセス方法に応じた、認証情報や認証方法、セキュリティを高めるためにやっておくべき多要素認証(MFA)の設定などについて、紹介していきます。
AWSの2つのユーザータイプとその認証方法
AWSにはルートユーザーとIAMユーザーという、2つのユーザータイプが存在し、使用される認証情報もそれぞれ異なります。
ここでは、それぞれのユーザータイプの役割や注意点などについても紹介します。これらユーザータイプの違いを把握することはセキュリティ上とても大切ですので、きちんと理解しておきましょう。
ルートユーザーの認証情報
ルートユーザーの認証では、認証情報としAWSアカウントにひもづいたEメールアドレスとパスワードを使用します。
このルートユーザーは、AWSアカウントが所有するリソース全てへのアクセス権限と、請求情報へのアクセス、解約を含めた契約の変更まで行える強力な権限をもつユーザーです。管理者も含め普段の業務では後述のIAMユーザーを使用するようAWSも強く推奨しています。
IAMユーザーを使用することが多くなると、ルートユーザーの認証情報は次第に意識されなくなるおそれがありますので、Eメールアドレスやパスワードといった認証情報の管理を怠らないようにしましょう。
IAMユーザーの認証方法
IAMユーザーの認証では、認証情報として12桁のAWSアカウントIDやAWSアカウントのエイリアス(別名)、IAMユーザー名とパスワードを使用します。
AWSアカウントIDはAWSアカウントを一意に識別するもので、AWSアカウントのエイリアスは、AWSアカウントに対応した別名で、企業名やグループ名などわかりやすいものを指定します。なお、エイリアスの詳細や作成方法については後述します。
IAMユーザー名はIAMユーザー作成(ルートユーザーまたは管理者権限を持つIAMユーザーが作成する)時に入力されたユーザー名です。
AWSアカウントのエイリアスの詳細と作成方法
AWSアカウントのエイリアスとは、前述の通りAWSアカウントにひもづく別名で、AWSアカウントに対して1つだけつけることができます。簡単に言えば、数字のみで構成されたアカウントIDにわかりやすい名前をつけるようなものです。
このエイリアスはAWS全体で一意になっている必要があり、使用できる文字は数字と英小文字、ハイフンのみとなっています。
したがって、希望の別名がすでに他のAWSアカウントで使用されている場合は、エイリアスとして利用することはできません。その場合は、数字やハイフンを使用して希望に沿った別名をエイリアスとして指定しましょう。
AWSアカウントのエイリアスの作成方法は以下の通りです。なお、すでにエイリアスが存在する状態で、新たにエイリアスを作成した場合は、新しいエイリアスに上書きされます。
- AWSマネージメントコンソールにサインインします。
- IAMコンソールを開きます。
- ナビゲーションペインで、「ダッシュボード」をクリックします。
- IAMユーザーのサインインリンクの右端にある「カスタマイズ」をクリックします。
- アカウントの別名を作成画面で、「アカウントエイリアス」に任意の別名を入力します。
- 「はい、作成する」ボタンをクリックすれば、エイリアス作成は完了です。
多要素認証を設定しよう
多要素認証(MFA)を設定することで、AWSアカウントの認証をよりセキュアに行うことができます。
多要素認証とは、ID、パスワードなどの知識情報、スマホアプリや専用のハードウェアなどで実現する所持情報、指紋、虹彩、静脈、声紋などで行う生体情報を組み合わせて認証する方式です。
AWSの多要素認証は、知識情報と所持情報の組み合わせで実現しています。具体的にはスマホアプリなどを利用する仮想MFAデバイスや、オープン認証規格でUSB接続で利用できるU2Fセキュリティキー、専用のハードウェアを利用するハードウェアMFAデバイスなどがあります。
なお、多要素認証の設定は、認証情報ごとに行う必要があります。つまりルートユーザーに対して多要素認証設定をしても、適用されるのはルートユーザーの認証情報だけなので、各IAMユーザーには別途設定する必要があります。
仮想MFAデバイスで多要素認証を実現するには(ルートユーザー編)
2021年現在、AWSから推奨されているのは仮想MFAデバイスとハードウェアMFAデバイスですが、ここでは比較的導入が容易な仮想MFAデバイスを紹介します。
前述の通り、多要素認証の設定はユーザーごとに行う必要がありますが、ルートユーザーに対する設定とIAMユーザーに対する設定では、手順に若干の違いがあります。
この項目では、ルートユーザーへの設定を紹介します。IAMユーザーへの設定方法は、後述の「仮想MFAデバイスで多要素認証を実現するには(IAMユーザー編)」を参照してください。
なお、いずれの手順でも必要となる、多要素認証用のトークンソフト「Google Authenticator」を、事前準備としてスマートフォンにインストールしておきましょう。
- AWSマネージメントコンソールにサインインします(ユーザーはルートユーザー)。
- アカウント名(アカウント番号)を選び「マイセキュリティ資格情報」をクリックします。
- 「多要素認証(MFA)」の「MFAの有効化」をクリックします。
- 「仮想MFAデバイス」を選び「続行」をクリックします。
- 「QRコードを表示」をクリックします。
- 画面に表示されるQRコードを「Google Authenticator」で読み取ります。
- 「Google Authenticator」で生成されたコードをMFAコード1に入力します。
- 30秒待って新しく生成されたコードをMFAコード2に入力します。
- 「MFA割り当て」をクリックします。
仮想MFAデバイスで多要素認証を実現するには(IAMユーザー編)
ここでは、各IAMユーザーに対する多要素認証の設定方法を紹介します。
この手順は、IAMユーザー1つ1つに対して実行する必要があるのと、実際にログイン作業を行う人のスマホで作業する必要がある点に注意してください。
- AWSマネージメントコンソールにサインインします。
- ナビゲーションベインで、「ユーザー」をクリックします。
- 「ユーザー名」リストから、対象のユーザーを選びます。
- 「割り当て済みMFAデバイス」の右にある「管理」ボタンをクリックします。
- 「仮想MFAデバイス」を選び「続行」をクリックします。
- 「QRコードを表示」をクリックします。
- 画面に表示されるQRコードを「Google Authenticator」で読み取ります。
- 「Google Authenticator」で生成されたコードをMFAコード1に入力します。
- 30秒待って新しく生成されたコードをMFAコード2に入力します。
- 「MFA割り当て」をクリックします。
AWSにプログラムでアクセスする際の認証にはアクセスキーが必要
コンソールからサインインする以外の方法で、AWSにアクセスする場合の認証にはアクセスキーが必要になります。
アクセスキーが必要になるのは、プログラムからAWSにアクセスする場合や、AWS CLI、AWS Tools for PowerShellなどのコマンドラインインターフェイスを使用して、AWSにアクセスする場合の認証です。
基本的にルートユーザーのアクセスキー作成は推奨されませんので、ここではIAMユーザーのアクセスキーの作成手順を解説します。なお、ユーザーごとに作成できるアクセスキー数は2個までとなっています。
アクセスキーは、IAMユーザー作成時にアクセス種類で「プログラムによるアクセス」にチェックを入れておけば自動的に作成されます。また、以下の手順で、既存のユーザーにアクセスキーを作成、追加することも可能です。
- IAMユーザーでAWSマネージメントコンソールにサインインします。
- ナビゲーションバーで、「ユーザー名」、「セキュリティ認証情報」の順に選択します。
- 「AWS IAM 認証情報」、「アクセスキーの作成」 と選びます。
- プロンプトが表示されればアクセスキー作成は完了です。
- CSVをダウンロードするかシークレットキーの表示を行ってアクセスキーの情報を保存しておきましょう。
AWSの認証情報を理解して安全に運用しよう!
最後にAWSの認証情報についての注意点をまとめておきます。
ルートユーザーとIAMユーザーの違いを理解しましょう。通常使用するのはIAMユーザーでルートユーザーを普段の業務で使用するのはセキュリティ上好ましくありません。また、ルートユーザーの認証情報の管理には特に留意する必要があります。
認証の安全を保つために多要素認証を設定することをおすすめします。多要素認証はユーザーごとに設定する必要がありますので、特別な事情がない限りすべてのユーザーに設定しておくのが良いでしょう。
プログラムなどからAWSにアクセスするのに必要なアクセスキーですが、ルートユーザーのアクセスキーは作ることはルートユーザーの認証情報漏洩につながる可能性があるためおすすめしません。
また、セキュリティ関連のベストプラクティスは日々変化しますので、常に最新の情報を手に入れることが大切です。
Search キーワード検索
Popular 人気の記事
-
AWS EBSとは?8つの特徴とEBSボリュームについても解説
公開: 更新: -
AWSのT2とT3の違いとは?用途に合った選択をしよう!
公開: 更新:
reccomended おすすめ記事
-
AWSエンジニアの将来性は?年収と必要なスキル6つをご紹介!
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
通信キャリア向け基盤構築/東京都渋谷区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/在宅ワーク
月給65万~65万円東京都渋谷区(神泉駅) -
各種対応/東京都新宿区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都新宿区(高田馬場駅) -
要件定義、構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給60万~60万円東京都千代田区(飯田橋駅) -
運用構築/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給56万~56万円東京都千代田区(飯田橋駅) -
監視システムの保守、更改/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】/テレワーク
月給55万~55万円東京都千代田区(神保町駅) -
各種対応/東京都千代田区/【WEB面談可/インフラ業界経験者/AWSソリューションアーキテクト/AWS経験者活躍中】
月給60万~60万円東京都千代田区(虎ノ門駅)