【初心者向け】ActiveDirectory とは？

法人系のIT環境に関わると避けては通れないシステム、そう! Active Directory ！でも仕様はなかなかのブラックボックスで、あまり情報がない...というか教えてくれる人がいない...たまたま良い記事&本を見つけたので、自分の研鑽もかねて記事にします。
本記事は運用や仕様の解説ではなく、Active Directory初心者向けに概念の理解の手助けを目的にしていますので、あしからず。

## Active Directory の概要
#### そもそもITにおけるディレクトとは？
どういう情報がどこにあるのか、その場所情報を示すための入れもの（例えば案内版や目次）のようなものです。
#### ディレクトリサービスとは？
ディレクトリ内にただ情報が入っているだけだと、どこに何があるが分かりづらくなります。そこでディレクトリ内の情報を整理して「○○はここにある」と教えてくれるのがディレクトリサービスです。
![スライド3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/08441c57-b662-0cb3-8270-57537fd24cac.png)


上記を踏まえてActiveDirectory （以下AD）をざっくり説明すると**windows Server で利用可能なユーザ、コンピュータ、共有フォルダなどの情報を管理するシステム**です。

Windows Server の機能の１つなので、UNIXサーバでは利用できません。
※クライアントとしてWindowsOS以外のデバイスがドメイン参加したり、OSSで似た機能を構築するとはできると思います。

#### サービスの構成
1口にActiveDirectoryと言っても実は以下の５つのサービスから構成されています。

- Active Directory ドメインサービス（ADDS）
- Active Directory ライトウェイトディレクトリサービス（ADLDS）
- Active Directory 証明書サービス（ADCS）
- Active Directory Rights Management サービス（ADRMS）
- Active Directory フェデレーションサービス（ADFS）

一般的にADと呼ばれる機能は**ADDS**の部分になります。一応それぞれのサービスは個別にインストールすることができます。またAD機能を利用する≒DNSサーバの機能が必要になるので、AD機能をインストールするとDNS機能も併せてインストールされます。

## オブジェクトとは?
ディレクトリサービス内の情報のこと。例えば以下のようなものがあります。
- ユーザオブジェクト・・・ユーザがログインするときの設定情報
- コンピュータアカウント（コンピュータオブジェクト）・・・ユーザが使うコンピュータの設定情報
- 共有フォルダ・・・コンピュータ上のファイル共有で使う

ユーザがコンピュータにログインするときには入力されたID,PWがユーザオブジェクトと一致するかを確認しています。
ADDSでは属性の近いオブジェクト一括りにしてグループにまとめて、管理する「組織単位（ＯＵ）」という機能があります。この機能を利用すれば、１つずつオブジェクトにいちいち設定をしなくてもまとめて設定できるようになります。
## ドメインとは？
ざっくりと **「ADDS で管理されている端末のまとまり（管理が及ぶ範囲）」** だと思ってください。
ADDSで管理する際に基本的な単位（＝コンピュータグループ単位）になります。
ちなみにADDSで管理されていない環境を **WorkGroup(ワークグループ）** と言います。


ADDSはDNSと統合されており、ドメイン名（corp.xxx.com等）はDNSで名前解決されてドメインコントローラ（何者かは後述）へルーティングされます。
コンピュータをドメインへ組み込む（ドメイン参加）させる際にはＮＩＣのプロパティのＤＮＳサーバをドメインコントローラにする必要があります。
Windows PCはドメイン参加すると以下の画像のように「サインイン先」がどのドメインかというのが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/ebb5521e-21d2-f485-593e-6c9e9b586a3d.png)
出典：https://ittrip.xyz/soft/windows/join-domain

ドメイン名は一般にはcorp.xxx.comやxxx.local という形式になることが多いです。よくあるxxx.comやxxx.jpをドメイン名に使うこともできますが、外部（インターネットアクセス）と区別するためにサブドメインや別のドメインを使うことが一般的です。
####  ドメインコントローラ（DC）とは？
ドメインの設定や変更を行うための設定が入ったサーバです。DCに設定を投入することで、ドメイン配下のコンピュータに対して、一斉に設定や変更を適用させます。以下の例では「◎✖▲のPWは[12345]」という設定をドメイン内のコンピュータに設定する例となります。

![DC_シングル構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/d75cdab4-da66-597a-88dd-58f5bbda8e66.png)


実際の企業環境ではＤＣが単独（シングル構成）だとＤＣのサーバが故障した際にドメイン配下の全コンピュータに影響が及ぶため、ＤＣをプライマリーとセカンダリーの2台で構築して、ＤＣ同士の設定を同期させておくことが一般的です。
２つDCを構築した場合、端末側のDNS設定の「次のDNSサーバを使う」の項目に各ＤＣのIPアドレスを登録しておきます。「優先DNS」、「代替DNS」の２つを登録しておけば優先DNS（=１つ目のDC）が故障して通信できなくなった場合には代替DNSを参照してくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/a456dd46-ccc8-ae50-8275-1a23714a8c52.png)
#### 操作マスター（FSMO）とは?
DCを複数構築している環境で、それぞれのDCから矛盾する設定を適応されてしまうと困ってしまいます。以下の例では「◎✖▲のPW」設定で矛盾する情報が登録されてしまうパターンです。
![スライド2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/19d1b352-6e74-974e-933d-738feae8582b.png)
そんなことにならないようにDC中で一番信頼する（優先する）DCを決めておききます。一番信頼する（優先する）DCのことを　**操作マスター（FSMO）**　と言います。


#### フォレストとは？
ドメインの集まり指します。[corp.xxx.com]やそのサブドメイン[AAA.corp.xxx.com]などのまとめてドメインフォレストと呼びます。[corp.xxx.com]は親ドメインであり、「フォレストルートドメイン」でもあります。
フォレスト、ドメイン、DC、OUの概念を図にすると以下のようになります。
![フォレスト概念.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/9f985175-cdc0-3deb-1a48-e8003eb74b0e.png)
フォレストルートドメインより下のドメインはサブドメインになります。

## ユーザプロファイルとコンピュータの関係
PCにログインする際にはユーザ名（ログインID）とログインPWを入力している方が多いと思います。よくよく考えると「ログインするだけならログインIDっていらなくね？」っとなりますが、実はPCの中にはユーザプロファイルというユーザ環境の設定表のようなものがあり、１つのPC内で複数のユーザプロファイルを作ることができるので、ログインIDというものが存在しています。ざっくりと「どのユーザの環境にログインしますか？=ログインID」で「そのユーザ環境に入るためのPWは？＝ログインPW」という形です。ユーザプロファイルはユーザの数だけ作成され、それぞれの環境は独立しています。一方でPC共通＝どのユーザプロファイルでも同じ設定になるものも存在しています。
![スライド5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/bd697cc0-d433-edfa-b6e4-48f74f3912ef.png)

WORKGROUP環境では、複数のユーザプロファイルが作成されていることは少なく、おそらく１つのユーザプロファイルで運用されていることが多いと思いますが、ドメイン環境だと複数のユーザプロファイルが作成されている環境が多いと思います。



## グループポリシーオブジェクト(GPO)とは？
ドメイン内のオブジェクトに対して、操作制限したり、アプリケーションの配布を行ったりする設定ポリシーのことです。PCのレジストリーの設定表の集まりみたいなイメージです。GPOの適用はOU単位で設定可能で、上位のOUに適用した場合、設定は下位のOUにも引き継がれます。上位と下位で矛盾する設定を行った場合は下位で設定したGPOが優先されます。
上位とは別のGPOを下位OUに追加で設定することも可能です。
![スライド8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/19c099fa-de94-e419-da20-0bcbca4068b1.png)



GPOを適用するのは基本的には「コンピュータオブジェクトのOU」か、「ユーザオブジェクトのOU」になります。どちらのOUにGPOを割り当てるのかは、どの部分を制御したいのか（「User Profile」か「PCの設定」）によって変わってきます。
![スライド7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/5b436397-97ff-0f2d-3bb4-03ccd5fb80af.png)

![スライド6.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/655033/39a381f9-1455-57a6-0e4e-72db14f20064.png)

「PCの設定」に関するGPOをユーザオブジェクトのOUに適用しても、制限出来ないので、どのOUに、どのGPOを適用するのかはきちんと確認しましょう！

### 2023年5月追記
Part2の記事も書きましたのでご参考までに
[Active Directoryとは? part2](https://qiita.com/u-bayashi/items/060505750d358b57b586)

## 参考にしたサイトおよび書籍
[ひと目でわかるActive Directory Windows Server 2019版](https://www.amazon.co.jp/%E3%81%B2%E3%81%A8%E7%9B%AE%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8BActive-Directory-Windows-Server-2019%E7%89%88/dp/4822253880)
[今さら聞けない! Active Directoryドメインサービス入門](https://www.slideshare.net/yokoyamatetsuya/active-directory-155996027)

## 終わりに
Active Directory は奥が深く、実運用環境がないと理解が難しいジャンルだと思います。しかも全然初心者向けの情報がない(´・ω・｀)
AD運用方法や設定方法は社内担当内で先輩から後輩に一子相伝のように受け継がれているというのがほとんどの会社の実情のようです。現代の北斗神拳…それがActive Directoryなのですd(`・ω・’)
時間があれば、「ADでこんな設定もできるよ！」的な記事も書こうと思いますが、まぁ本記事のプレビュー数、LGMT数次第ですね...