Azure の App Service で基本認証を構成する

Azure の App Service で基本認証を構成する

さまざまな理由から、Azure's App Service静的ファイルを提供するために を使用しています。このアクセスを安全に保護したいのですが、Http Basic Authenticationこれで十分です。どうすればいいでしょうか? アップロードを試みました.htpasswdが、うまくいかないようです。

私は ASP.NET を使用していないので、コードでそれを実行する方法はありません。Azure のポータルでは、App Service -> 認証/承認の下に Google、Facebook、Twitter ログインなどのオプションが表示されますが、私にとっては大きなオーバーヘッドです。

答え1

現時点では、それは不可能です。Azure Web アプリはこれをサポートしていません。

これを確認してくださいフィードバック

答え2

Azure Web Appsの基本認証は、以下の設定で有効にすることができます。アプリケーションホスト.xdtWeb アプリの起動時に、このファイル内のいくつかのモジュールを読み込むことができます。

手順:

  • AzureポータルでWebAppに移動します
  • 左のメニューでヘッダーを検索開発ツール選ばれた高度なツール(クーズー)
  • 使用デバッグコンソール > CMDツールを使用して、WebApp ディレクトリに移動します。\ホーム\サイト
  • 次の名前のファイルを作成します:アプリケーションホスト.xdt
  • 以下を貼り付けます。
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <location path="%XDT_SITENAME%" xdt:Locator="Match(path)">
    <system.webServer>
      <rewrite xdt:Transform="InsertIfMissing">
        <allowedServerVariables xdt:Transform="InsertIfMissing">
          <add name="RESPONSE_WWW_AUTHENTICATE" xdt:Locator="Match(name)" xdt:Transform="InsertIfMissing" />
        </allowedServerVariables>
        <rules xdt:Transform="InsertIfMissing">
          <rule name="BasicAuthentication" stopProcessing="true" xdt:Transform="InsertIfMissing" xdt:Locator="Match(name)">
            <match url=".*" />
            <conditions>
              <add input="{HTTP_AUTHORIZATION}" pattern="^Basic dXNlcjpwYXNzd29yZA==" ignoreCase="false" negate="true" />
            </conditions>
            <action type="CustomResponse" statusCode="401" statusReason="Unauthorized" statusDescription="Unauthorized" />
            <serverVariables>
              <set name="RESPONSE_WWW_AUTHENTICATE" value="Basic realm=Project" />
            </serverVariables>
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
  </location>
</configuration>
  • 好みに応じて基本認証を変更します(この例ではデフォルトは「user:password」です)
  • web.configの書き換えルールに以下が含まれていないことを確認してください。<clear />これにより、applicationHost.xdtファイルからの影響が削除されます。
  • ファイルを保存し、WebAppを停止して起動します(簡単な再起動意思ない十分です)

ノート:

  • Linux ベースの Web アプリでこれが動作するかどうかはわかりません。
  • FTPを使用して、このステップをデプロイメントパイプラインに追加できます。
  • アップデート:セカンダリ Web アプリ スロットで applicationHost.xdt を使用しているときに問題が発生していることに気付きました。プライマリ スロットのみが機能しているようです。

答え3

関連情報