KNOWLEDGE - COLUMN ナレッジ - コラム

【エバンジェリスト・ボイス】AWSのすゝめ~マルチアカウント編~

サイバー・セキュリティ・ソリューション(CSS)部
エバンジェリスト 松岡 政之     matsuoka2_274x380

こんにちは。 CSS 部エバンジェリストの松岡です。

2019年も半年が過ぎ去ったかと思えば、7月も終わり、もう8月に入りました。

先月は様々なニュースが世間を騒がせましたが、その中でもセキュリティの話題を取り上げると7payの不正利用が大きなトピックとして挙げられます。

サイバー攻撃が激化している昨今、セキュリティの専門家や運用の現場だけではなく、アプリケーションの開発においてもセキュリティは無視できないということがより明確に浮き彫りになった事件ではないでしょうか。

 

さて、それでは今回の本題に入ります。

去る6月12日(水)~14日(金)に幕張でAWSサミットが開催されました。私は3日とも参加し、主にAWS環境構築・運用系を中心にセッションをみっちり受講してきました。新しい情報はもちろん、すでに取り組んでいる内容の再確認にもなり、とても有意義なサミットでした。

サミットで私が注目したのが今回のタイトルにあるマルチアカウントです。
ここでいうアカウントとはIAMユーザなどではなく、12桁の番号を持つAWS自体のアカウントのことを指します。また、マルチアカウントは一つの組織でこのアカウントを複数持ち、運用していくことを指しています。

 

マルチアカウントのメリット


アカウント1つではなく複数を使い分けることのメリットとして、複数の部署やプロジェクト間でアクセス権限が異なる場合に、アカウント間でのリソースのアクセスは明示的に許可しない限り複雑なIAMポリシーを作成する必要がありません。
(1つのアカウントの場合はタグなどを用いてIAMで複雑なポリシーを作成する必要があります)

また、マネージメントコンソールから見た際に、1つのアカウントでは様々な用途のリソースが1画面内にごった返しているのに対し、用途ごとにアカウントを分けることでスッキリと整理されリソースを見つけやすいというメリットもあります。

ただし、アカウントを複数分けることで今所持しているアカウントのリストと各アカウントの用途については混乱しないようきちんと管理する必要があります。

 

アカウントの構成


それではどのような構成で複数のアカウントを使い分ければいいのでしょうか。
その回答の一例としてAWSが提供しているLanding Zoneというツールをご紹介します。

Landing Zoneとはマルチアカウント管理のためのCloudFormationのテンプレートで、それぞれ役割を分けた管理用のアカウントとユーザ用アカウントの払い出しの仕組みを構築します。今後はControl Towerというサービスでフルマネージドになっていくようで、一部のリージョンではサービスが開始されています。東京リージョンでのサービスの開始が楽しみですね。

さて、それではLanding Zoneの中身を見ていきます。
今回はLanding Zoneを使ってみようという話ではなくマルチアカウント管理の一例として挙げるのでLanding Zoneの動作については割愛して、作成されるアカウント構成に焦点を当てていきます。

Landing Zoneで構成されるアカウントは以下の通りです。

①Organizationアカウント

②Shared Servicesアカウント

③Log Archiveアカウント

④Security Account

 

①Organizationアカウント
AWSの複数のアカウントを組織のアカウントとして管理するAWS Organizationsのルートアカウントとなるアカウントです。AWS Organizationsではアカウントを階層ごとにグループ化したり請求をまとめたり、SCP (Service Control Policy)を用いて一括でアクセス権限を縛ったりすることができます。


②Shared Serviceアカウント
AWS Managed Active Directoryなどの共有のインフラサービスを作成するためのアカウントです。


③Log Archiveアカウント
AWS CloudTrailやAWS Config等の重要なログを一元的に格納するアカウントです。すべてのアカウントでこのLog ArchiveアカウントのS3バケットにログを保存する設定をします。

AWS CloudTrailやAWS Configについては過去の記事( 【エバンジェリスト・ボイス】クラウドのすゝめ ~AWSログ取得編~ )で取り上げていますのでそちらをご覧ください。


④Security Account
すべての管理アカウントのセキュリティ監査を行うアカウントです。併せてAmazon GuardDutyのマスターアカウントにもなります。

Amazon GuardDutyとは】
AWS CraudTrailやVPCフローログ、DNSログなどのログを機械学習などを用いて分析し、脅威を検知するマネージドサービスです。有効にするだけですぐに利用ができ、複雑な設定等は不要です。Amazon GuardDutyもAWS CloudTrailやAWS Config等と同様にAWSのアカウントを作成したらすぐ有効にすべきサービスの1つです。
Amazon GuardDutyは1つをマスターアカウントとし、他のアカウントをメンバーアカウントとして紐づけができます。マスターアカウントはメンバーアカウント解析結果を閲覧したり設定を変更できます。


その他、上記に加えて部署やプロジェクトなどの権限の境界ごとに払い出すユーザ用のアカウントがあります。
ユーザについては各アカウントにIAMユーザを個別に払い出すのではなく、Active Directoryなどと連携したユーザでログインし、各アカウント上のロールに切り替えて利用します。

この方法を用いることで同じ権限を持つユーザは共通のロールを利用できるので各アカウント上には権限ごとのロールが存在するだけで、IAMユーザを利用者の数だけ作成するといったことをする必要がなく、運用を簡素化できます。

 

まとめ


ここまでLanding Zoneを用いた場合のマルチアカウント構成について紹介してきました。

AWSのマルチアカウントの利用がぐっとやりやすくなるためのポイントは次の3点です。
その1:AWS Organizationsを利用して複数アカウントの請求を一つにまとめる
その2:ログの管理は一つのアカウントにまとめる
その3:ログインの入り口はActive DirectoryやAWS SSO等を利用して一つに統一し、各アカウントの利用はロール切り替えで行う

AWSはアカウントの作成自体は無料で行えますので、組織でのシングルアカウント運用の中で権限設定等でお悩みの場合はぜひマルチアカウントでの利用を検討してみてはいかがでしょうか。

 

それではよいクラウドライフを!

当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エバンジェリストによるコラムやセミナー情報、
IDグループからのお知らせなどをメルマガでお届けしています。

メルマガ登録ボタン

松岡 政之

株式会社インフォメーション・ディベロプメント 先端技術部 エバンジェリスト

この執筆者の記事一覧

関連するナレッジ・コラム

どのインスタンスを選べばいいの?EC2性能比較!

AIがプログラミングする時代の到来!?

残された攻撃の痕跡を追え! ~スレットハンティングのススメ~