AD FS サーバーのセットアップのために知っておくべきオプションと設定項目があります。
Microsoft の Active Directory は、フェデレーテッド ID とアクセス管理は Active Directoryフェデレーションサービス(AD FS) によって有効にされ、インターネットに直接接続するアプリケーションへのシングルサインオン機能の使用を有効にするためによく使用されます。このブログは、AD FS サーバーをセットアップするためのプロセスすべてを説明するものではなく、このサービスの使用方法、設計上の考慮事項、そして適切に設定するためのポイントなどを説明するものです。
Windows Server 2012 以前は、多くの場合、専用の AD FS サーバーを作成する必要がありました。シンプルなデプロイメントの場合、ドメインコントローラ上での共存が推奨されていない Web サービスがデフォルトで有効になるよう設定されているケースが一般的だったことが主な理由です。現在は、ユーザーが1,000人以下の場合は、ドメインコントローラに AD FS をインストールしても問題ないとされています。
実際のインストールプロセス自体は、一般的な IT 知識があれば、それほど複雑ではありません。AD FS を設定する際に複雑だと感じられるのは、Relying Party Trust(証明書利用者信頼)と要求プロバイダー設定が複雑だからです。
従来 SAML 認証ワークフローに使用されてきた AD FS に関してはいくつかのオプションがあります。AD FS の最新バージョンは、Azure が提供する完全な多要素フローもサポートしています。
クラウド中心の組織、特に Office 365 ユーザーの場合は、AD FS のような従来のオンプレミスソリューションはそれほど必要ないかもしれませんが、AD FS はAzure AD と連携できます。Azure AD を使用する場合の設定はシンプルで、簡単に Azure AD ソリューションのスケーラビリティと管理を活用できます。
ただし、シンプルということは、管理オプションが十分でないことを意味します。認証シナリオが複雑な場合、より多くのことが AD FS サーバーでできます。 したがって、組織のニーズによっては、AD FS サーバーが依然として最適なソリューションということになるかもしれません。
AD FS 設定時におけるいくつかの一般的な問題は、ある程度の知識があれば回避でき、スムーズにインストールすることができます。
AD FS サーバーを認証して信頼できることを確認するのに使用できる SSL 証明書の作成を有効にするために、Active Directory 環境向けに設定されている認証局を持っていることが推奨されます。
AD FS のインストール時には、SSL 証明書が必要になります。そのためには、AD FS が効果的に機能するように DNS が正しく設定されていることを確認する必要があります。証明書を作成するときに、次の代替 DNS 名を追加します。
AD FS サーバーをインストールするときは、そのサービスを実行するようにアカウントを設定する必要があります。従来のサービスアカウントは sMSA(standalone Managed Service Account、スタンドアロンの管理されたサービスアカウント)方式を使用しますが、新しい Active Directory サービスでは、gMSA(group Managed Service Account、グループの管理されたサービスアカウント)を使用するのが最適です。主な違いは、Windows オペレーティングシステムがアカウントのパスワードを管理することです。AD FS で機能するようにするためには、まず KDS ルートキーを追加する必要があります。インストールプロセスでの非ブロック警告が回避するため、PowerShell 管理プロンプトを使用して次のコードを実行し、インストールの10時間前に KDS ルートキーを生成します。
Add-KdsRootKey -EffectiveTime ((Get-Date).AddHours(-10))
KDS ルートキーを追加した後、AD FS サービスの管理に使用する gMSA アカウントを作成する必要があります。これは、以下に示すように、PowerShell を使用して行うのが最適です。ServerPrincipalNames として http://win2019server.ad.test.local が設定されていますが、これは、ドメインに参加しているクライアントと AD FS の間の Kerberos 認証を有効にするためです。
$Name = 'sa_adfs'
$Params = @{
"Name" = $Name
"DNSHostName" = 'win2019server.ad.test.local'
"PrincipalsAllowedToRetrieveManagedPassword" = 'win2019server$'
"ServicePrincipalNames" = 'http/win2019server.ad.test.local'
}
New-ADServiceAccount @Params
Install-ADServiceAccount -Identity $Name
Add-ADComputerServiceAccount -Identity 'win2019server' -ServiceAccount $Name
Install-ADServiceAccount の実行中にアクセス拒否エラーが発生した場合は、サーバーを再起動する必要があります。
IdP Initiated サインオンページは、AD FS サーバーを設定するときに見逃されがちですが、これを必要とする可能性のあるアプリケーションもあり、トラブルシューティングにも役立ちます。PowerShell を使って簡単に有効化できます。
Set-ADFSProperties -EnableIdPInitiatedSignonPage $True
適切なメタデータが返されていることを確認する最も簡単な方法は、AD FS サーバーの FQDN を使用するように更新された次の URL を使用することです。
https://{FQDN of AD FS Server}/adfs/fs/federationserverservice.asmx
このブログでは、AD FS の設定に関して少しだけ説明したにすぎません。それでも、よくある見落としなど、多少のヒントが役立つことを願っています。Azure AD を使用している場合は、Azure Portal から設定できる、AD FS サーバーを必要としない認証プロセスがありますが、AD SF サーバーをセットアップすれば、より複雑な認証ワークフローやオンプレミスの Active Directory 環境に適切に対処することができます。
Adam Bertram is a 20-year veteran of IT. He’s currently an automation engineer, blogger, independent consultant, freelance writer, author, and trainer. Adam focuses on DevOps, system management, and automation technologies as well as various cloud platforms. He is a Microsoft Cloud and Datacenter Management MVP and efficiency nerd that enjoys teaching others a better way to leverage automation.
より優れた業務アプリケーションやウェブサイトの開発に役立つ、ニュース、情報、チュートリアルをご案内します。