ITエンジニアが知っておくべきAWSアカウントのセキュリティ管理
awsアカウント
ITエンジニアが知っておくべきAWSアカウントのセキュリティ管理
アンドエンジニア編集部
2021.05.13
この記事でわかること
AWSアカウントの意味や目的、正しい管理方法
AWSを正しく利用する上で不可欠のIAMについて、AWSアカウントの違いや管理の重要性
AWSの利用に当たっては利用者自身が正しいセキュリティ管理を徹底しなければならない

AWSアカウントとは

awsアカウントとは

AWSアカウントはAWSのサービスを利用する際に、AWS側にアカウント登録をすることで払い出してもらうアカウントです。アカウントと聞くと、Microsoftの「Active Directory」のように人に紐づくアカウントをイメージしますが、AWSアカウントは賃貸住宅を借りる際の、借家とマスターキーのようなものです。マスターキーとなるAWSアカウントは複数持つことも可能です。このAWSアカウントを取得することで、AWSが提供するさまざまなサービスを利用することができます。

AWSアカウントを作成すると何ができる?

AWSアカウント自体は、無料で作成できます。AWSのサービスであるAmazon EC2やAmazon S3など、様々な主要サービスには一定の条件で無料利用枠が設けられており、12ヶ月間それらのサービスを無料で利用することが可能です。

例えば仮想サーバーを必要とする際には、Amazon EC2を月間750時間×12ヶ月間の無料利用が可能です。他、ストレージサービスのAmazon S3は5GBまでのストレージを12ヶ月、データベースサービスのAmazon RDSも12ヶ月間無料で利用できます。

つまり、お試し利用からシステム構築まで12ヶ月間はすべて無料で利用が可能ということです。 

AWSアカウントの登録手順

AWSアカウントの作成には、必要なものがいくつかあります。アカウント登録で戸惑うことがないよう、あらかじめ準備しておきましょう。

1.AWSアカウント名 ▪Eメールアドレス…AWSアカウントのルートユーザーのIDとなります。

2.AWSアカウント名  アカウントID数字12桁が払い出されますが、管理しやすいように名前の割り当てができます。

 (ルートユーザー権限があれば後から変更ができます)

3.連絡先情報 ▪氏名 ▪住所 ▪電話番号 等

4.支払情報 (※アカウント作成だけで請求は発生しません) ▪クレジット/デビットカード番号情報 ▪請求先住所情報 ▪電話もしくはSMS利用が可能な端末(本人確認用途で利用します)

5.サポートプランの検討 アカウントの用途や受けたいサポート内容に応じて、必要なプランを選択します。初めての利用で個人であれば、「ベーシックプラン」を選択しておけばよいでしょう。(詳細は以下参照)

▪ベーシックプラン ▪開発者プラン ▪ビジネスプラン ▪エンタープライズプラン

※プランの詳細はAWS サポートのプラン比較を参照

AWSアカウントを登録してみよう

アカウント登録

AWSアカウント登録の準備が整ったら、実際に登録してみましょう。数分で登録でき、個人の方でも無料で自身のクラウド環境を手に入れることができます。

AWSアカウント登録の流れ

AWSアカウントの登録は以下のリンクから行えますので、ぜひ試してみてください。

Step1: AWS アカウントの作成 AWSにサインアップからAWSアカウントの新規登録を行います。

最初に、Eメールアドレス・パスワード・アカウント名を入力します。パスワードは8文字以上で、大文字・小文字・数字・記号から最低3種類を選択します。AWSアカウント名は自分の名前で構いません。(例 : Ab12345+)

Step2: 連絡先情報を入力 アカウントの種類として「プロフェッショナル」と「パーソナル」があるので、企業や教育機関などはプロフェッショナル、個人はパーソナルを選択します。連絡先の項目を全て入力してください。

Step3: 支払い情報を入力 クレジットカード情報や請求先情報(連絡先と異なる場合)を入力します。料金の請求はありません。

Step4: SMS または電話によるアカウント認証 本人確認のための電話番号を設定します。SMSによるテキストメッセージか、音声通話のいずれかを選択し、リージョンコードが日本(+81)になっていることを確認し、電話番号を入力します。続いて、セキュリティチェック欄に表示されている画像の文字を入力します。次に「SMSを送信する」をクリックすると、登録した電話番号にSMSで認証コードが送られます。この認証コードを入力すると本人確認が終了します。

Step5: サポートプランの選択 ▪ベーシックプラン/開発者プラン/ビジネスプランの選択を求める画面が表示されますので、プランを選択します。

AWSアカウントを保護しよう

AWSアカウントを作成した後、デフォルトでルートアカウントと呼ばれるユーザーが作成されます

ルートアカウントは非常に強い権限をもつアカウントで、マネジメントコンソールの操作、API経由での操作などが全て行えてます。万が一ルートアカウントの情報が漏洩すると、AWS上に構築したシステム環境を完全に乗っ取られてしまい、また個人情報漏洩にもつながり大変危険ですので、きちんと保護しましょう

AWS アカウントのセキュリティ改善10項目

AWSは世界最大のクラウドサービスですが、利用する側のセキュリティ対策が甘かったり、セキュリティ意識が低かったりするとセキュリティ事故が起こります。実際にAWSアカウントが乗っ取りに遭い、暗号通貨のマイニングで利用された事件などもあります。

そうしたセキュリティ事故や事件を防ぐために、AWS の情報セキュリティ責任者(CISO)のステファン・シュミット氏が2019年に提唱した「クラウド・セキュリティのための上位10項目」を参考に、利用者自らがセキュリティ改善に努める必要があります。以下、10項目を箇条書きでご紹介します。

①アカウント情報を正しく保つ ②多要素認証(MFA)を利用する ③シークレットをハードコードしない ④セキュリティグループに制限をかける ⑤明確なデータポリシーを持つ ⑥CloudTrail ログの集約化 ⑦IAM ロールを確認する ⑧Finding/結果に対してアクションをとる(GuardDutyのみではありません) ⑨キーをローテーションする ⑩開発サイクルに参加する

詳細は以下、AWSのサイトをご参照ください。

AWS アカウントのセキュリティを改善するための 10 個の項目

IAMとは

認証

IAM(Identity and Access Management)はAWSのサービスの1つで、「認証」や「認可」の設定が行えます「認証」や「認可」を正しく設定することによって、AWS利用者やAWSのサービスのアクセス権限や範囲をコントロールできます。イメージとしては、MicrosoftのActiveDirectryでユーザーごとに払い出されるADアカウントと似ています。IAMは、日本では「アイアム」と発音されることが多いようですが、英語では「アイ・エー・エム」とアルファベットをそのまま発音しています。

IAMの基本

IAMの理解の前に、IAMが行っている「認証」と「認可」の意味ついて確認しましょう。認証と認可は、似て非なる言葉です。これを分かりやすく述べると以下の違いになります。

 ▪認証→ ID・パスワードにより利用者が本人であるかどうかを確認すること

 ▪認可→ 認証された利用者にリソースへのアクセスや操作の権限を与えること

続いて、IAMの機能について説明します。IAMには主に以下の機能があります。

IAM ユーザー

IAMユーザーは、Microsoftの「Active Directoryアカウント」と同様に利用者個人に紐づくアカウントです。

それぞれのIAM Userに対しては以下のバスワードやアクセスキーを発行することができます。発行できるのは、いずれも英数字・記号のテキスト情報のみです。

1.マネジメントコンソールにログインする際に必要となるパスワード

2.アクセスキー(Access Key)およびシークレットアクセスキー(Secret Access Key)

IAM ポリシー

IAMポリシーでは「AWS上 のどのリソースに対し、どのような操作を許可するか」という「操作の権限」を定めます。

ポリシーは「IAMユーザー」「IAMグループ」、「IAMロール」にアタッチ(割り当て)して使い、アタッチされたそれぞれに権限が与えられます。

例えば、AWS S3(ストレージサービス)に対して全ての操作ができる権限ポリシーを作成し、IAMユーザーのAさんにアタッチ(割り当て)すると、AさんはAWS S3に対してすべての操作が可能となります。

IAMポリシーは大きく分けて以下3種類のポリシーがあります。

▪AWS管理ポリシー 利用者のアクセス許可割り当てを簡略化するために、AWS側が提供する事前定義された管理ポリシーです。

▪カスタマー管理ポリシー 利用者が設定するポリシーのことです。IPアドレス制御などが可能で、AWS管理ポリシーよりも細かい制御が行えます。

▪インラインポリシー インラインポリシーとは、AWS管理ポリシーやカスタマー管理ポリシーよりも細かく、1つのIAMユーザーやIAMロールなどにアタッチする場合に利用します。

IAM ロール

AWSの権限がIAMユーザーやIAMグループ、すなわち「人」に対して割り当て(アタッチ)されるのに対して、IAMロールは主にEC2などの「インスタンス」に対して権限を割り当てる仕組みです。

「人」が行う操作に対する権限はIAMユーザーやグループにポリシーを割り当て(アタッチ)し、「インスタンス」が行う操作の権限はロールに対してポリシーを割り当て(アタッチ)するのです。

AWS権限管理の基本

権限管理

AWSを利用する上では、セキュリティを保護する上で権限管理が重要であることは理解できたと思います。最後に、AWS利用において守ってほしいことをまとめました。

ルートユーザーを使うリスク

AWSアカウントは、デフォルトでルートユーザー(ルートアカウント)の権限が付与されます。

ルートユーザーは、すべてのリソースにアクセスできるばかりか、アカウント停止などの重要操作を行えるため、普段は使用を制限すべきです。ルートユーザーを使用する代わりに、一般ユーザーには必要なアクセス権限を設定したIAMユーザーを利用してもらうようにしましょう。

IAMユーザー運用の注意点

システムユーザー全員に対し、個々に付与する権限レベルと認証情報を設定するとIAM ユーザーを作成ができます。それぞれのIAMユーザーが、いつ・どんな操作をしたのか、ログを取得することができますので、必ずシステムユーザーごとにIAMユーザーを1つ付与することが必要です。

そのためには、システムユーザーごとの権限を明確に定義し、必要以上の権限を付与しないよう気を付ける必要があります。

必ず守りたいこと

AWSは直ぐに利用できて大変便利ですが、利用する側が管理を疎かにすると大きなリスクと隣り合わせになるという問題をはらんでいます。AWS側は、AWSの責任による事故などは補償をしますが、逆に利用者側の責による事故に対して一切補償はしません。すべて自己責任です。

さらに、利用者側の不備、不注意でAWSや他の利用者に損害を与えた場合は、利用者側が損害賠償責任を負います。このような事態を招かないためにも、最低限以下のことはルールと考え、遵守しましょう。

1.ルートユーザー(AWSアカウント)は普段は使わない

2.利用する人ごとにIAMユーザーを払い出し、必ず払い出されたIAMユーザーを用いてAWSにアクセスする

ここまで、AWSアカウントについて基本的なことを解説してきました。セキュリティ確保の責任はITエンジニアである皆さん1人1人にあるという自覚を持って、AWSを正しく利用しましょう

気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT