ADFSでO365にシングルサインオンしよう! Part1

Windows

今話題のお仕事が来ました!

Office365に自社のドメインアカウントでログインしたいとのご要望が多いこの頃。
更にシングルサインオン・WorkPlace Joinもしたい。

欲張りです!

ですが、便利なんですよねーこれが!

てことで、構築手順を書いていきます。
多分何回かに分かれると思い、Part1です。

今回は、ADFSの構築です!

構成は、こんな感じ

18

1、ADの構築

ADはあること前提で進めます。
省略・・・

2、ADFSの構築

▼1台目ADFSサーバー構築

サーバーをドメインに参加しておきます。

1) 「サーバーマネージャー」→「ダッシュボード」→「役割と機能の追加」

2) 「開始する前に」 次へ

3) 「インストールの種類」 次へ

4) 「サーバーの選択」 次へ

5) 「サーバーの役割」
「Active Directory Federation Services」を選択

6) 「機能」 次へ

7) 「確認」 次へ

8) インストール

9) グループ管理サービスアカウント(gMSA)の設定

今回は、グループ管理サービスアカウント(gMSA)を利用します。
gMSAとは、複数のサーバーで利用可能なサービスアカウントのことで、複数のサーバーで動かすサービスに共通のサービスアカウントを使いたいときに使用します。
また、通常のユーザーアカウントでは、パスワードを変更するとサービスが停止してしまいますが、gMSAはADが自動的にパスワードを変更しセキュリティを高めてくれます。
gMSAを利用しない場合は、この工程を飛ばします。
gMSAは、PowerShellで設定します。

PowerShellを実行するサーバーは、ADFSサーバーで行います。
また、Active Directoryモジュールを使用するので、機能のリモートサーバー管理ツールから、「Windows PowerShellのActive Directoryモジュール」を追加しておきます。

コマンドは、こちら。(管理者でPowerShellを起動します。)

Import-Module ActiveDirectory

Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))

New-ADServiceAccount -Name <サービスアカウント名> –DNSHostName

Set-ADServiceAccount -Identity <サービスアカウント名> -PrincipalsAllowedToRetrieveManagedPassword <ホスト名>$

Install-ADServiceAccount -Identity <サービスアカウント名>

-PrincipalsAllowedToRetrieveManagedPasswordでは、サービスアカウントを利用するサーバーを指定します。
ここで指定したサーバーが、サービスアカウントのパスワードを管理します。
ADFSサーバーを冗長するため複数構成にしている場合は、-PrincipalsAllowedToRetrieveManagedPassword ADFS1$,ADFS2$の様に指定します。

2台目以降は、Install-ADServiceAccount -Identity <サービスアカウント名>のみ実行します。

ADでは、「Managed Service Account」というOUが作成され、その中にgMSAがいます。

10) フェデレーションサービスの構成

インストール完了後、サーバーマネージャーの上部フラグに警告マークが表示されるのでクリックし、「このフェデレーションサービスの構成をします。」をクリックします。

2

11) 「Active Directory フェデレーションサービス構成ウィザード」

下部、「フェデレーションサーバーファームに最初のフェデレーションサーバーを作成します」を選択し、次へ。

12) 「AD DSへの接続」

ドメイン管理者のアカウントを選択します。

13) 「サービスのプロパティの指定」

SSL証明書・フェデレーションサービス名・フェデレーションサービスの表示名を設定します。
・SSL証明書

証明書をインポートします。利用できる証明書には制限がなく、ドメインを証明できるものであれば問題ないと。
ワイルドカード証明書も利用できます。

・フェデレーションサービス名

証明書をインポートすると、プルダウンで選択肢が表示されます。
「test.jp」という証明書をインポートすると、test.jpが選択肢に表示され、test.jpの前にadfsなど追記します。
ここの設定は、フェデレーション時のリダイレクトURLになります。

・フェデレーションサービスの表示名

認証サイトで表示されるサイト名の様な物。

それぞれ、例にならって入力します。

14) 「サービスアカウントの指定」

「既存のドメインユーザーアカウント」を利用して次に進みます。

15)  データベースの指定

今回は、Windows Internal Databaseを利用します。

16) オプションの確認

次へ

17) 前提条件の確認

すべての前提条件のチェックに合格したら、次へ行きます。

18) インストール

インストールします。

19) デバイス登録サービスの有効化

PowerShellを管理者で起動し、下記コマンドを実行します。

Initialize-ADDeviceRegistration  -ServiceAccountName   ドメイン¥サービスアカウント$

Enable-AdfsDeviceRegistration

 

▼2台目ADFSサーバー構築

1) グループ管理サービスアカウント(gMSA)をインストール

gMSAを使う場合、事前にインストールしておきます。

管理者でPowerShellを起動し、コマンドを実行します。

Install-ADServiceAccount -Identity <サービスアカウント名>

2) Active Directoryフェデレーションサービス構成ウィザード

機能の追加は、ADFS1と同じです。

構成ウィザードのようこそ画面では、「フェデレーションサーバーファームにフェデレーションサーバーを追加します」を選択します。

3) AD DSへの接続

フェデレーションサービス構成を実行するためのドメイン管理者を指定します。

4) ファームの指定

「Windows Internal Databaseを使用している既存のファーム内のプライマリフェデレーションサーバー」を選択し、プライマリフェデレーションサーバーを指定します。

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

サービスアカウントを指定して次へ

6) オプションの確認

次へ

7) 前提条件の確認

すべての前提条件のチェックに合格したら、次へ行きます。

8) インストール

インストールします。

9) デバイス登録サービスの有効化

PowerShellを管理者で起動し、下記コマンドを実行します。

Initialize-ADDeviceRegistration  -ServiceAccountName   ドメイン¥サービスアカウント$

Enable-AdfsDeviceRegistration

 

▼両サーバーでデバイス認証を有効にする

1) スタートから「ADFSの管理」を起動します。

2) 認証ポリシーのグローバル設定を編集します。

3) デバイス認証設定

「デバイス認証を有効にする」にチェックします。

 

これで、とりあえずADFSの設定は完了です。
次は、Windows NLBを構成し冗長化します。

コメント