下图演示了在合作伙伴协作网站的默认区域中实现的多种类型的身份验证。
此图来自微软官网介绍。
从图中可以看出微软推荐Partner公司使用AD FS配置基于SAML的声明身份验证。可以理解为将AD FS为SharePoint 2013 Web Application的身份提供了程序安全令牌服务(IP-STS)。在此过程中,ADFS颁发由声明组成的基于SAML的安全令牌,以便客户端可以访问使用基于声明的身份验证的Web应用程序,以此实现跨域情况下,用户可以访问其他Domain下的SP WebSite。
那么,如何部署ADFS withSharePoint 2013的环境呢?
主要部署阶段为:
- 安装和配置ADFS Server
- 使用Web Application将AD FS配置为Relying Party Trust
- 将SharePoint 2013配置为将AD FS视为受信任的Identity Provider
- 将Web Application配置为将基于声明的身份验证和AD FS用作受信任的身份提供程序
第一阶段:安装和部署ADFSServer。
- 安装VM,操作系统为Windows Server 2012,Install AD DS Role,并部署Domain Controller,如下图所示:
- 安装AD CS Role,如下图所示:
- 配置AD CS Role,并重启VM,如下图所示:
- 安装AD FS Server,如下图所示:
- 配置ADFS Server,如下图所示:
注意:AD DS、AD CS以及AD FS三个ServerRole不可以同时安装,只能先安装AD DS->AD CS->AD FS顺序安装和配置,因为ADCS与AD DS不能同时安装,且只有部署完AD CS之后,再配置AD FS时,SSLCertificate才能够加载出来。
第二阶段:使用WebApplication将AD FS配置为RelyingParty Trust
- 打开AD FS Server,配置Relying Party Trust,如下图所示:
- 配置WS-Federation Passive Protocol URL: https://WebAppURL/_Trust, 如下图所示: 注意,此处一定是https协议,同时输入Web App URL后,后面应该写_trust,而非adfs/ls。
- 在部署Relying party trust identifier处输入:urn:sharepoint:webappname,如下图所示:
- 部署完Relying party trust后,部署Claim rule,选择Send LDAP Attributes as Claims为template,如下图所示:
- 选择Active Directory作为Attribute Store,配置LDAP以及Outgoing Claim Type,如下图所示:
- 选择Security Token Service的Certification,若Certificate Information显示is not trusted,那么点击Install Certificate,如下图所示:
- 选择Certificate的存储地址,Trusted Root Certification Authorties,如下图所示:
- 导出 STS Certificate,如下图所示:
第三阶段:将SharePoint2013配置为将AD FS视为受信任的IdentityProvider。
- 通过使用SharePoint PowerShell导入Token Signing Certification,如下图所示:
$cert= New-ObjectSystem.Security.Cryptography.X509Certificates.X509Certificate2("c:\ADFS.cer")
New-SPTrustedRootAuthority-Name "Token Signing Cert1" -Certificate $cert
- 使用SharePoint PowerShell为Claim Mapping定义Unique Identifier,如下图所示:
$emailClaimMap= New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"-IncomingClaimTypeDisplayName "EmailAddress" –SameAsIncoming
- 创建Authentication Provider,如下图所示:
$realm= "urn:sharepoint:spshelley"
$signInURL = "https://ADFSShelley.Partner.net/adfs/ls"
$ap= New-SPTrustedIdentityTokenIssuer -Name ADFS1 -Description ADFS -realm $realm-ImportTrustCertificate $cert -ClaimsMappings $emailClaimMap -SignInUrl$signInURL -IdentifierClaim $emailClaimmap.InputClaimType
第四阶段:将WebApplication配置为将基于声明的身份验证和AD FS用作受信任的身份提供程序
- 在SharePoint Server端,选择指定的Web Application,改变其Authentication Provider,如下图所示:
- 创建Site Collection,可以使用AD FS的User作为Account,如下图所示:
- 用户登录site collection,可以选择登录的认证方式,如下图所示:
希望本篇文章部署,能给大家带来帮助,如有部署上的问题,欢迎与我取得联系。