O365にIPアドレス制限をかける

# はじめに
O365（最近Microsoft365に名称変更しましたが）の導入にあたり、セキュリティ対策を整理する中で、基本的なアクセス制限の一つを備忘と合わせてまとめました。

# 目的
O365を会社で導入する際に、オフィス外からアクセスして、社内の情報を取得できてしまう状況を防ぐ。
いわゆるセキュリティ対策における「外部対策」。（外部からの悪意のあるアクセスを防ぐという意味で）

# やること
O365サービスを特定のIPアドレス以外からはアクセスを不可にする。
（場合によっては特定のIPアドレス以外は2要素認証をかけるといったケースもありますが、シンプルにしました。）

# 前提
## プラン
- Microsoft 365 Business Standard
トライアルで利用できる。

## Azure Active Directory Premium P1もしくはP2
P2はトライアルで利用可能。

## O365の管理者であること
Microsoft365管理センターへアクセスできること。

# 設定手順
## Microsoft365管理センターへアクセス
管理のアイコンをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/1d732aae-a973-b07e-4d8f-a4ce240e4011.png)

## 左側のメニューからAzure Active Directoryを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/cb27c691-3e43-24d6-7cc1-c08f25507f1b.png)

## 出てきたメニューの中からセキュリティを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/a799d4a9-6020-fe44-e9f9-de4ef03a50c2.png)

## 出てきたメニューの中からネームドロケーションを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/5fc01c12-17c7-0f31-1119-35c32b195b1d.png)

## 新しい場所を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/d67c6b7f-ac5f-b858-38f4-09b9c7c50bba.png)

## 設定項目を入力する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/be4a00bf-76e7-abec-692d-ea56c5764a5d.png)


- 名前には適当な名前を
- 次を使用して場所を定義します では、「IP範囲」を選択
- 「信頼できる場所」にチェック
- 「IP範囲」に許可したいIPアドレスを入力(AAA.BBB.CCC.DDD/32)
- 「作成」ボタンを押す

場所が作成される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/1fa56f78-f146-b2e2-ad7f-1ff1a157cedb.png)



## AzureADのメニューの中からセキュリティを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/a799d4a9-6020-fe44-e9f9-de4ef03a50c2.png)

## 出てきたメニューの中から条件付きアクセスを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/96b61ee4-a453-e65b-3461-be42561081fa.png)


## 画面上部の新しいポリシーを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/99d33442-86c7-1804-2b5d-c04eeb32e9c3.png)

## 条件を入力
ポリシーの名前は任意。
:exclamation: IP制限設定を行うが、まずは限定された管理者以外のユーザのみに適用し、適切に設定できるか確認したうえで、全体に適用する。
ここで間違えた設定を行い、全体適用してしまうと致命的。

### 割り当てユーザの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/154eb36f-6f12-01f5-b6bb-8389ca0e56e0.png)

- ユーザとグループを選択
- 対象に「ユーザとグループ」を選択し、下に表示される「ユーザとグループ」にチェックを入れる
- ユーザの選択で管理者以外の個別ユーザを選択する（設定を確認するためのユーザ）
- 「選択」「完了」を押してユーザとグループの設定は完了

## 制御する操作を設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/efedf1db-a24d-8ca3-d36a-e4248ed67b76.png)

- 「クラウドアプリまたは操作」を選択
- 「すべてのクラウドアプリ」を選択
- 「完了」を押して設定完了

## 場所を設定
### 拒否する対象を選択（全ての場所を拒否にする設定）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/14c4e71f-bda9-f74f-115d-639ae47c1ad2.png)


- 「条件」を選択
- 「場所」を選択
- 「構成」ではいを選択
- 「対象」は「すべての場所」を選択（選択されている）

### 拒否する操作の対象外の設定（信頼できる場所を拒否の対象外とする）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/bafd4ef8-3b8e-e4ff-0ee4-ff72f02b1566.png)

- 「対象外」を選択
- 「すべての信頼できる場所」を選択
- 「完了」「完了」で場所の設定は完了

## アクセス制御を設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/25560d53-82a0-adcb-4038-f2804a0174bb.png)

- 「許可」を選択
- 「アクセスのブロック」を選択
- 「選択」を押してアクセス制御の設定が完了

## ポリシーをオンにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/c2a6fa65-813f-23fd-ccf2-fdfcee4ed065.png)

- ポリシーの有効化でオンを選択
- 「作成」を選択

ポリシーの作成が完了
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/2c72648f-bd71-cee3-c728-60f248db35f1.png)

## 挙動の確認をする
条件付きアクセスポリシーの対象ユーザでログインをしてみる。

### 場所で指定したIPアドレスからのアクセス
サインインできる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/2659b6d6-80dc-616a-9dfe-40da09d0d41d.png)

### 場所でしていしたIPアドレス以外からのアクセス
サインインできない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/39b06c72-0b12-76c7-3e51-8ff0c8657092.png)



## 条件付きアクセスポリシーの対象ユーザを変更する
挙動を確認し、指定したIPアドレスからアクセスできる、指定したIPアドレス以外からアクセスできないことを確認できたら、対象ユーザを広げる。（全ユーザなど）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75072/fb72f0c6-7510-1aa6-511e-1ed2a65669f9.png)

- ポリシー編集画面にアクセス
- 「ユーザとグループ」を選択
- 「すべてのユーザー」を選択
- 「完了」を選択
- 「保存」を選択

ポリシーが更新され、すべてのユーザーに適用される。ユーザを限定したい場合は、すべてのユーザではなく、個別のグループやユーザを指定する。

# 終わりに
今回はIPアドレス制限だけでしたが、MFA認証やアプリ指定など、指定できる条件はかなり選択肢があるので、様々なニーズに対応できそうだなと思いました。

参考
https://docs.microsoft.com/ja-jp/azure/active-directory/conditional-access/best-practices
https://docs.microsoft.com/ja-jp/azure/active-directory/conditional-access/howto-conditional-access-policy-location