1

一般的な3層Webアプリケーションでは、パブリックサブネットでWebサーバーを実行し、アプリケーション層はプライベートサブネットに存在します。 Azure WebアプリケーションとApiアプリケーションで同様のアーキテクチャを実行することは可能ですか?Azure Web Appsの3層Webアプリケーション

Azure Web AppでAsp.NET Core Web Appを実行し、Azure Api AppにAspNet Core Web Apiを展開してApiエンドポイントを非公開にして、Webアプリケーションだけと話すことができると思いますか? Google、Facebookなどのオプションがあります。認証プロバイダとしてAPIを非公開にするためにはどうしたらいいですか? D.

答えて

1

あなたは、分離のレベルが必要な場合

は、1(高価ではあるが)オプションは、Appサービス環境(ASE)です。ドキュメントへのリンク:https://docs.microsoft.com/en-us/azure/app-service-web/app-service-app-service-environment-intro

アプリケーションサービス環境が必要とするアプリケーションのワークロードに最適です:

  • 非常に高いスケール

  • 単離と安全なネットワークアクセス

デフォルトで公開するパブリック環境は、publicです。あなたのエンドポイントはどこにいても誰でもアクセスでき、フィルタリングを行うのはあなたのアプリに任されています。これは例えば次のようにして行うことができる。 Web.configの静的IPアドレスセキュリティ設定を使用します。その問題は、フロントエンドが通信に使用するIPアドレスを知ることができないということです。アウトバウンドトラフィックには複数の可能なアドレスがあり、それらは変更の可能性があります。あなたも、あなたの認証APIに設定する必要があります。もちろん、restricting IP security

あなたはここでIP制限の例を見ることができます。ドキュメントへのリンク:上に述べたとわずかな変種がAzureのウェブアプリとAzureのアピアプリ間でのAzure API管理ゲートウェイを導入することである@juunas何に沿って

+0

ありがとうございます。 ASEは私が探求してきたものです。私の質問では、API Apps(どちらもASEの一部)でフロントエンドをWeb AppsとApiにマッピングすることを指していました。次に、authN/Zオプションの1つを使用してAPIアプリケーションを保護します。 これは共通のパターンかどうかを理解したかったのです。または、Web AppとApi Appの間でプライベート通信を可能にする別のメカニズムがある場合。私はいくつかの古い投稿とチャネル9のビデオを見て、いくつかの機能を参照してください。 – user3573411

+0

申し訳ありませんが、ASEがプレミアムサービスであることを認識していませんでした。私はそれを見直します。ありがとう。 – user3573411

+0

私たちは主に認証と認可のためにAzure ADを使用しています。各コンポーネント(フロントエンド/ API)用のアプリケーションを作成し、呼び出すことができるものを指定するために必要な権限を与えます。それは1つの選択肢になります。 – juunas

1

。標準層のAPIゲートウェイでは、IPアドレスはfixedで、変更されず、Azure API App web.configのAPIゲートウェイアドレスをホワイトリストに使用することができます。

+0

APIアプリケーションでキーを使用してAPIを保護するオプションが提供されているかどうかは分かりますか。私はAPI GWがそれをしていると信じていますが、コストもそれほど増えています。 – user3573411

関連する問題