Help us understand the problem. What is going on with this article?

Azure AppService上のWordpressを、Azure Active Directoryで保護する

More than 1 year has passed since last update.

概要

AppService上に配置したWordpressの一部のURL(ログイン画面、他)をAzure Active Directoryで保護します。

前提

  • Azure AppServiceでWordpressを配置済み
  • Azure Active Diretoryの初期設定は済んでいる

やり方

認証プロバイダーの設定

  • AppServiceのブレードから設定したいアプリを選択し、「認証/承認」画面を開きます
  • 「App Service 認証」を「オン」にします
  • 「要求が認証されない場合に実行するアクション」は「匿名要求を許可する(操作不要)」を選択します(下の図では「Azure Active Directoryでのログイン」を選択してますが、間違いです)
  • すると次のブレードが表示されます

2018-03-07 (5).png

  • アクションを設定したら、「認証プロバイダー」の「Azure Active Directory」を選択します
  • 下の画像のように入力(アプリの作成欄は、適宜変更)

2018-03-07 (6).png

  • 「OK」ボタンを押下後、元のブレードに戻るので、「保存」ボタンを押下
  • これでAppServiceでAzure Active Directoryの認証を使うことができるようになります

設定したアプリにユーザーを追加

  • Azure Active Directoryのブレードを開く
  • メニューから「エンタープライズアプリケーション」を選択し、次のブレードを開きます

2018-03-07 (10).png

  • 「すべてのアプリケーション」を開くと、アプリ一覧が開くので、先ほど作成したものを探し、選択します
  • 次のブレードが開きます

2018-03-07 (11).png

  • 「ユーザーの追加」から、適宜追加します

2018-03-07 (12).png

AppServiceへの認証の設定

Kudu(高度なツール)から設定します。Kuduを開いたら、web.configがあるディレクトリまで移動し、authorization.jsonを新規作成します。内容は以下のようにします。かなり厳しくしているので、おそらく普通であれば/wp-login.php/wp-adminへの設定を行うだけで十分だと思います。

{
  "routes": [
    {
      "path_prefix": "/wp-login.php",
      "policies": {
        "unauthenticated_action": "RedirectToLoginPage"
      }
    },
    {
      "path_prefix": "/wp-admin",
      "policies": {
        "unauthenticated_action": "RejectWith404"
      }
    },
    {
      "path_prefix": "/wp-admin*",
      "policies": {
        "unauthenticated_action": "RejectWith404"
      }
    },
    {
      "path_prefix": "/wp-json",
      "policies": {
        "unauthenticated_action": "RejectWith404"
      }
    },
    {
      "path_prefix": "/wp-json/*",
      "policies": {
        "unauthenticated_action": "RejectWith404"
      }
    },
    {
      "path_prefix": "/xmlrpc.php",
      "policies": {
        "unauthenticated_action": "RejectWith404"
      }
    }
  ]
}

authorization.jsonに何を書くかは、以下のブログポスト(英語)が役に立ちます。
https://blogs.msdn.microsoft.com/appserviceteam/2016/11/17/url-authorization-rules/

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away