【第3回】Azureで社内webシステムを再現｜ADFSを構成する


## はじめに

本記事は、「Azure で社内システムを再現する」シリーズの第3回です。  
Azure の IaaS を用いて、オンプレミス環境を模した構成を段階的に構築していきます。

構成図と処理フローの詳細は、以下の記事をご参照ください👇  
▶ [【第0回】Azureで社内webシステムを再現｜構成図と動作の流れ](https://qiita.com/saba_infra/items/a5e58ded68973e4551ee)

---

## システム構成（今回の対象範囲）
![ADFS_dousaのコピー (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/5cfe9cf1-bb47-4ebd-92dd-b2a53061f8fd.png)


この記事では、赤枠で囲っている AD-VM2の構成が対象です。
今回は、ADFS（Active Directory Federation Services）を構築し、IdP（Identity Provider）として動作させるところまでを扱います。  


- AD-VM2 に ADFS をインストールし、IdP として構成します  
- GMSA（グループマネージドサービスアカウント）と証明書の準備を行います  
- ADFS 構成ウィザードで初期設定を完了させます

---

## ADFSのインストール

まずは、AD-VM2 に、Active Directory Federation Services（AD FS）のロールを追加します

![　.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/27cf8b2f-9d2b-4704-9847-ae748c17a8cd.png)

---

## 構成前の準備（GMSAの作成）

ADFS の構成では、サービスの実行アカウントが必要になります。  
ここでは、グループ マネージド サービス アカウント（GMSA）を使用します。

GMSA を使用することで、ADFS サービスが自動的にパスワード管理された専用アカウントで実行されるようになり、手動によるパスワード設定や更新が不要になります。

GMSA のパスワードは Active Directory が自動で生成・管理します。  
ただし、GMSA を初めて使うときは、そのための準備として「KDSルートキー」を自分で作成する必要があります。

### KDSルートキーの作成
![スクリーンショット 2025-04-08 15.11.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/315b3f2c-2967-4c3b-9999-48447bf6c621.png)

```powershell
Add-KdsRootKey -EffectiveImmediately
```


### GMSAアカウントの作成
![スクリーンショット 2025-03-21 15.17.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/38a229a5-0201-4474-b692-0e1b99b44cb9.png)


```powershell
New-ADServiceAccount -Name "gmsa-adfs" -DNSHostName "ad-vm2.domain.local" -PrincipalsAllowedToRetrieveManagedPassword "AD-VM2$"
```

### GMSAの存在確認

Active Directory のサービスアカウント配下に、`gmsa-adfs` が登録されていることを確認します。

![スクリーンショット 2025-04-08 16.08.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/0990459f-154f-40c4-8515-e6998b932c76.png)


---

## 証明書のインストール

ADFS では、**HTTPS 通信の暗号化**や、**SAML トークンへの署名**に証明書が使用されます。  
そのため、構成を行う前に、ADFS 用の SSL 証明書を発行しておく必要があります。

---

### 証明書の要求とインポート

certlm（ローカルコンピュータ証明書）から証明書の要求を行います。

![スクリーンショット 2025-04-08 15.03.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/fc09b30f-3d12-4b43-be33-2b324436b66b.png)

証明書のプロパティで、**共通名（CN）と SAN（Subject Alternative Name）** を設定します。  
ここには、ADFS サーバーの FQDN（例：`adfs.domain.local`）を指定します。

![スクリーンショット 2025-04-08 15.07.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/68f1a0aa-bfc7-4e3e-96cb-c6f3b92c0731.png)

証明書の要求が完了すると、AD-VM2に証明書がインストールされます。

![スクリーンショット 2025-04-08 15.07.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/e025188b-f55c-4623-925c-cb06976851b9.png)

---

## ADFSの構成

構成ウィザードを起動し、ADFS の初期構成を行います。

### フェデレーション サーバーの構成を選択

「このサーバーを新しいフェデレーション サーバー ファームの最初のサーバーにする」を選択します。

![スクリーンショット 2025-04-08 15.09.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/1ad99327-1556-4604-90e0-9e50b8d1c6eb.png)

### サービスアカウントの指定

作成した GMSA（例：`gmsa-adfs`）を指定します。

![スクリーンショット 2025-04-08 15.13.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/607b8b1e-b599-40c2-9bc1-20e1d7dff7eb.png)

### 証明書の選択

構成に使用する証明書を選択します。  
ここでは、前の手順で発行した ADFS 用の証明書を指定します。

![スクリーンショット 2025-04-08 15.10.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/8d12260e-a465-465c-b15f-05f58911b36c.png)

### 構成の確認と実行

すべての設定を確認し、「構成」をクリックして初期設定を完了します。

![スクリーンショット 2025-04-08 15.14.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037248/62919221-f9a3-4900-bd4a-6364f69c2a39.png)

---