AWSのクロスアカウント構築で悩んでいる人必見!AWSエキスパートがセキュリティユースケースを解説します!😎

AWSのクロスアカウント構築で悩んでいる人必見!AWSエキスパートがセキュリティユースケースを解説します!😎

こんにちは!

今回はクロスアカウント用に AWS を構築しなければいけない人や、クロスアカウントにおける運用に悩まれている方に向けて発信します!

想定する読者

  • クロスアカウント運用について考えているヒト
  • クロスアカウントのユースケースを知りたいヒト
  • クロスアカウントにおけるセキュリティが気になるヒト

はじめに

AWS におけるクロスアカウント(もしくはマルチアカウント)とは、2つ以上のアカウントを連携することです。現在において、AWS アカウントは1つだけ利用するのではなく、目的に合わせて利用するのが一般的となりました。

そのため、クロスアカウントを意識した運用などは必然となってきています。本記事はまず一般的なユースケースを説明したあとにセキュリティなども解説していきたいと思います。

一般的なユースケース

IAMロールを別アカウントのIAMユーザーに譲渡している図
引用元:AWS CloudTrail Now Tracks Cross-Account Activity to Its Origin

クロスアカウントを利用している環境に必然的になるケースはおおまかに以下のような場面が想定されます。

  • 開発・本番などにアカウントを分けているため
  • 他社の AWS 上にあるアプリケーションと連携するため
  • 一部のリソースを別アカウントの IAM ユーザーに共有するため
  • 監査用の AWS アカウントを利用するため
  • IAM ロールを管理する AWS アカウントを設けたいため(AssumeRole)

このような目的でクロスアカウントにならざるを得ないことが多いかと思います。また複数のアカウントがすべて自社の所有しているものではなく、一部は他社が管理しているような状況も多いです。

クロスアカウントにおけるセキュリティ

クロスアカウントな環境において、注意したいのがセキュリティです。先に結論から申し上げますと、対策は単純明快で、リソースをどの程度共有するのかを明確に決めることが重要となります。

具体期な例を挙げると以下のようなことに注意します。

  • IAM ロールを共有するときは必要以上の権限を渡さない
  • アクセスキーは利用しない
  • サービスコントロールポリシー(SCP)を利用する
  • VPC ピアリングを利用している場合は、アクセスできる範囲を整理しておく

ごく一般的なアプローチにはなりますが、とても有効的です。クロスアカウントの環境の場合、外部の AWS アカウントにアクセスする必要があるため、何かしら権限をもらわなければならないのですが、これが要因となって高いセキュリティが実現できています。

というのも1つの AWS アカウントにて作業をする場合、必要以上の権限を持つことが多いですが(例えば開発者にとりあえず Admin 権限を与えている状況など)、クロスアカウントの場合はアカウントを跨いでる上、目的もはっきりしたものが多いため、権限管理やネットワークアクセスはおのずと最小限になっている傾向が強いです。

そのためセキュリティ対策は基本的なことをしっかり抑えておくことが重要です。ケースバイケースではありますが、クロスアカウントな環境は基本的にロールベースのアクセスとなるかと思いますので、特別なことはせずともただ厳密にポリシーを決めていくことがベストプラクティスにつながるかと思います。

進化していくクロスアカウント構成

近年、S3 や VPC に限らず、いろんなものが AWS アカウントを跨いで利用できるようにサービスがアップデートされています。

例えば、CloudWatch にクロスアカウントアラーム機能がついたり、CodeBuild で別アカウントにある Dockerイメージを利用できたり、さまざまなものがアカウントを跨いでつながることが可能となってきました。

そのほかにも Aurora や Glue、Kinesis もクロスアカウントに対応している部分があります。今現在どんどん AWS アカウント同士の連携が取りやすくなっているので、これからが楽しみです!

関連記事

まとめ

複数の AWS アカウントを利用したことがない人にも現在はとても気軽にできるような環境になっているといったことが伝われば幸いです。複数環境運用のベストプラクティスについて解説した弊社のブログ記事を関連記事に記載しておりますので、合わせて読むと理解が深まるかと思います。

このブログでは、AWS の記事をどんどん公開しておりますので、ご興味のある方は他の記事もご覧いただければと思います。

AWS に関する開発は、お気軽にお問い合わせください。