IAMの薄い本 備忘録 ~第1章から第4章~

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

読んだ本

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

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

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

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

章ごとに雑にまとめていきます

第1章 AWSとIAM

  • 認証と認可について。認証とは本人性の確認であり、認可とはリソースに対する利用権限の付与
  • AWSではIAMユーザーで認証を、IAMポリシーで認可を行う
  • Sign Upで使用しているのはAWSアカウント、ルートユーザーとも呼ばれる。これは出来るだけ使用しない方がいい

感想

認証と認可って今までなあなあできちゃったけどここできちんと違いを理解できた

第2章 IAMの機能

  • IAMユーザー: 認証に使用。ユーザーにポリシーをアタッチすることもできるがしない方がベター
  • IAMグループ: グループにポリシーをアタッチして認可を行う。そのグループにユーザーが所属することでリソースを使用できるようになる
  • IAMポリシー: アクセス権限の制御権をまとめたもの
  • IAMロール: AWSのサービスやアプリケーションに対して操作権限を与えるもの。ex. EC2にRDSへアクセス権を渡す
  • パーミッションバウンダリー: ユーザーやロールに対する追加の権限。ユーザーorロールとパーミションバウンダリーの両方で許可された権限のみ使うことができる

感想

パーミッションバウンダリーは初めて聞いた。ユーザーには権限与えちゃいけないんだな

第3章 IAMチュートリアル

  • 実際にユーザー、ポリシー、ロール、グループの作成を行うチュートリアルがあった
  • IAMポリシーの動作は明示的なDeny > 明示的なAllow > 暗黙的なDenyの順に評価される

感想

画面のキャプチャなどついていて進めやすかったしチュートリアル自体もわかりやすかった。明示的に権限が剥奪されていたら別の場所で許可されていても権限が無くなるのは初知りだった

第4章 IAMポリシーのデザインパターン

  • IAMポリシーのパターンにはホワイトリストブラックリスト、そして両者を合わせたハイブリッドがある
  • ホワイトリストパターンは許可する権限のみ付与するやり方。必要最小限の権限を付与するためセキュアになるが事前に役割がきちんと決まっていないと作成できない
  • ブラックリストパターンは許可してはいけない権限を剥奪するやり方。できないことだけ決めておけばいいので設計が簡単だが、AWS新しいサービスなどが追加された時に意図せず許可していることになる
  • 両者を組み合わせたハイブリッドが実用的

感想

以前新規サービスのインフラを作っていた時にホワイトリストパターンで作ろうとしてたから

ポリシーアタッチ => 権限足りない => 必要な権限をもう一度アタッチ

を何回も何回も繰り返していて、ホワイトリストパターンは開発に向かないというのにとても同意できた

残りの感想はこちらに書いています↓

zwzw.hatenablog.com