Top Banner
Microsoft Tech Summit 2017 本情報の内容(添付文書、リンク先などを含む)は、Microsoft Tech Summit 2017 開催日(2017 11 8-9 日)時点のものであり、予告なく変更される場合があります。
55

[Japan Tech summit 2017] SEC 009

Jan 21, 2018

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: [Japan Tech summit 2017] SEC 009

Microsoft Tech Summit 2017本情報の内容(添付文書、リンク先などを含む)は、Microsoft Tech Summit 2017 開催日(2017 年 11 月 8日 - 9 日)時点のものであり、予告なく変更される場合があります。

Page 2: [Japan Tech summit 2017] SEC 009

Azure AD を使用して、

ここを誰から、どう守るか?

Page 3: [Japan Tech summit 2017] SEC 009
Page 4: [Japan Tech summit 2017] SEC 009

PowerShell

https://testpsfunction.azurewebsites.net/api/HttpTriggerPowerShell1?code=

TvXkdY2WKsev/wFkpyik09RZosbMmNsAe0gg8G3Tpsb8uV28BodA4Q==

Functions Key

Page 5: [Japan Tech summit 2017] SEC 009
Page 6: [Japan Tech summit 2017] SEC 009

PowerShell

Page 7: [Japan Tech summit 2017] SEC 009

Multitenant 設定

PowerShell

Page 8: [Japan Tech summit 2017] SEC 009

➢Function Key

URL は外部から隠ぺい

Page 9: [Japan Tech summit 2017] SEC 009
Page 10: [Japan Tech summit 2017] SEC 009

今回のターゲット

Page 11: [Japan Tech summit 2017] SEC 009
Page 12: [Japan Tech summit 2017] SEC 009

B2C

Page 13: [Japan Tech summit 2017] SEC 009
Page 14: [Japan Tech summit 2017] SEC 009

API

Page 15: [Japan Tech summit 2017] SEC 009

APIAzure APIManagement

Application

Subscription Key

https://xxxxxxxxx.portal.azure-api.net/signin-aad

Page 16: [Japan Tech summit 2017] SEC 009
Page 17: [Japan Tech summit 2017] SEC 009

③ ユーザーIDやロールによって API に対する権限を変えたい

Page 18: [Japan Tech summit 2017] SEC 009

APIAzure APIManagement

Application

Page 19: [Japan Tech summit 2017] SEC 009

<tenant ID>

<tenant ID>

<tenant ID>

Page 20: [Japan Tech summit 2017] SEC 009

• validate-jwt : JWT を検証して操作を承認する

➢ RS256 署名アルゴリズム ー OpenID 構成エンドポイントからキーを受け取る

• 認証ポリシー

https://docs.microsoft.com/ja-jp/azure/api-management/api-management-policy-reference

Page 21: [Japan Tech summit 2017] SEC 009

<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>

Page 22: [Japan Tech summit 2017] SEC 009

・・・・

<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>・・・・

Page 23: [Japan Tech summit 2017] SEC 009

<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>

Page 24: [Japan Tech summit 2017] SEC 009
Page 25: [Japan Tech summit 2017] SEC 009

https://jwt.io/

OIDCトークンの場合は RS256を選択

Page 26: [Japan Tech summit 2017] SEC 009
Page 27: [Japan Tech summit 2017] SEC 009

IdPに応じた

プロトコルを実装

Page 28: [Japan Tech summit 2017] SEC 009

APIAzure APIManagement

Application

Page 29: [Japan Tech summit 2017] SEC 009

基本的に、プロトコルは意識しない

Page 30: [Japan Tech summit 2017] SEC 009

Weibo

QQ

WeChat

a

preview

preview

OIDC/OAuth2.0 で実装

Page 31: [Japan Tech summit 2017] SEC 009

Weibo

QQ

WeChat

a

preview

preview

Identity Experience Framework• SAML 2.0• OAuth 2.0• OIDC

Preview

Identity Experience Framework• SAML 2.0• OAuth 2.0• OIDC

Preview

Page 32: [Japan Tech summit 2017] SEC 009
Page 33: [Japan Tech summit 2017] SEC 009
Page 34: [Japan Tech summit 2017] SEC 009
Page 35: [Japan Tech summit 2017] SEC 009

c9687145-xxxx-xxxx-xxxxxxxxxxxx

Page 36: [Japan Tech summit 2017] SEC 009
Page 37: [Japan Tech summit 2017] SEC 009

.auth/login/aad/callback を追加

Page 38: [Japan Tech summit 2017] SEC 009
Page 39: [Japan Tech summit 2017] SEC 009
Page 40: [Japan Tech summit 2017] SEC 009
Page 41: [Japan Tech summit 2017] SEC 009

テナントID

控えておいた「アプリケーションID」を入力

https//sts.windwos.net/<テナントID>

Page 42: [Japan Tech summit 2017] SEC 009

https://testpsfunction.azurewebsites.net/api/HttpTriggerPo

werShell1?code=TvXkdY2WKsev/wFkpyik09RZosbMmNsAe

0gg8G3Tpsb8uV28BodA4Q==

Page 43: [Japan Tech summit 2017] SEC 009
Page 44: [Japan Tech summit 2017] SEC 009
Page 45: [Japan Tech summit 2017] SEC 009
Page 46: [Japan Tech summit 2017] SEC 009
Page 47: [Japan Tech summit 2017] SEC 009
Page 48: [Japan Tech summit 2017] SEC 009
Page 49: [Japan Tech summit 2017] SEC 009
Page 50: [Japan Tech summit 2017] SEC 009
Page 51: [Japan Tech summit 2017] SEC 009
Page 52: [Japan Tech summit 2017] SEC 009
Page 53: [Japan Tech summit 2017] SEC 009
Page 54: [Japan Tech summit 2017] SEC 009
Page 55: [Japan Tech summit 2017] SEC 009