13. Kerberos認証 - MIT Kerberos vs. AD
• Kerberos認証 MIT Kerberos vs. Active Directory
• MIT Kerberosの調査
• 実運用レベルの情報が少ない
• バックエンドにLDAPを利用するためには?
• マルチマスタリプリケーションを構築するためには?
• 弊社が取った調査方法
• 公式ドキュメント http://web.mit.edu/kerberos/krb5-latest/doc/
• RFCs
• ソースコード
DWANGO Co., Ltd. all rights reserved. 13
Kerberos Software Pros. Cons.
MIT Kerberos Linuxの運用知識が流用可能 構築・運用に関するドキュメントが少ない
Active Directory スケールさせやすい • Windowsに関する学習コストが必要
• Hadooopクラスタの各ノードを
ドメインに参加させる必要あり
14. (参考)Kerberos認証 - コンポーネント
• KDC (Key Distribution Center)
• Kerberos認証・チケット配布を行うサーバ
• 後述するAS, TGSとKerberos Databaseから構成される
• AS (Authentication Server)
• Kerberos認証を行い、暗号化されたTGT(Ticket granting ticket)の配布を行う
• TGTは、Principalがサービスの利用要求を行う際に利用される
• TGS (Ticket Granting Server)
• ユーザがもつTGTを復号化し、正当性チェックとサービスチケットの発行を行う
• KDC Database
• Realm, Principalなどの情報を保持するデータベース
• MIT Kerberosにもあるが、LDAPをバックエンドにすることも可能
DWANGO Co., Ltd. all rights reserved. 14
17. (参考)Kerberos認証 - API
• GSS-API(Generic Security Standard Application Programming Interface)
• 通信を行うClient/Serverのアプリケーションに、汎用的なデータ保護を行う方法を提供
• アプリケーションは、セキュリティに関する実装をアプリケーション内にもつ必要がなく、RFCに準拠
したインターフェイスでセキュリティ外部モジュールを呼び出し、
送信することでセキュアな通信を確立できる
• SPNEGO(Simple and Protected GSSAPI Negotiation Mechanism)
• GSS-APIを利用するClient/Server間で利用する認証メカニズムを決定する方法
DWANGO Co., Ltd. all rights reserved. 17
18. Kerberos認証 - 認証シーケンス
DWANGO Co., Ltd. all rights reserved. 18
YARNサービス on node1
HDFSサービス on node2
ユーザ1
KDC
Authentication Server
Ticket Granting Server
Kerberos Database
Ticket granting ticket
Service ticket
Principals(ユーザ・サービス)
??
Realm(組織)
54. まとめ
• ドワンゴの分析基盤の紹介
• ドワンゴの分析基盤の課題
• プロジェクトゴール
• どのように実現したのか
• Hadoopの標準的な認証/認可機構の実現
• Hue/Oozie/HttpFSによる自社開発WebUI/APIのリプレイス
• Hive on Spark/Impalaの導入
• 何が実現できたのか
• アーキテクチャ
• 効果
DWANGO Co., Ltd. all rights reserved. 54
Hadoop, Hive, Pig, Spark and Oozie are either registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
Cloudera and Hue are trademarks of Cloudera, Inc. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Python is a registered trademark
of the PSF.