SAML 2.0 身份验证

SAML 2.0 身份验证

ServiceDesk Plus Cloud 支持 SAML 2.0,这有助于与联合身份管理解决方案集成,实现用户身份验证。ServiceDesk Plus Cloud 可充当 SAML 服务提供商(SP),并与 SAML 身份提供商(IdP)集成。集成包括向 IdP 提供有关 SP 的详细信息,反之亦然。将 ServiceDesk Plus 与 IdP 集成后,用户无需提供凭证即可从各自身份提供商的图形用户界面登录 ServiceDesk Plus Cloud。例如,您可以将 Active Directory 联合服务 (ADFS) 设置为 IdP,允许用户使用 Active Directory 凭证登录 ServiceDesk Plus Cloud。

SAML for ServiceDesk Plus cloud如何帮助您?

1) 利用 Active Directory 集成/LDAP 身份验证功能,帮助用户轻松、安全地访问 IT 服务台

2) 帮助 IT 部门集中验证用户身份并控制应用程序访问权限

3) 减少管理服务台用户的密码维护以及在安全上的开销

 


 

如何在 ManageEngine ServiceDesk Plus cloud中启用 SAML 身份验证?

组织管理员可以为其组织启用 SAML 身份验证。以下是启用 SAML 身份验证的步骤:

 

1. 域验证

您的企业可以根据业务需要,为各种 URL 和电子邮件地址使用多个域名。

例如,ACME 公司可以拥有并使用属于同一组织的 acmebuilders.com、acmeproperties.com、acmesecurities.com 等。您可以配置企业使用的所有此类域名,还可以通过 ServiceDesk Plus 验证您是否确实拥有这些域名。验证通过后,拥有这些域电子邮件 ID 的用户无需通过邀请和验证即可添加到 ServiceDesk Plus。

您可以在ESM 目录>已验证域中添加和验证您的域。
 

2. 子域(默认 URL)或自定义域(自定义 URL)配置

 

您可以使用自己的自定义域 URL(如 helpdesk.zylker.com)或 sdpondemand.manageengine.com 的子域访问 ServiceDesk Plus 云。


要执行 SAML 身份验证,必须配置子域或自定义域。可以从 ESM 目录>>ESM 门户进行配置。配置自定义域时,请确保添加了 CName 别名并指向 customer-sdpondemand.manageengine.com

 

通过访问ESM 目录>>ESM 门户配置默认 URL/自定义 URL。

3. 安装身份供应商

您可以在网络中安装符合 SAML 2.0 标准的身份供应商。所有身份验证请求都将转发给该身份供应商。身份供应商可以执行活动目录/LDAP/自定义身份验证,一旦用户通过身份验证,身份供应商就会将浏览器重定向到accounts.zoho.com。

我们已经用AD FS 2.0和AD FS 3.0作为身份供应商测试了SAML身份验证。

以下页面包含安装和配置活动目录联合服务的步骤

点击此处查看安装和配置 AD FS 3.0 的步骤。

如果您使用的是任何其他符合SAML 2.0标准的身份供应商:

从 Zoho 发送的身份验证请求可在此处找到。
预期的assertion响应请点击此处。

4. SAML配置

对于 SAML 身份验证,登录和注销请求将被重定向到网络中安装的身份供应商。您需要指定身份供应商的登录URL和注销URL,以便相应地重定向请求。 您还需要提供身份供应商的算法和公钥证书,以便Zoho/ManageEngine解密身份供应商发送的SAML响应。


SAML 可在 "组织目录"-->"SAML 身份验证 "中配置

完成上述所有步骤后,当贵公司用户使用配置的子域或自定义域(如 http://helpdesk.zylker.com)访问 ServiceDesk Plus Cloud服务时,他们将被重定向到安装在贵公司网络内的身份供应商处进行身份验证。一旦身份验证成功,他们将被重定向到 ServiceDesk Plus Cloud网站并登录。

配置 SAML 身份验证后,组织用户必须仅通过子域或自定义域访问 ServiceDesk Plus cloud。
 

SAML 身份验证请求

假设zylker.com 是已验证的域名,idp-w2k8 是安装了身份提供程序的系统。

<samlp:AuthnRequest xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="_abe4735eceae4bd49afdb3f254dc5ea01359616"
Version="2.0"
IssueInstant="2013-01-31T07:18:15.281Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
ProviderName="Zoho"
IsPassive="false"
Destination="https://idp-w2k8/adfs/ls"
AssertionConsumerServiceURL="https://accounts.zoho.com/samlresponse/zylker.com" >
<saml:Issuer>zoho.com</saml:Issuer>
<samlp:NameIDPolicy AllowCreate="true" />
</samlp:AuthnRequest>
 

SAML 响应预期

假设 zylker.com 是已验证域名,

Assertion消费者服务 URL 为:https://accounts.zoho.com/samlresponse/<your_verified_domain>。

例如:https://accounts.zoho.com/samlresponse/zylker.com

<?xml version="1.0" encoding="UTF-8"?> 
<samlp:Response ID="_38563ef5-2341-4826-94f2-290fca589a51"
Version="2.0"
IssueInstant="2013-01-31T07:19:18.219Z"
Destination="https://accounts.zoho.com/samlresponse/zylker.com

Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" 
InResponseTo="_abe4735eceae4bd49afdb3f254dc5ea01359616" 
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" > 
<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">http://idp-w2k8/adfs/services/trust</Issuer> 
<samlp:Status> 
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /> 
</samlp:Status> 
<Assertion ID="_c42ed101-0051-48ad-a678-8cb58dee03f6" 
IssueInstant="2013-01-31T07:19:18.219Z" 
Version="2.0" 
xmlns="urn:oasis:names:tc:SAML:2.0:assertion" >


<Issuer>http://idp-w2k8/adfs/services/trust</Issuer> 
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> 
<ds:SignedInfo> 
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> 
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> 
<ds:Reference URI="#_c42ed101-0051-48ad-a678-8cb58dee03f6"> 
<ds:Transforms> 
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> 
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> 
</ds:Transforms> 
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
<ds:DigestValue>wlE4Jf0Z8Z+2OyWE69RRH81atZ8=</ds:DigestValue> 
</ds:Reference> 
</ds:SignedInfo> 
<ds:SignatureValue>Y3izuExs6/EDebT9Q4U3qbL6Q==</ds:SignatureValue> 
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> 
<ds:X509Data> 
<ds:X509Certificate>MIIC7jCCAdagAwIBAgIQVsvKLeIHJYVEYQONFS3p3zANBgkqhkiG9w0BAQUFADAgMR4+zaLeWShiGw==</ds:X509Certificate> 
</ds:X509Data> 
</KeyInfo> 
</ds:Signature> 
<Subject> 
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">user1@zylker.com
</NameID> 
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> 
<SubjectConfirmationData InResponseTo="_abe4735eceae4bd49afdb3f254dc5ea01359616" 
NotOnOrAfter="2013-01-31T07:24:18.219Z" 
Recipient="https://accounts.zoho.com/samlresponse/zylker.com" /> 
</SubjectConfirmation> 
</Subject> 
<Conditions NotBefore="2013-01-31T07:17:18.203Z" 
NotOnOrAfter="2013-01-31T07:17:19.203Z" > 
<AudienceRestriction> 
<Audience>zoho.com</Audience> 
</AudienceRestriction> 
</Conditions> 
<AuthnStatement AuthnInstant="2013-01-31T07:19:18.110Z" 
SessionIndex="_c42ed101-0051-48ad-a678-8cb58dee03f6" > 
<AuthnContext> 
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef> 
</AuthnContext> 
</AuthnStatement> 
</Assertion> 
</samlp:Response>