2017-12-09 13 views
1

「同じ」紺碧のAADアクセストークンを使用して複数のWebAPISにアクセスする場合、オプションを評価しています。複数のリソースと同じAzure ADアクセストークン

Client -> webapi1 -> webapi2 

1) client authenticates against AAD and acquires token1 <br> 
2) client calls webapi1 with token1<br> 
3) webapi1 calls webapi2 with token1 

は、両方のは、同じ観客(「XXXX」)と権限を検証するように設定されているWEBAPIは、任意の合併症/セキュリティ上の問題が両方のAPIで同じトークンが活用しているとしましょう: はここに流れています。

ご了承ください。

+0

なぜあなたはこれをやりたいのですか?私はいくつかの理由を考えることができますが、あなたの推論は何か聞きたいです。 – juunas

+0

1つの理由は、webapi2に固有のトークンを取得するためにAADへの往復を回避することです。 – Chilu

+0

右、あなたはトークンをキャッシュすることができます:)うまくいけば、あなたはあまりにも早くも最適化していません。 – juunas

答えて

1

この場合、webapi1とwebapi2は、Azure ADに関する限り、基本的に同じAPIです。

このアプローチの1つは、APIに対する権限が多すぎる可能性があります。

API Aが組織内のすべてのユーザーのメールにアクセスする必要があるとします。今度はAPI BがAADの観点から見ても同じアプリだから、それは必要ではないが、この権利も得られる。

通常、私たちは最低限の特権の原則に従おうとしていますが、アプリのすべての部分に必要なアクセス権があり、それ以上はありません。同じ観客を再び使用することは、これに反する可能性があります。

もう一つの問題は、Aはまた、APIのB.

を呼び出すために権利を取得するAPIを呼び出すための権限を持つ別のアプリが、私は追加のトークンを取り出すの往復を避けるために、あなたの推論を理解することができますが、トークンをキャッシュすることができるということです。

関連する問題