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.

[Japan Tech summit 2017] SEC 009

281 views

Published on

[Japan Tech summit 2017] SEC 009 セッション資料

Published in: Technology
  • Be the first to comment

[Japan Tech summit 2017] SEC 009

  1. 1. Microsoft Tech Summit 2017本情報の内容(添付文書、リンク先などを含む)は、Microsoft Tech Summit 2017 開催日(2017 年 11 月 8日 - 9 日)時点のものであり、予告なく変更される場合があります。
  2. 2. Azure AD を使用して、 ここを誰から、どう守るか?
  3. 3. PowerShell https://testpsfunction.azurewebsites.net/api/HttpTriggerPowerShell1?code= TvXkdY2WKsev/wFkpyik09RZosbMmNsAe0gg8G3Tpsb8uV28BodA4Q== Functions Key
  4. 4. PowerShell
  5. 5. Multitenant 設定 PowerShell
  6. 6. ➢Function Key URL は外部から隠ぺい
  7. 7. 今回のターゲット
  8. 8. B2C
  9. 9. API
  10. 10. APIAzure API Management Application Subscription Key https://xxxxxxxxx.portal.azure-api.net/signin-aad
  11. 11. ③ ユーザーIDやロールによって API に対する権限を変えたい
  12. 12. APIAzure API Management Application
  13. 13. <tenant ID> <tenant ID> <tenant ID>
  14. 14. • validate-jwt : JWT を検証して操作を承認する ➢ RS256 署名アルゴリズム ー OpenID 構成エンドポイントからキーを受け取る • 認証ポリシー https://docs.microsoft.com/ja-jp/azure/api-management/api-management-policy-reference
  15. 15. <policies> <inbound> <base /> <rewrite-uri template="/HttpTriggerPowerShell1?code=TvXkdY2WKsev/wFxxxxx==&amp;name={username}" /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies>
  16. 16. ・・・・ <inbound> <base /> <rewrite-uri template="/HttpTriggerPowerShell1?code=TvXkdY2WKsev/wFxxxxx==&amp;name={username}" /> <validate-jwt failed-validation-error-message="Unauthorized. Access token is missing or invalid." failed-validation-httpcode="401" header-name="Authorization"> <openid-config url=“https://login.microsoftonline.com/テナントURL/.well-known/openid-configuration" /> <audiences> <audience>チェックしたいアプリケーションのクライアントID</audience> </audiences> <required-claims> <claim name=“チェックしたいクレーム名" match="all"> <value>クレーム内の値</value> </claim> </required-claims> </validate-jwt> <inbound> ・・・・
  17. 17. <validate-jwt failed-validation-error-message="Unauthorized. Access token is missing or invalid." failed-validation-httpcode="401" header-name="Authorization"> <openid-config url="https://login.microsoftonline.com/pharaojp.onmicrosoft.com/.well-known/openid- configuration" /> <audiences> <audience>e55757f2-92ba-4422-8aa1-2ed25cbeece2</audience> </audiences> <required-claims> <claim name="name" match="all"> <value>admin</value> </claim> </required-claims> </validate-jwt>
  18. 18. https://jwt.io/ OIDCトークンの場 合は RS256を選択
  19. 19. IdPに応じた プロトコルを実装
  20. 20. APIAzure API Management Application
  21. 21. 基本的に、プロトコ ルは意識しない
  22. 22. Weibo QQ WeChat a preview preview OIDC/OAuth 2.0 で実装
  23. 23. Weibo QQ WeChat a preview Identity Experience Framework • SAML 2.0 • OAuth 2.0 • OIDC Preview Identity Experience Framework • SAML 2.0 • OAuth 2.0 • OIDC Preview
  24. 24. c9687145-xxxx-xxxx-xxxxxxxxxxxx
  25. 25. .auth/login/aad/callback を追加
  26. 26. テナントID 控えておいた「アプリケーションID」 を入力 https//sts.windwos.net/<テナントID>
  27. 27. https://testpsfunction.azurewebsites.net/api/HttpTriggerPo werShell1?code=TvXkdY2WKsev/wFkpyik09RZosbMmNsAe 0gg8G3Tpsb8uV28BodA4Q==

×