インフラ業務未経験者がAzureADを整備をしようとしたらドハマりした話

# 概要
ある日、弊社の社長より
**「Microsoft for Startupsに採択された。社員も増えてきたので、これを機に社内インフラを整備しよう！」**
と社内インフラ整備業務を任せてもらいました。

意気揚々と取り掛かってみたものの、インフラ畑でない私にとってAzureAD周りの整備はハマりポイントの宝庫でした。
基本的なことばかりではあると思うのですが、私自身が知らなかったことも多くあったため、備忘録として残しておきます。
時系列に沿っているため、体系的にまとまった内容ではありません。ご了承ください。

# 前提条件
私：エンジニア兼データアナリスト。
テナントやサブスクリプション、AD等の用語レベルは理解しているが、インフラ業務は未経験で実務レベルの知識やノウハウはほぼなし。

社内：インフラエンジニア不在。現状のMicrosoftのADやアカウント管理状況は不明。

# 状況整理
Office等、少なからずMicrosoftのサービスを現状でも使用していることがわかっていたため、まずは現状整理が必要と判断しました。

## 社内ヒアリング
関係者複数名にヒアリングをしてみたところ、人により利用状況が異なることが見えてきました。

- Aさん：社内で既に利用しているMS365ライセンスの購買管理をしている。
「Office用にMS365を契約している」
「会社ドメインのアドレスでなく、onmicrosoft.com のアドレスにライセンスが割り当たっている」

- Bさん：OfficeとPowerBIを利用している
「Aさんが購入したMS365とは別に、会社ドメインのアドレスを使って個人でMS365を契約している」
「Office,PowerBIともに会社ドメインのアドレスのアカウントで使っている」

- Cさん：OfficeとPowerBIを利用している
「Officeはonmirosoft.com のアドレスのアカウントを使っている」
「PowerBIは会社ドメインのアドレスのアカウントで使っている」

- 私：会社ドメインのAzure管理者用のアカウントでAzureを利用
上記アカウントとは別に自身の会社ドメインアカウントでのサインインを確認。そのアカウントでMicrosoftサービスにサインインできる模様。

## ここまででわかったこと
- onmicrosoft.comというアドレスで管理されているものがあるらしい
- onmicrosoft.comと会社ドメインの2つの形態のアドレスが共存したような状態になっているっぽい
- メンバによってアカウントの使い方がバラバラなので、整備段階で統一する必要がありそう
- テナントがどういう管理状況になっているのが未だにわからん
- 自身でアカウント作成した記憶がないにも関わらず、私が会社ドメインのアカウントでMicrosoftにサインインできることに気が付く

この時点ではよくわからんけどこんな感じなのかな、と推測。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/244394/92d100f4-838a-4ff3-a269-21c33987f06d.png)


ただ、現状では細かいところがよくわからないので、ググったりMicrosoftさんのサポートを活用してもう少し情報収集。

## Microsoftのアカウント体系とMS365サービスについて

- Microsoftアカウント(個人アカウント)と組織アカウントの2種類存在する
[こちら](https://cloud.ebisuda.com/%E5%80%8B%E4%BA%BA%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%A8%E7%B5%84%E7%B9%94%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88/)のサイトが理解に役立ちました。<br>

- MS365の契約も組織アカウント向けと個人アカウント向けの大きく分けて2種類ある
[Microsoft Office 全製品の比較](https://www.microsoft.com/ja-jp/microsoft-365/compare-all-microsoft-365-products?activetab=tab:primaryr2)を参照。

# 詳細状況確認
- Aさんにて管理しているMS365の管理者アカウントでのメンバ構成、ドメイン管理状況
- Bさんの個人管理のMS365アカウントおよびPowerBI利用時のアカウント
- CさんのPowerBI利用時のアカウント

をそれぞれ確認しました。

## 確認してわかったこと
前項の推測で描いた図は的外れもいいところで、実態はもっと複雑な状況でした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/244394/ff316d59-c766-6138-929d-2e14426a12b8.png)

ただ、上記のヒアリング内容を図と照らし合わせてみると納得でした。

> - Aさん：社内で既に利用しているMS365ライセンスの購買管理をしている。<br>
「社員用のMS365を複数ライセンス契約している」<br>
「会社ドメインのアドレスでなく、onmicrosoft.com のアドレスにライセンスが割り当たっている」

これはAzureAD①のこと。

> - Bさん：OfficeとPowerBIを利用している<br>
「Aさんが購入したMS365とは別に、会社ドメインのアドレスを使って個人でMS365を契約している」<br>
「Office,PowerBIともに会社ドメインのアドレスのアカウントで使っている」

これはMS365 Personal(契約時はSoloという名称だったようです)を契約していたということです。つまり図中では④のこと。
Office：④をMicrosoftアカウント(個人アカウント)として使っていた
PowerBI：AzureAD②に、組織アカウントとしてサインインしていた
と考えれば良さそう。

> - Cさん：OfficeとPowerBIを利用している<br>
「Officeはonmirosoft.com のアドレスのアカウントを使っている」<br>
「PowerBIは会社ドメインのアドレスのアカウントで使っている」<br>

Cさんの場合は
Office：AzureAD①
PowerBI：AzureAD②
という状況。

> - 私：会社ドメインのAzure管理者用のアカウントでAzureを利用<br>
上記アカウントとは別に自身の会社ドメインアカウントでのサインインを確認。そのアカウントでMicrosoftサービスにサインインできる模様。

AzureAD③はMicrosoftアカウント(個人アカウント)で立ててしまったために独立した状態になってしまいました(無知なことがバレバレでお恥ずかしい限り、、、)。
自身の会社ドメインのアカウントを作った記憶がないのにサインインできたのは、AzureAD②に既に会社ドメインが追加されているため、組織アカウントとして②の環境にサインインできたということですね。


# で、どういう状態にするのが正解？
私には正解が分からなかったので、Microsoftさんに相談をしながら、以下のようにすることにしました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/244394/82fcf120-ae3b-7027-c882-cf6a6a1140d4.png)

バラバラで管理されているものを1つのADに集約、という方針です。
すべてのアカウントを会社ドメインにして、onmicrosoft.comアカウントを廃止する方向も検討しましたが、ひとまず既存のonmicrosoft.comアカウントはいじらず、ADの統合管理だけに焦点を当てることにしました。
(個々のアカウント管理はアクセス制御だけ整備し、その他は段階的に進めていく方向で)

## 実施事項
上記構成の実現のために、以下のことを実施しました。

**1. PowerBI利用者に現状レポートのバックアップを取得してもらう**
異なるAD環境に移行するため、PowerBIサービスが真っ新の状態になります。
途方に暮れる事態にならないように発行済みのレポートのバックアップをB,Cさんにそれぞれ取得してもらい、移行後の環境で再度レポートを発行してもらう必要がありました(※1)。

**2. AzureAD②に既に追加されているカスタムドメインを削除し、①の環境へ追加**
複数のADに同じカスタムドメインは追加できないため、削除してから追加する必要がありました。
この際にDNSのレコード設定も併せて実施しました。

**3. AzureAD③のAzure管理者を、同アカウントの個人アカウントから組織アカウントへ権限譲渡**
AzureとMS365系はどうやら別物扱いらしく、別途権限譲渡の申請が必要でした。

**4. PowerBIレポートの再発行とその他サービスの動作確認**
PowerBIを利用者に対してレポートの再発行と動作確認を依頼、その他想定していなかったところで問題が発生していないかも各メンバに確認してもらいました。
一部メンバがTeamsも利用しており、そこに対するリカバリが必要になりましたが、それ以外には大きな問題は発生せずに1つのADに統合することができました。
BさんMS365 Personalは、Officeを使うこととさえできれば別途契約が必要である理由はない、とのことだったので、これを機に統合後の環境にて組織ライセンスとしてのライセンスを会社契約のものから付与し、そちらを使ってもらうことで④も廃止となりました

※1：今回の例の場合はPowerBI以外のサービスをほとんど利用していなかったためPowerBIのみの対応ですが、例えばTeamsやOneDrive等を利用している場合はこれらも対象になると思われるので、影響範囲が大きそう

# ポイント
- Office等AD整備前に既に利用しているサービスの利用状況を事前に把握しておく<br>
無意識のうちにADを複数抱えてしまい、管理の負担が増えてしまう可能性がある
- ドメインはなるべく統一する<br>
組織はITに詳しい人ばかりではありません。サインイン操作等で複数のドメインが登場して利用者が混乱してしまわないようにすることが望ましいです<br>
(弊社の場合はアカウントとしてonmicrosoft.comは残していますが、社内の利用者に対しては会社ドメインでの利用1本に統一しました)

# 終わりに
会社ドメインを用いてAzureADを管理するためには、アカウント体系やカスタムドメインに関する知識や状況把握が必要であることが実際に整備をしてみることでわかりました。
統合的な管理になることで表面上ではシンプルになった一方で、各メンバの用途に応じた権限制御も必要になってくるので、継続的に改善していきたいですね。