Azure Lighthouse と Azure Backup Centerでバックアップアイテムをクロステナント管理してみる

こんにちは、アーキテクトのやまぱんです。
今回は Azure BackupCenter を使ってテナントをまたがってAzure Backup のバックアップアイテムを管理してみたいと思います。いわゆるやってみた系です。

補足コメントや質問は是非お願いします🥺！
間違ってたら優しく教えてください！


# 前書き

## Azure Lighthouse とは
そもそも **LightHouse って "灯台" って意味です。**
 Azure 系のリソースってAzure VM とかだと名前から機能がわかりやすいですが、これは名前から機能が想像しにくいですね。（笑）

Azure Lighthouse は何ができるかというと、**テナントをまたいだ操作ができるようになります**。
似たような機能として、Microsoft Entra ID B2B (旧 Azure B2B) でユーザーを別テナントに招待すればそちらにログインして Azure リソースの操作できますが、Azure Lighthouse を使うとログインしなおさずにもっと統合的に利用することができます。

Microsoft Entra ID B2B (旧 Azure B2B) と Azure Lighthouse に関しては下記の記事が参考になるかと思います。

・Azure AD B2B vs Azure Lighthouse - Azure Lighthouse は何がすごいのか？

https://qiita.com/YoshiakiOi/items/0d855604cc00b078fc32


## Azure Backup Center とは
Recovery Services vaults (Recovery Services コンテナー) や Backup Vault (バックアップ コンテナー) のバックアップアイテムを一元的に管理するインターフェースです。

Azure Backup Center が無いとき
Azure Backup Center が無いときは、コンテナーリソース単位 (Recovery Services コンテナーやバックアップ コンテナー) バックアップアイテム　単位でしかバックアップアイテムを確認することができませんでした。

Azure Backup Centerが有るとき
Azure Backup Centerが有るときは、複数の Recovery Services コンテナーやバックアップ コンテナーをまとめて管理することができるようになります。
さらに Subscription やテナントをまたいで管理をすることも可能です！🦐
今回は**テナントをまたいだバックアップアイテムの管理**をやってみます。

Recovery Services コンテナー やバックアップ コンテナーについては以前こちらの記事を書いたので参考にしてもらえればと思います。

https://jpabrs-scem.github.io/blog/AzureBackupGeneral/RSV_BV/





早速、Azure Lighthouse と Azure Backup Center を使ってテナントをまたいだバックアップアイテムの管理をしていきましょう。

# やってみる
## 環境など
*一部伏字にしています。
+ 管理する方：サービスプロバイダー側
テナント名：**木ノ葉隠れの里**
Subscription ：XXXXXX-XXXX-Ext

+ 管理される方：顧客側
テナント名：**既定のディレクトリ**
Subscription ：Visual Studio Subscription 

## 今回つかう主なリソース
Azure Lighthouse
Azure Backup Center
Recovery Services コンテナー
バックアップ コンテナー
Azure VM バックアップ (既に構成済み)
Azure Disk Backup (既に構成済み)

## Azure Lighthouse を使う前の管理する側の Azure Backup Center
複数のコンテナーのバックアップアイテムが見えてるものの、対象の Subscription が１つしかでてないことが分かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/b0f8fb9f-b619-d3e2-80c4-be22299356ed.png)


## 手順
Azure Lighthouse を構成する方法はいくつかありますが、今回は Azure Portal を使って ARM Template を作り、Azure Lighthouse を構成します。
詳細は公式ドキュメントを見ていただければと思います。

### 1.管理する方でARM Template を作成

まずは Azure Lighthouse の画面に移動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/0f5e4881-c1c1-a1f2-d830-422397788969.png)

下記のような感じで設定してテンプレートを作成します。
> 委任されたスコープ：サブスクリプション
表示名：yamapanLightHouse
説明：yamapantest
権限を割り当てた管理する側のユーザー
表示名：yamapan
ロール：共同作成者

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/fc03ccec-5a1b-26b6-b568-3d2bb3788410.png)

表示されたテンプレートを [ダウンロード] して、ARM Template (template.json)をダウンロードしておきます。

なお、templateのサンプルは下記にあるので自分でカスタマイズして直接テンプレートを作ることも可能です。

https://github.com/Azure/Azure-Lighthouse-samples/

### 2. 管理される方で ARM Template を使ってデプロイ
まずサービスプロバイダーの画面にいきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/5436dac6-fd1a-575f-fb67-1263da1b0348.png)

管理する側の環境で作ったテンプレートをアップロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/6b4c1315-8cfb-b7cb-6d47-0651777f1f1b.png)

そのままデプロイします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/b9195238-09cf-8574-f8b0-a53f0f9cbaa7.png)

### 3.Azure Backup Centerを確認
別テナントの Subscription が確認できました！！
また別テナント、かつリージョンが違うバックアップアイテムも確認できてることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/545f846d-1aa5-fffe-771e-5fa82c0391eb.png)

## befor & after

### before 
これが
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/b0f8fb9f-b619-d3e2-80c4-be22299356ed.png)

### after 
こうです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2982508/545f846d-1aa5-fffe-771e-5fa82c0391eb.png)


## その他
また今回権限を付けてない管理する側のユーザー(管理する側の共同作成者ロールはあるユーザー) からは、別テナントのバックアップアイテムが無事想定通り確認できないことも確認しました。

# 参考

https://learn.microsoft.com/ja-jp/azure/backup/backup-center-support-matrix

https://learn.microsoft.com/ja-jp/azure/lighthouse/how-to/onboard-customer#create-an-azure-resource-manager-template

https://learn.microsoft.com/ja-jp/azure/lighthouse/overview

https://qiita.com/YoshiakiOi/items/0d855604cc00b078fc32

https://jpabrs-scem.github.io/blog/AzureBackupGeneral/RSV_BV/

https://jpazureid.github.io/blog/azure-active-directory/what-is-b2b/