スイッチロールで実現する快適な権限・リソース管理

 スイッチロールで実現する快適な権限・リソース管理

JAWS Festa 東海道 2016 で発表した資料です。
クラッシュフィーバーで実践している認証/承認情報・リソース管理のテクニックについて、SwitchRoleの導入背景、導入後の効果、SwitchRoleの具体的な導入方法とTipsについて発表しました。

Ab4b5f5b79b5170452757857dc2e6433?s=128

shogo kirishima

October 22, 2016
Tweet

Transcript

  1. εΠονϩʔϧͰ࣮ݱ͢Δ շదͳݖݶɾϦιʔε؅ཧ ~Switch Role の事例~ ワンダープラネット株式会社 執行役員CTO 村田 知常 リードサーバエンジニア

    桐島 昌吾 © 2016 WonderPlanet Inc.
  2. ࣗݾ঺հ 村田 知常(むらた ともつね) • ワンダープラネット株式会社 執行役員CTO(R&D事業部管掌) • 大学院を修了後、10年間 名古屋のSIerにて業務システムを開発

    • ワンダープラネット株式会社の創業メンバー • 著書 「SpriteKitではじめる2Dゲームプログラミング Swift対応」 • 好きなAWS © 2016 WonderPlanet Inc. AWS Lambda
  3. ϫϯμʔϓϥωοτגࣜձࣾ 2012年9月3日 設立 スマートデバイス向けフルネイティブアプリ・ゲームの 企画・開発・運営・販売 名古屋本社(栄) 東京オフィス(新宿) 従業員数 63名 楽しいね!を、

    世界中の日常へ © 2016 WonderPlanet Inc.
  4. None
  5. ΫϥογϡϑΟʔόʔ 仮想世界をモチーフとした世界観を舞台に、 画面をタップするだけの簡単操作でパネルをブッ壊す爽快感や サウンドが魅力のゲーム © 2016 WonderPlanet Inc.

  6. ΫϥογϡϑΟʔόʔ • 2015年7月にリリース • 世界累計600万ダウンロード突破 • 日本App StoreセールスランクにてTOP10入り • 2016年5月より台湾・香港・マカオ版をリリース

    • 台湾と香港のApp Storeセールスランクにて第1位を獲得 • 2016年5月と8月に全国テレビCMを実施 • 2016年10月末からグローバル版を配信 © 2016 WonderPlanet Inc. このグローバル展開を 支えているテクニック
  7. ࣗݾ঺հ 桐島 昌吾(きりしま しょうご) • サーバエンジニアとして、ECサイト、ソシャゲ、スマホアプ リのバックエンド開発に従事 • 2015年にワンダープラネット株式会社にジョイン •

    現在はリードサーバエンジニアとして日々奮闘中 • 好きなAWS © 2016 WonderPlanet Inc. Amazon Aurora
  8. ΞδΣϯμ • 4XJUDI3PMFͷಋೖഎܠ • ޮՌ • ಋೖํ๏ • 5JQT ©

    2016 WonderPlanet Inc.
  9. 4XJUDI3PMFͷಋೖഎܠ © 2016 WonderPlanet Inc.

  10. © 2016 WonderPlanet Inc. Α͋͘Δߏ੒ • development環境:ローカル環境(vagrant, docker) • test環境:AWS

    • staging環境 : AWS • production環境 : AWS • qa環境:AWS • etc
  11. © 2016 WonderPlanet Inc. Α͋͘Δߏ੒ • test環境:AWS • staging環境 :

    AWS • production環境 : AWS • qa環境:AWS 各環境を分離
  12. ରࡦ © 2016 WonderPlanet Inc. VPC …!

  13. © 2016 WonderPlanet Inc. 71$ production staging

  14. © 2016 WonderPlanet Inc. 71$ production staging 問題なし! (ネットワーク的には) IAM的に問題あり

  15. © 2016 WonderPlanet Inc. 71$ ネットワーク視点 production staging 影響を受けない

  16. © 2016 WonderPlanet Inc. 71$ IAM(認証/承認情報)視点 すべて、「アクセス可能なAWSリソース」 production, stagingの区別は無い

  17. ֤؀ڥͷϦιʔε͕ࠞࡏ © 2016 WonderPlanet Inc. ・test ・outsource ・staging ・production ・stress

    ・qa
  18. ֤؀ڥͷϦιʔε͕ࠞࡏ © 2016 WonderPlanet Inc. • リソース管理上の問題 • 誤操作の危険性 •

    他環境リソースへの想定外の影響の可能性 • 権限管理上の問題 • 認証情報の漏洩被害が大きい • 承認情報の詳細な設定/管理が必要
  19. ରࡦ © 2016 WonderPlanet Inc. ؀ڥຖʹ "84ΞΧ΢ϯτΛ ෼͚Α͏ʂ

  20. ؀ڥຖʹ"84ΞΧ΢ϯτΛ෼͚Δ © 2016 WonderPlanet Inc. production環境 staging環境 test環境 outsource環境 stress環境

    qa環境
  21. ؀ڥຖʹ"84ΞΧ΢ϯτΛ෼͚Δ © 2016 WonderPlanet Inc. Ϧιʔεɺೝূঝೝ৘ใ͸ɺ ΞΧ΢ϯτຖʹด͍ͯ͡Δ

  22. ղܾʂ © 2016 WonderPlanet Inc. • リソース管理上の問題 • 誤操作の危険性 •

    他環境リソースへの想定外の影響の可能性 • 権限管理上の問題 • 認証/承認情報の漏洩被害が大きい • 承認情報の詳細な設定/管理が必要 環境毎に閉じてるから大丈夫!
  23. ղܾʁ リスクは大きく低減! した様に見えたが、、、 © 2016 WonderPlanet Inc.

  24. ղܾͯ͠ͳ͍ʂ リスクは大きく低減! した様に見えたが、、、 © 2016 WonderPlanet Inc. 別の問題が発生!

  25. ໰୊ɿೝূঝೝ৘ใ͕૿Ճ © 2016 WonderPlanet Inc. production環境 ルートアカウント,IAM User, Group, Role,

    Policy staging環境 ルートアカウント,IAM User, Group, Role, Policy test環境 ルートアカウント,IAM User, Group, Role, Policy outsource環境 ルートアカウント,IAM User, Group, Role, Policy stress環境 ルートアカウント,IAM User, Group, Role, Policy qa環境 ルートアカウント,IAM User, Group, Role, Policy
  26. ໰୊ɿଞ؀ڥϦιʔε΁ͷΞΫηε © 2016 WonderPlanet Inc. アカウント跨ぎの アクセスが必要

  27. ໰୊ɿDPOTPMFը໘ͷ੾ସ͕໘౗ © 2016 WonderPlanet Inc. production環境 staging環境 test環境 ログアウト/ログイン ログアウト/ログイン

    ログアウト/ログイン
  28. ผͷ໰୊͕ൃੜ © 2016 WonderPlanet Inc. • 認証/承認情報が増加 • 他環境リソースへのアクセス制御 •

    console画面の切替
  29. ରࡦ © 2016 WonderPlanet Inc. Switch Role…!

  30. ໰୊ɿೝূঝೝ৘ใ͕૿Ճ © 2016 WonderPlanet Inc. production環境 ルートアカウント,IAM User, Group, Role,

    Policy staging環境 ルートアカウント,IAM User, Group, Role, Policy test環境 ルートアカウント,IAM User, Group, Role, Policy outsource環境 ルートアカウント,IAM User, Group, Role, Policy stress環境 ルートアカウント,IAM User, Group, Role, Policy qa環境 ルートアカウント,IAM User, Group, Role, Policy
  31. ໰୊ɿ4XJUDI3PMFͰղܾ © 2016 WonderPlanet Inc. production環境 承認情報のみ staging環境 承認情報のみ test環境

    認証情報の一元管理 outsource環境 承認情報のみ stress環境 承認情報のみ qa環境 承認情報のみ
  32. ໰୊ɿଞ؀ڥϦιʔε΁ͷΞΫηε © 2016 WonderPlanet Inc. アカウント跨ぎの アクセスが必要

  33. ໰୊ɿ4XJUDI3PMFͰղܾ © 2016 WonderPlanet Inc. Roleを切り替えることで、 アカウントを跨いで リソースにアクセス可能。

  34. ໰୊ɿDPOTPMFը໘ͷ੾ସ͕໘౗ © 2016 WonderPlanet Inc. production環境 staging環境 test環境 ログアウト/ログイン ログアウト/ログイン

    ログアウト/ログイン
  35. ໰୊ɿ4XJUDI3PMFͰղܾ © 2016 WonderPlanet Inc. production環境 staging環境 test環境 Roleの切替 Roleの切替

    Roleの切替
  36. 4XJUDI3PMF·ͱΊ © 2016 WonderPlanet Inc. • 認証情報を一元管理 • 認証/承認情報の増加を抑える •

    アカウント越しのリソースアクセス管理が簡単 • console画面の切替が簡単
  37. 4XJUDI3PMF࣮૷ํ๏ © 2016 WonderPlanet Inc.

  38. Πϝʔδ © 2016 WonderPlanet Inc. test環境 production環境 オーロラさん LevelDesigner

  39. *".VTFS࡞੒ʢUFTU؀ڥʣ © 2016 WonderPlanet Inc. • IAM user 作成 •

    パスワード設定
  40. "DDPVOS JE֬ೝʢUFTU؀ڥʣ © 2016 WonderPlanet Inc. • account id を確認

  41. 3PMF࡞੒ʢQSPEVDUJPO؀ڥʣ © 2016 WonderPlanet Inc.

  42. 3PMF࡞੒ʢQSPEVDUJPO؀ڥʣ © 2016 WonderPlanet Inc.

  43. 3PMF࡞੒ʢQSPEVDUJPO؀ڥʣ © 2016 WonderPlanet Inc. • test環境のaccount id を設定

  44. 3PMF࡞੒ʢQSPEVDUJPO؀ڥʣ © 2016 WonderPlanet Inc.

  45. 3PMF࡞੒ʢQSPEVDUJPO؀ڥʣ © 2016 WonderPlanet Inc.

  46. 1PMJDZઃఆʢUFTU؀ڥʣ © 2016 WonderPlanet Inc.

  47. *".VTFSͰϩάΠϯʢUFTU؀ڥʣ © 2016 WonderPlanet Inc.

  48. 4XJUDI3PMF 63-ʢUFTU؀ڥʣ © 2016 WonderPlanet Inc.

  49. 4XJUDI3PMFʢUFTUˠ QSPEVDUJPOʣ © 2016 WonderPlanet Inc.

  50. 5JQT © 2016 WonderPlanet Inc.

  51. 4XJUDI3PMFͷཤྺ • 最後に使用した5つのロールをキャッシュしてくれる • 直近5つより以前のロール履歴は消えるため、Switch Role 用URLをブックマークしておく • 5つ以上のロールを残せるchrome extentionもある

    © 2016 WonderPlanet Inc.
  52. Ϗδωεαϙʔτ͕͓ಘ • ビジネスサポートは、アカウント単位で契約 • 料金は、該当アカウントでのAWS利用料に基づく • アカウント分けると割安 © 2016 WonderPlanet

    Inc.
  53. ·ͱΊ © 2016 WonderPlanet Inc.

  54. • AWSアカウントを分けて、 • SwitchRoleを利用すると、 • 権限(認証/承認情報)、リソースを • 快適に管理できます © 2016

    WonderPlanet Inc. ·ͱΊ
  55. ͓஌Βͤ © 2016 WonderPlanet Inc. ໊ݹ԰ɾ౦ژͰ ஥ؒΛืूதʂʂ

  56. ໊ݹ԰ɾ౦ژͰ஥ؒΛืूதʂʂ • αʔόʔΤϯδχΞ • "84ɺ1)11ZUIPO(PMBOH • Ϣʔβʔͱͷڑ཭ͷۙ͞ • ߴෛՙ΁ͷ௅ઓ •

    αʔόʔΤϯδχΞҎ֎΋ืूத © 2016 WonderPlanet Inc. IUUQXPOEFSQMBOFUKPCT
  57. © 2016 WonderPlanet Inc. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠