Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AzureAD for Java

1,521 views

Published on

This presentation explain how to use the AzureAD from Java.
And also how to implement the Server Auth Module with JSR-196.

Published in: Technology
  • Be the first to comment

AzureAD for Java

  1. 1. • 今の認証・認可システム大丈夫? • AzureAD を試してみましょう • Java の認証・認可プログラム • サーバ認証モジュールの作成方法 • まとめ
  2. 2. • 今の認証・認可システム大丈夫? • AzureAD を試してみましょう • Java の認証・認可プログラム • サーバ認証モジュールの作成方法 • まとめ
  3. 3. IP Address: 31.172.30.4
  4. 4. Yoshio.Terada@Microsoft.co m 場所: シアトル Time: 8:29 AM, PST (3:29 PM, UTC) Yoshio.Terada@Microsoft.co m 場所:日本 Time: 7:54 AM, local time (3:54 PM, UTC)
  5. 5. IP Address: 199.34.28.10 X Bad username X Bad password X Bad password X Bad password X Bad username X Bad username X Bad username X Bad password
  6. 6. Azure AD は安全 アイデンティティプロバイダーとしての安全性 • Azure AD からデータを盗み出すには多くの壁がある ID/Password 追 加 認 証 要 素 権 限 チ ェ ッ ク ・棚 卸 ア プ リ ケ ー シ ョ ン 認 証• ス マ ー ト カ ー ド • 電 話 応 答 • ワ ン タ イ ム パ ス ワ ー ド REST API 監査ログ Machine Learning による分析• 特 権 管 理 機 能 に よ る 管 理 特 権 の 有 効 期 限 設 定 、 棚 卸 •AzureAD か ら 情 報 を 取 得 す る に は 、 ア プ リ ケ ー シ ョ ン 自 身 も 認 証 さ れ て い る 必 要 が あ る 無償 Premium Premium 無償
  7. 7. 2種類以上の要素で認証 知識情報: パスワード/ピン番号 所持情報: 電話、クレジットカード、ハードウェア・トークン 生体情報: 指紋認証、網膜スキャンなど
  8. 8. 個人が所有するデバイスでも認証
  9. 9. • 今の認証・認可システム大丈夫? • AzureAD を試してみましょう • Java の認証・認可プログラム • サーバ認証モジュールの作成方法 • まとめ
  10. 10. https://github.com/yoshioterada/Java-EE-7-Authentication-App-for-
  11. 11. パッケージ名 概要 cdis ビューのバックエンド処理 (JSF) extensionofPF ビューのテーブル選択処理 entities Graph API の返り値のマッパー graph Graph API を利用した処理 filter 認可が不要な場合 filter でも可能 jaspic 認証処理の主機能 common プログラム内から認証を有効化
  12. 12. AzureAD-Login { com.yoshio3.jaspic.AzureADLoginModule required; }; $GF_INSTALL/glassfish/domains/domain1/config/login.c onf
  13. 13. • 今の認証・認可システム大丈夫? • AzureAD を試してみましょう • Java の認証・認可プログラム • サーバ認証モジュールの作成方法 • まとめ
  14. 14. • 今の認証・認可システム大丈夫? • AzureAD を試してみましょう • Java の認証・認可プログラム • サーバ認証モジュールの作成方法 • まとめ
  15. 15. Java EE : JSR-196 JASPIC (Java Authentication SPI for Containers)
  16. 16. ※ Java EE のセキュリティ・モデルに未対応
  17. 17. Subject LoginContext LoginModule PrincipalPrincipal
  18. 18. Java EE セキュリティ・モデルに未対応 @RolesAllowed(“admin”) @PermitAll @DenyAll
  19. 19. Java EE : JSR-196 JASPIC (Java Authentication SPI for Containers)
  20. 20. Java EE : JSR-196 JASPIC (Java Authentication SPI for Containers)
  21. 21. Java EE : JSR-196 JASPIC & JAAS (Java Authentication SPI for Containers) LoginModule LoginModule Bridge (CHAPTER 6)
  22. 22. Java EE : JSR-196 JASPIC & JAAS (Java Authentication SPI for Containers) LoginModule
  23. 23. javax.security.auth.message.module.ServerAuthModule <<interface>> ServerAuthModule + initialize + validateRequest + secureResponse + cleanSubjectget + SupportedMessageTypes
  24. 24. Web App validate メソッド内で実装
  25. 25. https://github.com/AzureAD/azure-activedirectory-library-for-java
  26. 26. https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/users-operations https://msdn.microsoft.com/Library/Azure/Ad/Graph/api/groups-operations
  27. 27. • 今の認証・認可システム大丈夫? • AzureAD を試してみましょう • Java の認証・認可プログラム • サーバ認証モジュールの作成方法 • まとめ
  28. 28. オンプレのADと同期 クラウドから オンプレの AD管理機能 シングル・サインオン
  29. 29. 仮装マシン(DAS) 仮装マシン(DAS) JP WEST Region JP EAST Region Traffic Manager (DNS Base) (lb-west) (lb-east) 管理サーバ管理サーバ

×