Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Elastic Cloudの特権アカウント共用から脱却! / Elastic Cloud: B...

Avatar for Ryo Hanafusa Ryo Hanafusa
February 26, 2025
1.2k

Elastic Cloudの特権アカウント共用から脱却! / Elastic Cloud: Breaking Away from Sharing Privileged Account

「Elasticsearch Community in Tokyo 2025」の発表資料です。
https://www.meetup.com/ja-JP/tokyo-elastic-fantastics/events/305751163/?eventorigin=group_upcoming_events

本資料と同様の内容のZOZO TECH BLOG記事です。
「Elastic Cloudの特権アカウント共用から脱却!」
https://techblog.zozo.com/entry/elastic-cloud-breaking-away-from-shared-privileged-accounts

Avatar for Ryo Hanafusa

Ryo Hanafusa

February 26, 2025
Tweet

Transcript

  1. © ZOZO, Inc. 株式会社ZOZO EC基盤開発本部 SRE部 検索基盤SREブロック 花房 諒 普段はZOZOTOWNの検索関連マイクロサービスの

    QCD改善やインフラ運用を担当しています。 最近は検索領域のSREと並行して、新規取り組みのアプリケーション 開発にも携わっています。(Go/Python開発者) Elasticsearch & Kubernetesを触れる人として2023年3月に ZOZOに入社しました。GitHubアカウント:R-HNF 2
  2. © ZOZO, Inc. 3 本発表について 以下について紹介します。 • RBAC機能の利用によりElastic Cloudの特権アカウントの共用から脱却した取り組み •

    独自のRoleによるチームごとの適切な権限管理 複数チームに利用されるElastic Cloud/Elasticsearchを 管理している方の参考になると思います!
  3. © ZOZO, Inc. 5 アジェンダ • ZOZOTOWNにおけるElasticsearchの活用方法 • 課題 ◦

    Elastic Cloudの特権アカウント共用 • 解決策 ◦ Elastic CloudのRBAC機能 ◦ Elasticsearch内の権限 • まとめ
  4. © ZOZO, Inc. 6 アジェンダ • ZOZOTOWNにおけるElasticsearchの活用方法 • 課題 ◦

    Elastic Cloudの特権アカウント共用 • 解決策 ◦ Elastic CloudのRBAC機能 ◦ Elasticsearch内の権限 • まとめ
  5. © ZOZO, Inc. https://zozo.jp/ • ファッションEC • 1,600以上のショップ、9,100以上のブランドの取り扱い • 常時102万点以上の商品アイテム数と毎日平均2,600点以上の新着

    商品を掲載(2024年12月末時点) • ブランド古着のファッションゾーン「ZOZOUSED」や コスメ専門モール「ZOZOCOSME」、シューズ専門ゾーン 「ZOZOSHOES」、ラグジュアリー&デザイナーズゾーン 「ZOZOVILLA」を展開 • 即日配送サービス • ギフトラッピングサービス • ツケ払い など 7
  6. © ZOZO, Inc. 11 アジェンダ • ZOZOTOWNにおけるElasticsearchの活用方法 • 課題 ◦

    Elastic Cloudの特権アカウント共用 • 解決策 ◦ Elastic CloudのRBAC機能 ◦ Elasticsearch内の権限 • まとめ
  7. © ZOZO, Inc. 共用のリスク • ログイン情報が漏洩して悪用される ◦ 複数人で共用しているため漏洩する可能性が高まっている状態 ◦ 例)本番環境の商品情報の改変により、ZOZOTOWNの検索結果を不正に操作される

    • インフラ管理者以外の誤操作により重大な事故を引き起こす ◦ クラスタの管理を担うDeploymentに対して全ての操作が可能なため ◦ 例)本番環境のクラスタ/インデックスを削除してしまい、ZOZOTOWNが利用不可になる 13 Elastic Cloudの特権アカウント共用 検索機能だけでなくZOZOTOWN全体にも影響する可能性
  8. © ZOZO, Inc. 14 Elastic Cloudの特権アカウント共用 なぜ共用していたか • Elastic Cloudの利用を開始した当初、Organizationに登録できるアカウントは1つまでという

    制限があったため • 2021年のアップデートにより、Organizationへのアカウント追加が可能になった ◦ しかし、追加した全てのアカウントに管理者権限が付与されてしまうため、 各チームに合ったRole(権限セット)を柔軟に設定できなかった 細かい権限管理ができなかったため共用が続いた
  9. © ZOZO, Inc. 16 アジェンダ • ZOZOTOWNにおけるElasticsearchの活用方法 • 課題 ◦

    Elastic Cloudの特権アカウント共用 • 解決策 ◦ Elastic CloudのRBAC機能 ◦ Elasticsearch内の権限 • まとめ
  10. © ZOZO, Inc. 17 Elastic CloudのRBAC機能 Organizationに追加したアカウントへRoleを付与可能に • Roleの種類 Organization

    Owner すべての権限を持つ Billing Owner 支払いに関する管理が可能 Admin Deploymentsの作成やプロパティの管理、 セキュリティ権限の管理が可能 Viewer Deploymentsの閲覧が可能 None Deploymentsの閲覧やアクセスは禁止 Deployment単位での 指定も可能
  11. © ZOZO, Inc. 18 Elastic CloudのRBAC機能 ZOZOでの運用方法 • 利用者のアカウントをOrganizationに追加 •

    利用者には下記の通りRoleを付与(dev/stg/prdの全環境) インフラ管理者(SRE) Admin Deploymentsの作成やプロパティの管理、 セキュリティ権限の管理が可能 開発者 Viewer Deploymentsの閲覧が可能 特権アカウント共用から個人アカウント利用へ
  12. © ZOZO, Inc. 20 アジェンダ • ZOZOTOWNにおけるElasticsearchの活用方法 • 課題 ◦

    Elastic Cloudの特権アカウント共用 • 解決策 ◦ Elastic CloudのRBAC機能 ◦ Elasticsearch内の権限 • まとめ
  13. © ZOZO, Inc. 23 Elasticsearch内の権限 ZOZOでの運用方法 • Elasticserch/KibanaへのログインもElastic Cloudアカウントを利用(dev/stg/prdの全環境) 利用者の役割

    Elastic CloudのRole ElasticsearchのRole インフラ管理者(SRE) Admin superuser 開発者 Viewer viewer 課題:dev/stg環境において開発者が    Index自体やIndex内のドキュメントなどを変更できない
  14. © ZOZO, Inc. ZOZOでの運用方法 • Elasticserch/KibanaへのログインもElastic Cloudアカウントを利用(dev/stg/prdの全環境) 独自のRoleの付与により インフラ面は閲覧に絞ったまま、開発のための権限を増やす 24

    Elasticsearch内の権限 利用者の役割 Elastic CloudのRole ElasticsearchのRole インフラ管理者(SRE) Admin superuser 開発者 Viewer viewer + 独自のRole
  15. © ZOZO, Inc. 26 Elasticsearch内の権限 独自のRole • 全員に付与する共通のRole ◦ 全員が最低限必要となる権限をまとめたRole(dev/stg/prd環境別)

    ◦ 作成理由 ▪ 各チームが最低限必要となる権限がまとまっていたため ▪ チームごとのRoleを冗長にせず管理しやすくするため • チームごとに付与するチームのRole ◦ チームごとに特別に必要となる権限をまとめた(dev/stg/prd環境別) ◦ 作成理由 ▪ チームごとに権限が欲しいDeploymentやIndexが異なり、 共通のRoleにはまとめられない権限が存在したため
  16. © ZOZO, Inc. 30 アジェンダ • ZOZOTOWNにおけるElasticsearchの活用方法 • 課題 ◦

    Elastic Cloudの特権アカウント共用 • 解決策 ◦ Elastic CloudのRBAC機能 ◦ Elasticsearch内の権限 • まとめ
  17. © ZOZO, Inc. 31 課題と解決方法 • 課題 ◦ アカウントの共有によるセキュリティ上のリスク ◦

    誤操作により重大な事故を引き起こす可能性 ◦ チームごとに適切な権限を付与できない • 解決方法 ◦ Elastic CloudのRBAC機能利用 ◦ Elastic Cloudアカウントに対するElasticsearch内の独自のRoleを追加付与 ▪ 利用者共通のRole ▪ チームごとのRole
  18. © ZOZO, Inc. 32 残課題 • マイクロサービスからElasticsearchへはsuperuserでアクセス ◦ 不要な権限も含む強い権限を渡している ◦

    例)サフィックス指定でIndexを削除する際、   指定方法のミスで想定外のIndexまで削除してしまう • アカウント管理のベストプラクティスであるdev/stg/prdのOrganization分離が できていない ◦ 現状の仕様で分けようとした場合 ▪ 支払いを一元化できない ▪ 1つのメールアドレスを複数のOrganizationに登録できない 今後、解決に取り組んでいきたい