2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【書籍】AWS IAMのマニアックな話(IAMとは?)

Posted at
ファイル名

会社の先輩から勧められて読んでみました。
マニアックとはかかれていますが、IAMの基本の話から思想・設計の話まで幅広くかかれています。
アウトプットとしてこの記事を書きます。

IAM設計は答えがないという点で奥が深くて、難しいです。
そう意味で設計段階での思想がとても重要になります。

IAMに特化した本は他にないので、これから設計とかやると人は持っておくと良い1冊です。
ちなみに著者の佐々木さんは、AWS認定の要点整理系の本も書いてるNRIネットコムの方です。
この記事では全体のざっくりとした紹介と、IAMの基本と気になったポイントを紹介します。

全体の概要

第1章 AWS と IAM
IAMがどんなものであるか?という概念的な章。

第2章 IAM の機能★後述します
ユーザー、グループ、ポリシー、ロールといったIAMといえば的な章。

第3章 IAM チュートリアル
2章を深堀して実際に動かしていく章。

第4章 IAM ポリシーのデザインパターン★後述します
ポリシーをどう設計するべきかを考える章。
個人的に勉強になった章です。

第5章 IAM グループのデザインパターン★後述します
4章のグループ版。どうやってグループを形成するかを考える章。
こっちもまた4と同じく重要。

第6章 IAM とセキュリティ
セキュリティという概念を前提にどうIAMを設計していくかを考える章。
1〜5章を踏まえてより設計を想定した内容になっています。

第7章 IAM の運用★後述します
6章までを踏まえて、さらにここでは運用を考えます。
運用を考えた設計です。

第8章 IAMとCloudFormation
ユーザー、ポリシー、ロールの作成自動化です。

第9章 IAMのテンプレート集
運用に合わせたテンプレの作成例が記載されています。

第10章 IAM以外のAWS サービスの活用
IAMに絡んでくるOrganizations、CloudTrailm、AWSConfig、Amazon GuardDuty
あたりのサービスがかかれています。

IAMの機能

2章のアウトプットとして、
ユーザー、グループ、ポリシー、ロールを1スライドにまとめてみました。
スクリーンショット 2022-05-08 19.27.20.jpg
・ユーザー:AWS内のサービスを操作できる各ユーザー
・グループ:ユーザーを束ねるもの
・ロール:サービス側での操作権限
・ポリシー:上記3つに付与する各権限の大元になる要素

この中で一番わかりにくいのがロールだと思います。
たとえばEC2からRDSにアクセスするときにユーザーを介さないですよね。
そういったとき、EC2に与えてあげる権限がロールになります。
あとはIAMユーザーを当てられないLambdaなどの権限として使われたりもします。

IAM設計の思想で考えるべきこと

4、5、7章あたりのアウトプットとして勉強になったポイントです。

・ポリシーのデザインパターン
IAMのベストプラクティスとして最小権限というものがありますが、
これはホワイトリストで実現しますが、実際には難しくブラックリストとの
兼ね合いでうまく折衷させるという話です。

例えばあるサーバがあったとして、
大量のクライアントのアクセスを許可する場合、
壮大な数のホワイトリストを登録・管理しないといけません。
これからが不透明である場合、尚更です。
これは運用という観点からいうとあまりいい方法ではありません。

・グループのデザインパターン
運用として複数グループに登録する方法と、
グループ自体に複数ポリシーを付与する2つのパターンがあります。
基本は1ユーザーに対して1グループがわかりやすくて理想かなと
思いますが、前者のパターンもよくみかけますね。

・IAMの運用
ポリシーのデザインパターンと話が似ていますが、
設計で理想を追求しすぎると、かえって運用負荷があがって
最終的にコスト面でマイナスになってしまうというパターンが考えらえます。
これを回避するために設計段階で運用もしっかり考えましょうという話ですね。

あとはユーザーの棚卸し。多くのシステムで不要なユーザーが残り続けると思います。
不要ユーザーの残はなんのメリットもないので、ちゃんと消す必要があります。

最後はクレデンシャルですね。
AWSの事故はこの系統が大半なのでアクセスキーとかは発行せずに済むなら
できるだけその方法で済ませましょう。

最後に

最近は試験という観点で勉強ばかりしていたので、
設計や運用目線で書かれているこの本はとても勉強になりました。
まだIAMを設計段階から考えたことはないので、この本で学んだことを
生かしてやってみたいなと思いました。

AWSはもちろん、IAMは進化し続けるので
設計段階であまり考え込まず、とりあえずやってみるのも重要的な
内容もありました。結局なんとかなるとか。

エンジニアは守りに入りがちな傾向にあるので、
AWSのとりあえずやっとけ精神は個人的にとても好きな思想です!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?