AWS Single Sign-Onを用いた、セキュアでより良いログイン体験への取り組み / AWS Single Sign-On for a better experience and more secure login
by
Tatsuro Mitsuno
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
AWS Single Sign-Onを用いた、 セキュアでより良いログイン体験への取り組み 【オンライン】ZOZO×一休×PayPay AWS Night 2020/07/22 株式会社ZOZOテクノロジーズ 技術開発本部 SRE部 テックリード 光野達朗 Copyright © ZOZO Technologies, Inc.
Slide 2
Slide 2 text
© ZOZO Technologies, Inc. 株式会社ZOZOテクノロジーズ 技術開発本部 SRE部 テックリード 光野 達朗 2012年ヤフー株式会社にサーバサイドエンジニアとして入 社。2016年4月からは株式会社VASILYでインフラエンジニ ア。2018年4月から現職。現在はAWSを専門とするSREテッ クリードとして、クラウドアーキテクチャの構築と信頼性向上 に従事。 ウィスキーと葉巻が好き。愛してる。 2
Slide 3
Slide 3 text
© ZOZO Technologies, Inc. プロダクト紹介 3
Slide 4
Slide 4 text
© ZOZO Technologies, Inc. https://zozo.jp/ ● 日本最大級のファッション通販サイト ● 1,300以上のショップ、7,400以上のブランドの取り扱い(ともに2019年12 月末時点) ● 常時73万点以上の商品アイテム数と毎日平均3,200点以上の新着商品 を掲載 ● 即日配送サービス ● ギフトラッピングサービス ● ツケ払い など 4
Slide 5
Slide 5 text
© ZOZO Technologies, Inc. https://wear.jp/ 5 ● 日本最大級のファッションコーディネートアプリ ● 1,400万ダウンロード突破、コーディネート投稿総数は900万件以上(と もに2019年12月末時点) ● 全世界(App Store / Google Playが利用可能な全ての国)でダウンロー ドが可能 ● 等身大の着こなしが支持を集め、10万人以上のフォロワーを持ち WEARISTAに認定された一般ユーザーも誕生
Slide 6
Slide 6 text
© ZOZO Technologies, Inc. 本発表で扱う範囲 個々のプロダクトではなく 組織全体のAWS運用に関する話 6
Slide 7
Slide 7 text
© ZOZO Technologies, Inc. 本発表を通して伝えたいこと Single Sign-Onはいいぞ AWSをマルチアカウントで用いる場合には必ず設定した方が良い AWSアカウントが1つでも設定する価値あり 7
Slide 8
Slide 8 text
© ZOZO Technologies, Inc. 前提:ZOZOテクノロジーズのAWSアカウント体系 8 AWS Organizations (複数アカウントを一元管理するもの) マスターアカウント メンバーアカウント メンバーアカウント ● 組織の親 ● 請求の一元管理 ● 各種統制系機能の管理 ● 組織の子 ● 各プロダクトごとに複数所有 ● 本番環境用・事前環境用・etc.
Slide 9
Slide 9 text
© ZOZO Technologies, Inc. マルチアカウント体系のメリデメ 9 cf. AWS におけるマルチアカウント管理の手法とベストプラクティス, 高田智己, AWS Summit Tokyo 2017
Slide 10
Slide 10 text
© ZOZO Technologies, Inc. マルチアカウント体系のメリデメ 10 cf. AWS におけるマルチアカウント管理の手法とベストプラクティス, 高田智己, AWS Summit Tokyo 2017
Slide 11
Slide 11 text
© ZOZO Technologies, Inc. 本日取り上げる運用のオーバーヘッド なによりもまず ログインが手間 MFA必須にすると更に大変 11
Slide 12
Slide 12 text
© ZOZO Technologies, Inc. ログイン 12 本番環境用アカウント 開発環境用アカウント 事前環境用アカウント 利用者 【手間その1】 各アカウントに IAMユーザやIAMロールを作成 【手間その2】 ログインのたびにTOTP入力
Slide 13
Slide 13 text
© ZOZO Technologies, Inc. この手間、必要? 13 ● 仕組みは必要 ○ アカウント分離もMFAも大事なサービスを守るためには必要 ● 手間は無くていい ○ ex. 入退社に伴うIAMユーザの作成・削除 ○ 手間がかかることは後回しにされ、安全でなくなる可能性がある ● 必要なことこそ簡単にしたい 利用者 素敵な 仕組み ● 簡単に切り替えられる ● IAMリソース不要
Slide 14
Slide 14 text
© ZOZO Technologies, Inc. 解決への取り組み:Single Sign-On ● Single Sign-On(以下、SSO) ○ シングルサインオン ○ 一度のユーザ認証処理で、複数サービスのユーザ認証も済ませること・その仕組み ○ 「どこかに1度ログインしたら、AWSアカウントへのログインもそれで済ませる」 目指したところ(SSOといっても実現方法は色々) ● 組織のID体系と紐付けたい ○ ZOZOテクノロジーズの場合、Azure ADによるAD管理 ● AWSアカウントごとに設定したくない ○ ZOZOテクノロジーズの場合、現在60アカウント程度。増加傾向 ● ユーザ・アカウント・権限の紐付けを柔軟にしたい 14
Slide 15
Slide 15 text
© ZOZO Technologies, Inc. いろいろ試しまして... 15
Slide 16
Slide 16 text
© ZOZO Technologies, Inc. できました! 16 AWS Organizations マスターアカウント メンバーアカウント メンバーアカウント AWS Single Sign-On Azure AD プロビジョン 権限・ユーザの配布 ログイン用 IAMリソース 作成不要
Slide 17
Slide 17 text
© ZOZO Technologies, Inc. デモ動画 17 登壇時はデモ動画でした 静止画になるため削除しています
Slide 18
Slide 18 text
© ZOZO Technologies, Inc. 設定:初期設定 18 ● AWS SSOのIDソースを検討する a. SSO自体に管理させる・Microsoft AD・Azure AD(2019/09対応)・Okta(2020/06対応) b. 弊社はAzure ADを外部IDソースとして利用 ● 大きく3ステップで完了 a. AWS OrganizationsからAWS Single Sign-On(以下SSO)統合を有効化 b. AWS SSOのリソースを作成 c. Azure ADの「エンタープライズアプリケーション」を作成し接続 i. SAML認証を処理する要素(プログラムを書くわけではない)
Slide 19
Slide 19 text
© ZOZO Technologies, Inc. 設定:日々の運用 19 1. Azure ADの「エンタープライズアプリケーション」にユーザを追加 2. AWS SSO側にユーザが現れるので、アカウントと権限を紐付け a. AWSアカウントごとのIAMユーザ・IAMポリシー作成は不要(AWS SSOが用意する) b. SSO提供アカウント(組織の親アカウント)のみ管理すれば良い
Slide 20
Slide 20 text
© ZOZO Technologies, Inc. AWS Single Sign-Onの良いところ・イマイチなところ 20 ● AWSアカウントの増減を気にしなくて良い ○ Organizationsで管理されるAWSアカウント全てが自動的に対象となる ● Azure ADにてユーザが削除されるとAWS SSO側でも「無効化」される ○ 退職時に、アカウントをのぞいてIAMユーザを削除して回らなくて良い ● AWS CLI v2との統合 ○ aws sso login 〜でSSOベースのアクセストークンが取得できる ● APIが少ない ○ 権限の更新・ユーザの更新など更新作業はWebコンソールオンリー ● SSOで定義する権限がIAMと統合されてない ○ 記法はIAMと同じだが作成されたポリシーは個別管理
Slide 21
Slide 21 text
© ZOZO Technologies, Inc. 今後解決する必要があること 21 ● 最小限かつ十分な権限設計 ○ 今は大まかな権限設計(管理者・RW・RO・Billingなど・・・) ○ 既存の権限がバラバラで、何かが「できなくなる」ことを避けた結果 ● SSO移行促進・不要なIAMユーザ削除 ○ SSOを利用していないユーザへの啓蒙 ○ SSOベースになって不要になったIAMユーザの洗い出しと削除 AWS CloudTrail AWS Config いくつかの監査系サービスを組 み合わせた分析に挑戦中
Slide 22
Slide 22 text
© ZOZO Technologies, Inc. まとめ ● AWSのマルチアカウント運用で、頻繁なログインが課題だった ● AWS SSOによって複数AWSアカウントでのログイン体験を改善した ○ 弊社ではAzure ADをIDソースにしたが、AWS SSO単体でID管理することも可能 ● IAMユーザを使う場面が減るため、管理上のメリットも多し ○ 人間用IAMユーザを削除して回る必要がなくなる ● 1アカウントでも設定は可能。アカウントが増える可能性があれば検討推奨 ● (AWS)Single Sign-Onはいいぞ 22
Slide 23
Slide 23 text
© ZOZO Technologies, Inc. Appendix Q. AWS SSO以外で検討した手段と結果は? A. IAMのIDプロバイダを利用したSSO / クロスアカウントAssumeRoleを検討したが、 各アカウント単位で事前に作るものが多かったので非採用。機能的にもAWS SSOが 最も使いやすい。 Q. OneLogin / Okta / TrustLoginなどのサービスを使わなかった理由は? A. 既にAzure ADを中心としたSSO体系が存在していたので、 1. Azure AD=>(別サービス)=> AWS 2. (別サービス)=> AWS などとするメリットが特に無かった。 23
Slide 24
Slide 24 text
© ZOZO Technologies, Inc. We Are Hiring! ● AWSを使ってWebサービスを作りたい人 ○ できます ● AWSをより良く使ってWebサービスを作りたい人 ○ 一緒に強くなりましょう ● AWSをより良く使うための仕組みを作りたい人 ○ 待ってます ● AWSをより良く使えているかを確認する仕組みを作りたい人 ○ 今作ってます。一緒に作りましょう 24 => https://tech.zozo.com/recruit/ <=
Slide 25
Slide 25 text
No content