Slide 1

Slide 1 text

出張! #DevelopersIO
 IT技術ブログの中の人が語る勉強会
 
 
 千葉幸宏(チバユキ)
 1

Slide 2

Slide 2 text

クラスメソッド株式会社 AWS事業本部 ソリューションアーキテクト 千葉幸宏 (チバユキ) Chiba Yukihiro ● 2020年1月クラスメソッド入社 ● 好きなAWSサービスはIAM ● 2024 ~ AWS Community Builder

Slide 3

Slide 3 text

3 今回取り上げるブログ https://dev.classmethod.jp/articles/aws-iam- eventual-consistency-session-policy

Slide 4

Slide 4 text

4 このブログの基本情報 ● こんな時に読んでほしい ○ IAMポリシーの検証をするときに結果整合性が邪魔になる!というとき ● 学べること ○ IAMのコントロールプレーンとデータプレーンの構成 ○ IAMの結果整合性の具体例 ○ セッションポリシーを用いて結果整合性を回避できる理屈 ○ スコープダウンポリシーとは何か

Slide 5

Slide 5 text

5 このブログの基本情報 ● ブログを書いたきっかけ ○ AWSのブログを見かけたこと ■ How to monitor and query IAM resources at scale – Part 1 | AWS Security Blog ● https://aws.amazon.com/jp/blogs/security/how-to-monitor-and-query-iam-r esources-at-scale-part-1 ● ブログを書くのにかかった時間 ○ 10.5時間 ■ 前提の説明の絵を描くのに時間がかかったのと、いろんなパターンで 手を動かすのに時間がかかった ■ 「書きたい!」と思ってからリリースまで3ヶ月強かかりました

Slide 6

Slide 6 text

6 このブログの基本情報 ● ブログを書ききれなかったこと ○ AWS CLIを用いた方法のみを記載したが、一工夫すればマネジメントコン ソールでも実現できるはず ○ 通常のサインインではなくフェデレーションサインインを使えばいけるはず ○ いつか書いてみたい

Slide 7

Slide 7 text

7 ブログを参照しながら補足説明

Slide 8

Slide 8 text

8 「AWS IAM の結果整合性が ネックになるとは」部

Slide 9

Slide 9 text

9 IAMのコントロールプレーンとデータプレーン 自分で描いた絵なんですが、大好きです。ぜひイメージをつかんでください。

Slide 10

Slide 10 text

10 AssumeRoleしてからAPI実行するイメージ リージョンのデータプレーンにおいて認証/認可が行われます。

Slide 11

Slide 11 text

11 結果整合性がネックになるとは IAMコントロールプレーンに行われた変更が伝播されるまでに時間がかかります

Slide 12

Slide 12 text

12 「AWS IAM の結果整合性の影響を セッションポリシーで回避するとは」部

Slide 13

Slide 13 text

13 セッションポリシーの利用 セッションポリシーを変更することで、コントロールプレーンに変更を加えない

Slide 14

Slide 14 text

14 スコープダウンポリシー セッションポリシーを用いて範囲を狭めることを指して 「スコープダウンポリシー」と呼ぶ文脈もある

Slide 15

Slide 15 text

15 「AWS IAM の結果整合性を体験してみる」部

Slide 16

Slide 16 text

16 検証でやること Denyポリシーをアタッチした直後に繰り返し操作を実行し、 いつから拒否され始めるかを確認する

Slide 17

Slide 17 text

17 結果整合性を綺麗に感じられた ● 変更が完全に反映されるまで10数秒はか かる ● 0/1で切り替わるのではなくグラデーション の期間もある

Slide 18

Slide 18 text

18 「AWS IAM の結果整合性をセッションポリシーで回 避する」部

Slide 19

Slide 19 text

19 全体のイメージ フル権限を持つエンティティからセッションを生成する際に スコープダウンポリシーを設定する(今回はAssumeRoleを取り上げる)

Slide 20

Slide 20 text

20 MFAありのAssumeRoleは関数を使うと楽 手打ちで実行するのは辛いので、ツールを使うか関数を作ろう

Slide 21

Slide 21 text

21 機会があったら思い出してください