打开命令提示符并进入 OpenSSL 安装目录,然后按照以下步骤操作。
假设 Open SSL 安装在 C:\OpenSSL-Win64 目录中,则步骤如下:
- cd C:\OpenSSL-Win64\bin
- set OPENSSL_CONF=C:\OpenSSL-Win64\bin\openssl.cfg
- OpenSSL req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
- 填写命令要求输入的详细信息,如国家、城市、机构名称
- 对于 "通用名称 "或 "主题",请提供 AD FS 机器的 FQDN,例如 adfs.yourdomain.com
- 如果要将 AD FS 暴露到外部互联网,请使用要暴露的 FQDN(如 adfs.zillum.com)
- OpenSSL pkcs12 -export -out Server.pfx -inkey privateKey.key -in certificate.crt
- 证书(Server.pfx)将在运行命令的同一文件夹中生成(例如,C:\OpenSSL-Win64\bin)。
现在,点击 "导入 "按钮并选择使用上述命令创建的 "Server.pfx "文件
运行 Powershell 脚本
- 下载 adfsscript_2012_r2.txt,并将其保存在 AD FS 安装系统的 C 驱动器中(C:\)。
- 解压缩文件夹。
- 打开 "命令提示符"("以管理员身份运行)
- 运行以下命令将脚本重命名为 adfsscript_2012_r2.ps1
- move C:\adfsscript_2012_r2.txt C:\adfsscript_2012_r2.ps1
- 输入以下指令 :
- PowerShell
- Set-ExecutionPolicy Unrestricted
- C:\adfsscript_2012_r2.ps1 <Your Organization ID>
- 确保 PowerShell 脚本成功运行。运行脚本时遇到的任何错误都将以 "红色 "打印在控制台中。
- 如果由于域策略的原因无法将执行策略设置为 "不受限制",则可能需要在域控制器中设置相同的策略。请参阅此处,了解如何在域控制器中设置或绕过执行策略:
组织 ID (ORG ID) 列于 ESM目录>> 组织明细下。
在SDP Cloud中配置SAML
- 进入 SDP cloud中的 ESM 目录--> SAML 身份验证页面
- 将登录 URL 配置为 https://adfs.yourdomain.com/adfs/ls [ 使用生成证书时使用的 fqdn ]。
- 注销 URL 为 https://adfs.yourdomain.com/adfs/ls/idpinitiatedsignon?SingleSignOut=SingleSignOut
- 证书将保存在 C:\certificate.cer。浏览并选择
- 算法为 RSA
- 保存设置
启动 AD / SAML 身份验证
要启动 SAML 身份验证,必须使用在 SDP Cloud 的 ESM 目录 --> ESM 门户设置中配置的自定义域或子域(例如 helpdesk.zillum.com(或)zillum.sdpondemand.manageengine.com)。
用户将被重定向到 AD FS 身份验证页面。
退出登录
SDP Cloud目前不支持 SAML 注销。请关闭浏览器或打开新的无痕浏览页进行新会话
登录问题故障排除
对于 AD FS 3.0,请确保 AD FS 服务的登录账户的 "servicePrincipalName "属性值正确。
检查以下内容
- 在 AD FS 机器中,转到管理工具---> Windows 服务
- 右键点击活动目录联合服务(AD FS)服务并转到登录选项卡
- 记下在登录选项卡中配置的账户
- 现在,进入活动目录计算机
- 运行 "adsiedit.msc"(如果未显示 AD 对象,请点击 "操作"-->"连接 "并连接到 AD)
- 找到在步骤 3 中看到的账户(AD FS 服务的登录账户)
- 右键点击账户并转到属性
- 在属性列表中,确保 "servicePrincipalName "属性的值为 HTTP/ADFS_Service_Name。例如,如果您的联合服务名称是 adfs.zillum.com,那么请确保 "servicePrincipalName "属性中的值是 http/adfs.zillum.com。
- 重新启动 AD FS 服务,然后尝试身份验证
要成功登录,必须确保以下事项
- Active Directory 必须包含用户的电子邮件地址。要检查这一点,请转到 Active Directory 用户和计算机。右键点击用户并点击属性。用户的电子邮件地址必须出现在电子邮件字段中。
- 用户必须已作为请求者导入 SDP Cloud
- 该用户在 Zoho / SDP Cloud 中的电子邮件地址和活动目录中的电子邮件地址必须相同
- 组织 ID 必须在运行 adfsscript PowerShell 脚本时正确给出。组织 ID 列于 ESM 目录 >> 组织详细信息。
- 确保以下 4 项内容具有相同的 FQDN:(1) AD FS 管理控制台中的 "Federation Service Name" (2) SDP Cloud 中配置的登录/注销 URL (3) SSL 证书的通用名称/主题 (4) Active Directory 中 AD FS 服务登录账户的 servicePrincipalName
- 例如,如果登录 URL 为 "https://adfs.zillum.com/adfs/ls",则
- 联合服务名称必须是:adfs.zillum.com
- SSL 证书的通用名称/主题必须是:adfs.zillum.com
- servicePrincipalName 属性值必须包含:http/adfs.zillum.com
- 如果变更联合服务名称,则需要重新启动 AD FS 2.0 Windows 服务
- 确保 PowerShell 脚本成功运行。运行脚本时遇到的任何错误都将以 "红色 "显示在控制台中。
进一步的故障排除
有关进一步的故障排除信息,请参阅此处:http://help.sdpondemand.com/ad-integration-single-sign-on-issues
禁用 SAML 身份验证
1) 组织管理员(通常是首次注册 SDP Cloud的用户)可通过访问 sdpondemand.manageengine.com,而不是自定义域来登录我们的服务。在登录页面,可以使用常用的 SDP Cloud 凭证代替 AD 凭证。登录后,转到 ESM目录--> SAML 验证页面并删除配置。这将禁用 SAML 身份验证。
2) 使用供应应用程序导入用户时,应用程序不会从 AD 导入任何密码。因此导入的用户在 SDP Cloud 中不会有任何与之关联的密码。如果您打算禁用 SAML 身份验证并使用 SDP Cloud身份验证,他们将需要密码才能登录。因此,他们必须点击登录页面上的 "忘记密码 "链接,以收到一封生成新密码的邮件。
验证外部用户
要使 SAML 身份验证在互联网上的任何地方都能正常工作,需要执行以下 2 个步骤:
1) 通过以下任一步骤,允许从互联网访问 AD FS 计算机的 443 端口
- 安装 AD FS 代理: 您可以安装 AD FS 代理,通过它可以访问 AD FS 机器的 443 端口。AD FS 代理需要安装在 DMZ 中,并且必须能访问互联网。需要在外部 DNS(如 adfs.zillum.com)中添加一个指向 AD FS 代理外部 IP 的条目。 有关安装和配置 AD FS 代理的更多详情,请参阅此处: https://nolabnoparty.com/en/adfs-3-0-install-wap-server-pt-4/
- 或者,允许 AD FS 机器的 443 端口从互联网访问(通过添加 NAT 条目或其他方式)。为此,您需要在外部 DNS 服务器中添加一个条目(如 adfs.zillum.com)。请注意,AD FS 无需安装在域控制器上。您可以在任何 Windows 2008 系统上安装 AD FS,只需将 AD FS 系统加入域即可。这样,您的域控制器系统就不会暴露在互联网上。只允许访问端口 443。