IAMの薄い本 備忘録 ~第5章から第10章~

最近AWS IAMのマニアックな話という本を読んだので理解の整理がてら感想を書いていきます 昨日の記事の続きです

読んだ本

Takuro SASAKIさんが書かれた同人本です

内容はその名の通りAWSの Identity and Management (IAM)についての本で

各用語の説明から設定方法、実際に運用する上での注意点まで一冊丸っとAWSのIAMについて書かれています 技術書典で販売されていたようですがBOOTHで購入することもできます takuros.booth.pm

忘れないように章ごとサマリー

今日は5章から

第5章 IAMグループのデザインパターン

  • IAMグループのデザインパターンとしては以下の2パターン
    • ユーザーが複数グループに所属
    • グループに複数のポリシーをアタッチ
  • ユーザーが複数グループに所属する場合は、基本的には1つのポリシーは1つのグループからしか利用されないので変更時の影響範囲がわかりやすい
  • グループに複数のポリシーをアタッチする場合は、ユーザー的には所属しているグループが一つでわかりやすい。ポリシーは使い回されることが前提なので自然とシンプルになる

感想

2つのパターンのどっちが正解とかはなさそうなので、組織や状況に合わせて選択できると良さそう。なんとなく複数グループに所属するほうが綺麗かなと思った

第6章 IAMとセキュリティ

  • IAMを適切に使用するためには、まずAWSの公開しているIAMのベストプラクティスに従おう

docs.aws.amazon.com

  • Lambdaのリソースベースのポリシーを使うとIAM権限を使わなくてもアクセス権をコントロールできるので注意
  • アクセスキーは原則使わない、CLI使うときもロールをアタッチしたEC2から使う方が安全

感想

ベストプラクティスは結構耳が痛い内容だった、rootユーザー使うのやめないと、、

CLIをEC2から使うといいよっていうのはなるほど!って感じ

第7章 IAMの運用

  • IAM運用の目的はAWSを安全な状態に保ち続けること。現実的なコストで利用者全員が守れる方法である必要がある
  • IAMの設定は監視できるのでFullAccessとかAdminとかを見張っとくと安全
  • リソースにアタッチするものはタグに担当者書いとくと後から必要か判断しやすい

感想

IAMに限らずタグの使い道っていまいちわからなかったけど担当者を書いておくのはとても良さそう

第8章 IAMとCloudFormation

  • CloudFormationはAWSリソースをyamlファイルでテンプレート管理できるサービス。Infrastructure as Codeの概念
  • 巨大な一つのテンプレートを作るより、細かく分割した方が管理しやすい
  • 全てのリソースをCloudFormationで管理しようとしないこと、変更の少ないリソース (VPCなど)に向いてる

感想

うちの会社はterraformなのでCloudFormation触ったことないなあ。ただ2010年から9年もversion変わってないなんですごい。terraformなんて0.11から0.12に上がっただけで結構書き方変わってるのに

第9章 IAMのテンプレート集

感想

この章では著者の作成したyamlファイルを実際に配信してくれていました IP制限やMulti Factor Authentication (MFA)の必須化などが行われています 土日にコードを読んでみようと思います

第10章 IAM以外のAWSサービスの活用

  • AWSを安全に使うためのIAM以外のサービスの紹介
  • AWS Organizations: いわゆる組織アカウント。子アカウントを階層化して管理することができる
  • Cloud Trail: 実行ログを管理できる。コンソールやCLIから誰が何をしたかを確認することが可能
  • Config: リソースの状態とアクションを設定しておくことができる。ex. EC2がタグをつけずに作成されたらシャットダウンする
  • GuardDuty: 脅威検出とモニタリング
  • Control Tower: 複数アカウントの設定、管理
  • Security Hub: 複数アカウントのモニタリング

感想

Organizationsはうちの会社でも使ってるやつだな。Cloud TrailやConfigは一人では必要ないだろうけど組織や複数人と開発をするときは結構良さそう

読み終わっての感想

アプリエンジニアをしているとIAMは付与される側で、自分で設定したりすることはなかなかないし、家で触ってみようとしても一人での運用だとイメージが湧きにくい。 そんな中でこの本は用語や概念の説明から実際に組織で運用する上でのTipsまで書いてあってとても頭の中での解像度が高く読めました。 ちょっとIAM興味あるけどなんか教材ないかなって人にはとてもいいと思います