ADFS 学习系列 (1) - Install ADFS on Windows Server 2016

最近被指派要将 ADFS 彻底摸透, 从最基本的 ADFS 安装, 到 ADFS 管理, OAuth 整合, ADFS 迁移与升级, ADFS 维运以及 Troubleshooting 等主题都要清楚, 因此我準备把学习的笔记记录下来, 作为参考文件.

第一的部分从建立单机版的 ADFS 步骤开始.

1. 环境準备

(1) 本範例以 Windows Server 2016 为安装 ADFS 的作业系统, 因此需要安装好 Windows Server 2016, 并且加入网域中

(2) 凭证: 可以使用公开凭证作为 ADFS 凭证使用, 也可以使用 CA Server 发行凭证 (本篇笔记以 CA Server 发行凭证为範例), 如果要使用 CA Server, 请确认企业内部有 Enterprise 凭证主机

2. 为 ADFS 準备凭证

ADFS 可以使用公开凭证(需要花钱购买), 也可以使用 CA Server 发行凭证, 以下步骤为 CA Server 与 ADFS Server 请求凭证的步骤

2.1 建立 ADFS Certificate Template

(1) 登入 CA Server, 从 Tool 中开启 Certification Authority 管理中心

http://img2.58codes.com/2024/201118715XGV3a5wgJ.png

(2) 在 CA 管理中心 Console 中选取 Certificate Templates 按右键, 选取 Manage

http://img2.58codes.com/2024/20111871xnOY3PNDHk.png

(3) 在凭证 Templates 中选取 Web Server 按右键, 选取 Duplicate Template

http://img2.58codes.com/2024/20111871ecE677Ch1W.png

(4) 开启属性视窗, 选取 General, 输入 ADFS Template 作为 Template 名称

http://img2.58codes.com/2024/20111871FUKquTF5H4.png

(5) 选取 Security 页籤, 新增 帐户选项

http://img2.58codes.com/2024/20111871KVPvOlHx9M.png

(6) 输入 Domain Computers 群组

http://img2.58codes.com/2024/201118710djHjgydwa.png

(7) 选取 Enroll 权限

http://img2.58codes.com/2024/20111871mitasbxDJi.png

(8) 选取 Request Handling 页籤, 勾选 Allow private key to be exported 选项允许汇出 Private key

http://img2.58codes.com/2024/20111871Gtyrd1eJHZ.png

(9) 完成后 ADFS Template 出现在列表中

http://img2.58codes.com/2024/201118711P7J6KEwsk.png

(10) 回到 CA 管理 Console, 选取 Certificate Templates 按右键, 选取 New, 并选取 Certificate Template to Issue

http://img2.58codes.com/2024/20111871UeRtvG51JU.png

(11) 选取 ADFS Template 进行启用

http://img2.58codes.com/2024/20111871rdnP4YMqGD.png

(12) ADFS Tempate 便完成在 CA Server 新增的作业

http://img2.58codes.com/2024/20111871NZA3r6byIC.png

2.2 申请 ADFS 凭证

(1) 登入 ADFS 主机, 开启命令提示视窗, 输入命令 certlm, 开启本机电脑凭证管理员

http://img2.58codes.com/2024/20111871HYnqNjAL8h.png

(2) 选取 Personal > Certificates 按右键, 选取 All Tasks, 再选取 Request New Certificate...

http://img2.58codes.com/2024/20111871stn0lrxaOW.png

(3) 根据设定精灵, 进行设置

http://img2.58codes.com/2024/20111871zQLFHTYyUQ.png

(4) 选取 Active Directory Enrollment Policy

http://img2.58codes.com/2024/20111871DHGCAHlBZT.png

(5) 选取 ADFS Template, 并点选 More information is required to enroll for this certificate. Click here to configure settings.

如果没有看到 ADFS Template 选项, 请先执行 GPUpdate /force, 或将 CA 跟凭证汇入 ADFS 主机 Trusted Root Authority

http://img2.58codes.com/2024/20111871Kt07mI9TuF.png

(6) 在凭证属性中, Subject name 栏位, 请选择 Common name Type, Alternative name 栏位, 请选择 DNS Type, 并且加入以下的设定值:

a. CN: adfs.yourdomain.com

b. DNS: adfsservername.yourdomain.com, adfs.yourdomain.com, enterpriseregistration.yourdomain.com, certauth.adfs.yourdomain.com

http://img2.58codes.com/2024/201118718mUgmaQapo.png

(7) 设定 ADFS certificate 为 Friendly name

http://img2.58codes.com/2024/20111871CR7hKuAmqN.png

(8) 选择 ADFS Template 并进行 Enroll

http://img2.58codes.com/2024/20111871C5u0NfsEr5.png

(9) Enroll 成功便完成凭证请求与安装

http://img2.58codes.com/2024/20111871RFEbm79G7k.png

(10) ADFS 凭证会出现在 Personal > Certificates 列表中

http://img2.58codes.com/2024/20111871k6F6r8q0o8.png

2.3 将 KDS Root Key 加入至 Group Managed Service Account

(1) 登入 AD Server, 开启 PowerShell, 使用以下指令新增 KDS Root Key 到 group managed service account

Add-KdsRootKey -EffectiveTime (Get-Date).AddHours(-10)

http://img2.58codes.com/2024/20111871JwthkpVbOJ.png

(2) 使用以下指令建立 group managed service account

New-ADServiceAccount FsGmsa -DNSHostName adfs.asabuludemo.com -ServicePrincipalNames http/adfs.asabuludemo.com

(3) 为 ADFS 设定 SPN, 指令如下:

setspn -s host/adfs.asabuludemo.com asabuludemo\FsGmsa$

http://img2.58codes.com/2024/20111871c56HyggJzf.png

2.4 在 DNS Server 加入 ADFS A record

在 DNS 主机上加入一笔 A Record 如下:

http://img2.58codes.com/2024/20111871GQfVIW5F2x.png

2.5 安装 ADFS

(1) 开启 Windows Add Roles and Features 精灵

http://img2.58codes.com/2024/20111871lJ17YQ4QHu.png

http://img2.58codes.com/2024/20111871Fy9RPiST0J.png

http://img2.58codes.com/2024/20111871tT7bi6NvJx.png

(2) 新增 Active Directory Federation Service

http://img2.58codes.com/2024/20111871IkkuZPX4Yk.png

http://img2.58codes.com/2024/20111871rDs0BXwccq.png

http://img2.58codes.com/2024/201118718IZIOpPmNC.png

http://img2.58codes.com/2024/20111871APdLl8cdxu.png

(3) 依照精灵安装完成后, 选取 Configure the federation service on this server 进行 ADFS 设定

http://img2.58codes.com/2024/20111871s5pUuZvU7W.png

2.6 设定 ADFS

(1) 开启 ADFS 设定精灵, 选取 Create the first feder ation seerver in a federation server farm

http://img2.58codes.com/2024/20111871P7Y89QuvuF.png

(2) 输入 AD domain administrator 帐户

http://img2.58codes.com/2024/201118716Lvdw8u7hZ.png

(3) 选取 ADFS 凭证(adfs.yourdomain.com), 服务名称 adfs.yourdomain.com, 以及 Federation 服务名称 (通常是组织名称)

http://img2.58codes.com/2024/20111871ndCVqXdqcU.png

(4) 在 服务帐户 设定, 选取 Use an existing domain user account or group Manageed Service Account, 选取前面建立的 group managed service account.

http://img2.58codes.com/2024/20111871WhaAtpl4pT.png

(5) 指定 SQL Server

http://img2.58codes.com/2024/20111871k47jsmhiWD.png

(6) 依照精灵步骤完成安装

http://img2.58codes.com/2024/20111871IwOdj0gZTs.png

http://img2.58codes.com/2024/201118719EJ5vmZHlm.png

http://img2.58codes.com/2024/20111871AZzdYb9fQm.png

(7) 安装完成后需要 重新启动 ADFS 主机

http://img2.58codes.com/2024/20111871F4CMv66zja.png

2.7 启用登入页面

重启 ADFS 主机后, 开启 PowerShell, 执行以下的指令, 启用登入页面

Set-AdfsProperties -EnableIdPInitiatedSignonPage $true

2.8 测试 ADFS 登入

(1) 开启 Browser, 输入以下的网址, 测试登入, 点选 Sign in Button

https://adfs.yourdomain.com/adfs/ls/idpinitiatedsignon.htm

http://img2.58codes.com/2024/20111871GQmP8bH1VI.png

(2) 输入帐号进行登入

http://img2.58codes.com/2024/20111871aBOyMjoPYq.png

(3) 登入完成后, 会看到 You are signed in. 讯息, 表示 ADFS 安装正确

http://img2.58codes.com/2024/20111871eDilziuuYJ.png


Reference

[Pluralsight] Implementing Windows Server 2016 Identity Federation and Access

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章