4

現在、マルチテナントAngular SPAアプリケーションを開発しており、バックエンドの複数のWebAPIに接続し、各ADがテナントを表すAzureAD認証を使用します。Azure AD認証を使用してマルチテナントアプリケーションでテナントを制限する方法

マルチテナントに関するAzureのドキュメントは、ページ上の手順を実行した後に実行できるTailpsin.Surveysというサンプルアプリケーションを示しています。そのアプリケーションは私のシナリオと異なり、SPAのないWebアプリケーションです。

このwebAppでは、OpenId middlwareのセットアップ中にOpenIdConnectEventsの実装がパスされます。 その実装はTokenValidatedメソッドをオーバーライドし、前にサインアップを行っていないテナントをブロックします。

私は自分のアプリケーションでこれを達成しようとしていますが、それはそれぞれのWebAPIが常にテナントを検証するトークンの発行者クレームをチェックする必要があるということですか?

これは繰り返しのようなもので、パフォーマンスの問題につながる可能性があります。

Azureやその他のアプリケーションへのアクセスを定義されたテナントに制限する設定はありますか?

答えて

1

私の知る限り、Azure Active Directoryにはそのような設定はありません。 「テナンシー」に関するオプションは、マルチテナントまたはシングルテナントです。マルチテナントは、技術的にすべてのテナントがお客様のサービスのアクセストークンを取得できることを意味します。

具体的なシナリオでは、APIを呼び出すことが許可されているテナントのホワイトリストを保持し、トークンが正しいissuerまたはtidの主張を持っていることを確認したいと考えています。あなたはこのチェックがパフォーマンス上の問題であると考えていると言いますが、すでにaudの主張が正しいこと、そしてそのトークンがAzure ADによって署名されていることを確認しており、トークン内ののクレームを、追加の請求を確認しても実際にはかなりのオーバーヘッドが追加されることはありません。

関連する問題