Slide 1

Slide 1 text

IAMのマニアックな話 2025 IAMのベストプラクティスは5年間でどう変わったのか? ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 2

Slide 2 text

佐々木拓郎 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a ◼ 執筆 NRIネットコム株式会社 執行役員 デジタルソリューション事業本部 本部長 クラウドテクニカルセンター センター長

Slide 3

Slide 3 text

IAMのマニアックな話 2019 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 4

Slide 4 text

IAMのマニアックな話 2025 IAMの設計を言語化するために書いた本 IAMのマニアックな話(2019)の紹介 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a 同人誌の枠を超えた大ヒット!!  KindleやBOOTHを中心に6,000冊以上販売  マニアックな話と言いつつ、IAMを使う上で把握し ておくべき事項を網羅  IAMのみに特化して、100ページ以上のボリューム KDPの売り上げの推移 発表から5年が経過しても、売れ続けている

Slide 5

Slide 5 text

IAMのマニアックな話 2025 はじめに 第1章 AWS と IAM 第2章 IAM の機能 第3章 IAM チュートリアル 第4章 IAM ポリシーのデザインパターン 第5章 IAM グループのデザインパターン 第6章 IAM とセキュリティ 第7章 IAM の運用 第8章 IAMとCloudFormation 第9章 IAMのテンプレート集 第10章 IAM以外のAWS サービスの活用 付録 A アカウント開設時の設定チェックリスト IAMのマニアックな話 (2019) の目次 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 6

Slide 6 text

IAMのマニアックな話 2025 たったの5つだけ ⚫ IAM ユーザー ⚫ IAM グループ ⚫ IAM ポリシー ⚫ IAM ロール ⚫ パーミッション・バウンダリー IAMのマニアックな話 (2019) で取り扱った、IAMの機能 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 7

Slide 7 text

IAMのマニアックな話 2025 IAMポリシーのデザインパターン① ホワイトリスト・パターン ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a 特定のサービス・アクションのみ許可 ec2 Describe * Stop Start 拒否 許可 許可 許可 デフォルト拒否 メリット  最小権限の設計ができる  理解して作れば、一番セキュア デメリット  設計が進まないと設定できない  管理負荷が高い 許可する権限のみ付与していくパターン ◆ EC2やS3といったサービス単位や、更に細かくアクション単位で付与 ◆ AWS管理ポリシーも、ある意味ホワイトリストパターン(※) ※そのまま使うには粗い事が多い

Slide 8

Slide 8 text

IAMのマニアックな話 2025 IAMポリシーのデザインパターン② ブラックリスト・パターン ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a 特定のサービス・アクションを拒否 メリット  AWS管理ポリシーを活用しやすい  初期設計を最小限に取り掛かれる  自由度が高く設計が楽 デメリット  予期せぬサービスが、突然使える ようになるリスクがある 拒否する権限を追加していくパターン ◆ 最初に大きめの権限を付与する ◆ その後に、使われたくないサービス/アクションの権限を剥奪していく Admin 許可 S3 * Ec2 * IAM * デフォルト拒否 拒否 拒否 拒否

Slide 9

Slide 9 text

IAMのマニアックな話 2025 IAMグループのデザインパターン① ユーザ/ロールが複数グループに所属 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a グループごとの役割を小さく分割 ◆ 全社員向けの共通グループと、特定用途向けのグループ ◆ ポリシー設計が簡単だが、ユーザーからみると自分の権限がわかりにくい 全ユーザが利用するグループ (IAMグループ) IPアドレス制限 (IAMポリシー) パスワード変更権限 (IAMポリシー) 開発者向けグループ (IAMグループ) EC2操作権限 (IAMポリシー) ネットワーク担当者グループ (IAMグループ) VPC操作権限 (IAMポリシー) 開発者A (IAMユーザ) ネットワーク担当者A (IAMユーザ)

Slide 10

Slide 10 text

IAMのマニアックな話 2025 IAMグループのデザインパターン② 1つのグループに属性ごとの権限を付与 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a 1ユーザー1グループの原則のもと、グループ内にポリシーを付与していく ◆ グループ内に共通・個別のポリシーを追加していく ◆ ユーザーからみると権限の見通しが良いが、グループ管理が煩雑 IPアドレス制限 (IAMポリシー) パスワード変更権限 (IAMポリシー) 開発者向けグループ (IAMグループ) EC2操作権限 (IAMポリシー) ネットワーク担当者グループ (IAMグループ) VPC操作権限 (IAMポリシー) 開発者A (IAMユーザ) ネットワーク担当者A (IAMユーザ) IPアドレス制限 (IAMポリシー) パスワード変更権限 (IAMポリシー)

Slide 11

Slide 11 text

IAMのマニアックな話 2025 クロスアカウントロールを活用したロールの切り替え(Switch Role) ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a STS(Security Token Service)を使った一時的な認証情報の発行 ◆ ユーザもしくはロールから、別のアカウントのIAMロールに切り替える ◆ マルチアカウント環境の場合は、認証のみのアカウントを作成し、他アカウント へ切り替えるて利用する運用を取ることがある。IAMユーザー管理の最小化 IAM Role アカウントA IAM User アカウントB S3 バケット スイッチロールし、 一時的な認可を得る 利用

Slide 12

Slide 12 text

IAMのマニアックな話 2025 • IAMユーザーの最小化(IAMロール&フェデレーションの推奨) • IAMポリシーの最小権限設計(リソースベースポリシー活用) • MFAの強制適用 • Rootアカウントの厳格管理 • IPアドレス制限≒使用場所制限は、結局必要になるケースが多い 2019年時点のベストプラクティス ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 13

Slide 13 text

IAMのマニアックな話 2025 • 最小権限のジレンマ • ユーザー管理の煩雑さ(IDフェデレーションの普及不足) • マルチアカウントへの対応困難 当時の課題 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 14

Slide 14 text

IAMのマニアックな話 2025 ベストプラクティスだけど。。。 ⚫ 構築するシステムの設計がFix(固定)されている必要がある ⚫ プログラムからの利用に向いているが、AWSコンソールからの利用に不向き ⚫ 新規サービスに追随できるのが遅い ⚫ 設計・運用の負荷・工数が大きい ⚫ そもそもAdmin権限を持っている人しか最小権限を追求できない 現実的な運用 ⚫ 固定の役割(インスタンス・プログラム)にホワイトリストで最小権限を付与 ⚫ 人間系の利用は、禁止したい事項をブラックリスト方式で権限剥奪 ⚫ セキュリティ事項を起こさないとう観点で、最小権限を探索する 最小権限のジレンマ ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 15

Slide 15 text

IAMのマニアックな話 2025 ユーザー管理の煩雑さ&マルチアカウントへの対応困難 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a 複数アカウントを利用するのに、IAMユーザーは向いていない ⚫ 1つの組織で利用するAWSアカウントの数は増加の一途 ⚫ IAMユーザーは、基本的に1つのアカウントと対になる存在 ⚫ スイッチロールなどの戦略もあるも、ロール管理の複雑さなどの問題がある ⚫ IdP + SSOを基軸とした認証認可管理が必須になる アカウントA ユーザーA アカウントB アカウントC ユーザーA ユーザーA IdP+SSOが無いと、アカウントごとにIAMユーザが必要になる

Slide 16

Slide 16 text

IAMのマニアックな話 2025 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 17

Slide 17 text

IAMのマニアックな話 2025 アップデート • IAM Access Analyzerによる問題のある設定の自動検出 • IAMポリシーの新機能(条件付きアクセスの拡張、Attribute-Based Access Control(ABAC)の一般化) • リソースコントロールポリシー (RCP) 等の新しいタイプの認可ポリシーの登場 • IAM Roles Anywhereにより、AWS外部のシステムにもIAMロールを付与 • AWS Verified Accessによるユーザーとデバイスの認証に基づくポリシー適用 状況の変化 • IAM Identity Center(旧SSO)とAWS Organizationsとの統合強化、外部IdP との連携の強化(Okta、Entra IDなど) • ガードレールの概念と、その機能を実装するサービスの機能の充実 2019年以降のIAMと関連機能の主なアップデートと状況の変化 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a IAM のドキュメント履歴 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/document-history.html

Slide 18

Slide 18 text

IAMのマニアックな話 2025 IAM Access Analyzerの主な機能 ポリシーの分析と生成 ● 外部アクセスアナライザー: AWSリソースが外部からアクセス可能かチェック ● 未使用アクセスアナライザー: 一定期間使用していないIAMユーザ/ロールを検出 ● ポリシー検証:静的解析によるポリシーの検証機能 ● カスタムポリシーチェック:CheckNoPublicAccessなど特定の用途に応じた検査 ● ポリシー生成:CloudTrailのログを元に、利用したリソースからポリシーを自動生成 IAM Access Analyzer ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a IAM Role IAM ユーザ AWS CloudTrail ポリシーの生成 IAM Policy CloudTrailの ログを分析 ポリシーを生成 ポリシーの分析 AWS Lambda IAM Role AWS KMS Amazon SQS Amazon S3 外部リソースからの アクセスを分析 現時点では機能が限定的なもののAIとの組み合わせに将来性を感じる IAM Access Analyzer

Slide 19

Slide 19 text

IAMのマニアックな話 2025 属性ベースのアクセス制御①( Attribute-Based Access Control :ABAC) ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a 役割ベースのアクセス制御(従来からの機能) (Role Based Access Control : RBAC ) 属性ベースのアクセス制御(2019年以降の機能) (Attribute-Based Access Control :ABAC ) プロジェクトA用 Permissions プロジェクトA担当者 (役割) プロジェクトA リソース プロジェクトB用 Permissions プロジェクトB担当者 (役割) プロジェクトB リソース プロジェクトC用 Permissions プロジェクトC担当者 (役割) プロジェクトC リソース プロジェクトA 担当者 プロジェクトB 担当者 プロジェクトC 担当者 プロジェクトA リソース プロジェクトB リソース プロジェクトC リソース ABAC用 Permissions プリンシパル タグ リソース タグ 利用者 or リソースが増えると ポリシーが増え管理が大変 タグ管理が必要なものの、 ポリシーをシンプルに保てる

Slide 20

Slide 20 text

IAMのマニアックな話 2025 属性ベースのアクセス制御②( Attribute-Based Access Control :ABAC) ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a プリンシパルタグとリソースタグにより、利用できるリソースを定義可能 ● リソースタグ (aws:ResourceTag) との一致を条件にアクセス制御を実装 ● IAMポリシーをシンプルに保つことが可能 ● プロジェクトや部署単位など、従来のRBACベースだと困難だったことを解決 ● 動的なアクセス管理が可能で、管理負担を大幅に軽減できる可能性がある 一方で ● ABACポリシーの設計負荷は高い ● リソース側のタグの運用の経験値が必要 ● そもそもプロジェクトをアカウント単位で分割する方がメリットが大きい それでも動的にアクセス制御を実装できることに、大きな可能性がある

Slide 21

Slide 21 text

IAMのマニアックな話 2025 リソースコントロールポリシー (RCP) の登場 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a Organizationの機能として、SCPと対をなすRCPの登場。 ● サービスコントロールポリシー(SCP)は、アカウント内のIAMユーザーやIAMロ ールに対してアクションを制限する ● リソースコントロールポリシー(RCP)は、リソースごとのアクセス制御を組織 全体で適用するポリシー RCP SCP AWS Organizations Organizations外からの S3アクセスを禁止する RCP アタッチ S3バケット OK 組織外 NG AWS Organizations Configの変更権限を 制限するSCP アタッチ Account Account Account AWS Config IAMロール IAMポリシーに作用 リソースに作用 Configの 変更禁止

Slide 22

Slide 22 text

IAMのマニアックな話 2025 AWS Verified Access ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a AWS Verified Accessは、VPNの代替サービスにあらず ● Verified Accessの本質は、リクエストを評価してリソースへ動的なアクセス許可 を与える仕組み ● 信頼プロバイダ(Trust Data Providers)であるIdPを利用し、認証済みユーザー に対してポリシーベースのアクセス制御を提供する AWS Verified Access AWS IAM Identity Center (Trust Data Providers) ロードバランサ Virtual private cloud (VPC) 内部のリソース 将来的に、AWSの認証認可の中心的な存在になる可能性を感じる

Slide 23

Slide 23 text

これからのIAMのベストプラクティス ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 24

Slide 24 text

IAMのマニアックな話 2025 • 2019年:「IAMユーザーは最小限、ロールを中心に」 • 2025年:「IAM Identity Centerを活用し、IAMユーザーをゼロに」 IAMユーザーの運用方針 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a AWSも公式に、IAMユーザーの利用は非推奨と宣言

Slide 25

Slide 25 text

IAMのマニアックな話 2025 • 2019年:「IAMポリシーの明示的定義」 • 2025年:「IAMポリシーの制御に加え、動的制御(ABAC )+組織制御 ( SCP/RCP)で最適化」 IAMポリシーの設計の変化 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 26

Slide 26 text

IAMのマニアックな話 2025 • 2019年:「定期監査で確認」 • 2025年:「IAM Access Analyzerのリアルタイム監査 + AI提案」 監査の強化 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 27

Slide 27 text

IAMのマニアックな話 2025 • AWS Verified Accessと組み合わせた動的な認証制御 • デバイスベース(端末)の制御も可能 • AIと組み合わせることにより、より高度な認証制御になる可能性がある ゼロトラストへの対応 ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 28

Slide 28 text

IAMのマニアックな話 2025 認証認可をコントロールする3つのサービスの管理主体がバラバラのケース が多い • IdPの管理主体:情報システム部(全社のID管理) • IAM Identity Centerで管理する権限セット:CCoEなど横断組織 • 各アカウントで事業主体が管理するIAMロール:事業部 IAM Identity Center + IdP+IAMロールをどう管理するか? ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a IAM Identity Center IdP 各AWSアカウント Okta,Entra ID, Etc 権限セット アカウント内 生成の IAMロール IAMポリシー 権限セットから 生成される IAMロール 組織の実態・目指す姿を元に、どう管理するのかを検討する

Slide 29

Slide 29 text

まとめ ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 30

Slide 30 text

IAMのマニアックな話 2025 • IAMの変化 • 2019年:「最小権限を手作業で設計する」 • 2025年:「アカウント単体ではなく、組織全体で認証認可を制御する」 • 今後のIAMトレンド予想 • ゼロトラストIAMへの移行(AWS Verified Accessとの統合) • AIによるポリシー推奨・自動生成 • 動的なIAM管理が標準化、アクセス管理の自動化へ まとめ ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 31

Slide 31 text

IAMのマニアックな話 2025 Connect the dots 点と点を結びつけて全体像を把握しよう!! ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 32

Slide 32 text

技術書典18で技術同人誌にまとめて発表します ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a 技術書典18: https://techbookfest.org/event/tbf18

Slide 33

Slide 33 text

ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a

Slide 34

Slide 34 text

3月18日に40分バージョンで再演します ハッシュタグ:#jawsdays2025 #jawsug #jawsdays2025_a Tech & Design Study #59: https://nrinetcom.connpass.com/event/346763/

Slide 35

Slide 35 text

No content