Azure Virtual Network Managerでセキュリティ管理

# はじめに
Azure Virtual Network Managerのセキュリティ管理者ルールを試してみました。

https://learn.microsoft.com/ja-jp/azure/virtual-network-manager/concept-security-admins

# Virtual Network Managerの設定
## Virtual Network Managerリソースの作成
Virtual Network Managerを新規作成していきます。
今回使う機能は`セキュリティ管理`です。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/6c2b403a-c43e-75dc-b244-a4696a4331fe.png)

スコープ対象のサブスクリプションを追加します。
複数選択可能です。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/325ea98e-7eeb-b996-6ea2-908c3ec525f5.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/52d04845-1cd1-9e68-88c1-4eb4e7e86740.png)

作成完了。

## ネットワークグループの作成
管理対象とするVNetをまとめるグループを作成します。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/64ba510c-7821-8b60-9c16-0c8cba0d752e.png)


作成したグループにメンバーのVNetを追加します。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/6308fd9f-c838-9d36-d0b3-3b02a00ffe11.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/05ae9209-ac8f-10c8-9465-a9d817465ccd.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/0cf8edac-6b50-0221-e134-938be2840b05.png)


## 構成

リソース作成時にチェックした機能が選択できます。
今回はセキュリティ管理のみ選択。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/49b79a2d-19b4-df9a-74e1-6aebad6baa52.png)

機能を両方選択した場合はこのような感じです。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/191bf27e-d4f9-3b17-ae0f-aa707b2c440b.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/21a68367-d54e-8bf8-525c-913a218a7c80.png)

許可のみ設定可能とするかのオプション。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/ee857f63-238e-3a8c-fbdc-4dfbeadfbc44.png)

セキュリティルールもこの時点で設定できます。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/9018a3d8-61fb-aea7-0aab-57fc5eb6ec06.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/652d5f46-34cb-1d29-ee47-5ce856553f59.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/98ada255-b3ab-bd9f-df30-84b1739e301f.png)




`Create and start deployment`を選択します。
Virtual Network Managerの設定は変更しただけでは反映されず、デプロイまで行う必要があります。
反映が不要な場合は作成や更新だけしておくことも可能だと思います。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/b3d0de85-badd-b7a2-f4eb-cca4a9e9f838.png)

## デプロイ
デプロイする`セキュリティ管理者構成`と`リージョン`を選択します。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/11e3f2d2-7e06-8420-bae1-a80c88e67e22.png)

現状と更新後の比較を確認してデプロイします。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/2c0020d3-cfbe-ff23-76cf-e32b061c5044.png)

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/c492d08d-2972-b9c3-43c0-062ce6b14a58.png)


Virtual Network Manager管理のVNet、または所属しているVMを見ると管理者セキュリティ規則が反映されていることが確認出来ます。
![Connect02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/786c7297-5159-7ecd-7363-c9936764331c.png)



:::note warn
以下のサービスがVNetに含まれている場合、セキュリティ管理者ルールが適用されないため注意してください。
* Azure SQL Managed Instance
* Azure Databricks
:::



# 疎通確認

セキュリティ管理者ルールを`常に許可`で、NSGは拒否とした場合の確認をしてみます。

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/e1da9b35-675d-0992-750e-b39afa70b937.png)
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/7fec60b2-19c8-ada3-acb0-b63582877022.png)

アクセス出来ました。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/604991/43895612-573d-cd9a-1c63-612d672ecfea.png)


他のパターンも試してみます。
このような感じでした。

| No | セキュリティ管理者ルール | NSG | 疎通 |
|:-:|:-:|:-:|:-:|
| 1 | 常に許可  | 拒否 | OK |
| 2 | 許可  | 拒否| OK |
| 3 | 拒否  | 許可 | NG |

[公式ドキュメント][msdoc]に記載があるようにNSGと併用されている場合、セキュリティ管理者ルールが最初に評価されるようなので
同じ設定をした場合セキュリティ管理者ルールが優先されてます。

# おわりに
複数VNetのセキュリティルールを一括で設定出来るのはとても便利です。
ただし、NSGと併用する場合、設定箇所が増えるので管理は気を付ける必要がありそうです。


[msdoc]: https://learn.microsoft.com/ja-jp/azure/virtual-network-manager/concept-security-admins#how-security-admin-rules-and-network-security-groups-nsgs-are-evaluated