Office 365单点登录

单点登录SSO

# 说明

本文介绍如何配置IDaaS单点登录Office365。

Office365分为国际版和中文版,配置过程中稍有差异,文中已做相应提示,请留意。

参考文档:Azure AD使用 SAML 2.0 标识提供者 (IdP) 进行单一登录 (opens new window)

# 认证配置

# Office 365配置

  1. 使用powershell,安装AAD支持模块 Install-Module -Name MSOnline。

    Connect-MsolService -AzureEnvironment AzureChinaCloud(国际服改为AzureCloud)

  2. 弹出登录框输入管理员用户名密码。

  3. 增加并验证自定义域。

    此步骤也可再Azure AD Directory 网站中实现,如果已经加了自定义域,请忽略此步操作。

    $DomainName = "****.com"
    New-MsolDomain -Name $DomainName -Authentication Federated
    Get-MsolDomainVerificationDns -DomainName $DomainName -Mode DnsTxtRecord
    
    1
    2
    3
  4. 设置自定义域为联邦域。

    目前Azure AD Directory 主域无法设置为SAML认证联邦域,请使用非主域进行配置。

    $dom = "****.com"
    $LogOffUrl = "https://xxx.bccastle.com/api/ams/saml/idp/logout"
    $MyURI = "https://xxx.bccastle.com/api/ams/saml/idp/SSO/alias/20190901104801839-CCBF-992AE0B6B"
    $MySigningCert = "MIICrzCCAZcCBgFs6rjpsTANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDDBBiMmUuYmNjYXN0bGUu Y29tMB4XDTE5MDkwMTAyNDYyMloXDTI5MDkwMTAyNDgwMlowGzEZMBcGA1UEAwwQYjJlLmJjY2Fz dGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6S58DymjxihIKlROY0hMtN PYtzVIbVcfOQ8UA9PrCJcs2kz9jMKMXtuZcyys/UqT0wUy5VLeG2hqjr6Ou5zKKmkDmwc+fT0lqY 2lFO1KKKNG1WmT1U3H7nAB12DAk0Jfk9PXz7TLF4dEGRJzgxNmfVx2v7BXEzAXn4rcfHNC1lgL7D yW5JoZxUsiKZclnxlgk6EB51Pkd5mWrlXx2bHTJoTan3FqpmYPqUXg5QqI6hqlyoNu3fHQC7AruU SdQhCbBXI6FQD9pRTqROo+NS6arhvhh+VVbCqhTjzm6q0QSQaglznNLD8PFsUULFZdLiDE0Q3PE4 RVJ+oK0HONFezdUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAaxwfqQAvKTCCnTAjOR1RiNM2L9lz nPoO8KobiVCEM7hFMqly6iWleUv+CnG25qXETPTmnoA1M/WF83OUaVutb6Ln6ldqalKgPzqxHrsK bwwW5g/mUWjBl1PbKs+Sfsc4nUSTDlZ2zsZ1Z60MXEfCHq3EwMA5H8tHp0qLDu5zzC7+zNJKVOKN ax7lNoCP0+LlBrxlTNfZyq4PvqlbRaWjiTWKQN26FK/eX9RCPc4ggSJnI09l7e66fJoVmHMYcDl/ 0SNTWGFmaKWG8OK587eSucQTXXiYJEBt7yU70iZxa3f7sjoIJup3m3QDTrFLqSf1bjrojRo0167M bv54Rnk/MA=="
    $IssuerUri = "https://xxx.bccastle.com/api/ams/saml/idp"
    $Protocol = "SAMLP"
    Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $dom -Authentication Federated -PassiveLogOnUri $MyURI -SigningCertificate $MySigningCert -IssuerUri $IssuerUri -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol
    
    1
    2
    3
    4
    5
    6
    7

    参数说明如下:

    • dom:自定义域名
    • LogOffUrl:IDaaS的IDP 登出URl
    • MyURI:IDaaS的SSO URL
    • MySigningCert:IDaaS的IDP证书
    • IssuerUri:IDaaS的 IDP EntityId
    • Protocol:SAMLP
    • IDaaS IDP参数获取:登录IDaaS 企业中心==》设置==》服务配置==》IDP配置查看。
  5. 添加新用户。

    New-MsolUser -UsageLocation CN -UserPrincipalName "user1@****.com" -ImmutableId "15101122211" -FirstName "li" -LastName "song" -DisplayName "lisong"
    
    1

    注:UserPrincipalName 为用户邮箱,ImmutableId 为用户手机号,IDP的SAML返回报文的NameID需要此ImmutableId 属性。

# 备注:powershell操作指令

撤销联邦认证配置

Set-MsolDomainAuthentication `
  -DomainName  xxx.com
  -Authentication Managed
1
2
3

查看联邦认证配置

Get-MsolDomainFederationSettings -DomainName xxx.com
1

查找ImmutableId

Get-MsolUser -UserPrincipalName "user1@****.com" | Select ImmutableId
1

更改ImmutableId

Set-MsolUser -UserPrincipalName "user1@****.com" -ImmutableId ""
1

用户如果通过SAML联邦登录后ImmutableId就不能改了

# IDaaS配置

  1. 【资源】--》【应用】--》【预集成应用】 搜索Office365,添加内置应用Office365。

  2. 配置认证参数,获取Office365的元数据,导入IDaaS。

    Name ID选择 Office365中ImmutableId存放在IDaaS中的用户属性,如id属性。

  3. 属性映射,配置Office365必需属性。

    NameID和颁发者(IDP EntityID)无需单独配置,只需在属性映射中添加IDPEmail即可。

  4. 授权用户,授权管理-应用账号-添加账号。

  5. 确保授权用户的 id属性与Office365中ImmutableId一致,且IDPEmail为 Office365中的UPN。

# 登录验证

如下两种方式登录验证:

  • 用户登录Office365首页,输入用户名后会自动跳转至IDaaS认证界面,认证成功后会进入Office365。

  • 登录IDaaS用户中心,点击Office365 logo,进入Office365。