我已经使用 Azure 自定义域之一(联合域身份验证)配置了 Azure 与第 3 方单点登录 IdP 解决方案的集成。但这并不完全是典型配置,因为我不为此使用本地 AD,也不使用 AD FS 作为联合。为了创建联合,我使用 Fortiauthenticator 作为 SAML IdP(使用旧 LDAP 作为身份存储)并使用 **Set-MsolDomainAuthentication** PowerShell 命令设置联合设置(Fortiauthenticator IdP 设置)。
Note : FortiAuthenticator can identify users through a varied range of methods and integrate with third-party LDAP or Active Directory systems
问题:但我无法通过Set-MsolDomainAuthentication命令将这些 IdP 设置应用于更多 Azure 自定义域,这就是问题所在。IssuerUri属性根据 Microsoft 要求必须是唯一的。在 Fortiauthenticator 方面,我也无法添加更多 SAML SP 配置,因为根据 Fortiauthenticator 要求,SP 实体 ID 必须是唯一的。SP 实体 ID 由 Microsoft 硬编码为urn:federation:MicrosoftOnline值。
下面是我的powershell命令:
PS C:\Windows\system32> Get-MsolDomain
Name Status Authentication
---- ------ --------------
test.onmicrosoft.com Verified Managed
first.com Verified Federated
second.com Verified Managed
PS C:\Windows\system32> $dom = "second.com"
>> $BrandName = "fortiauthenticator SAML 2.0 IDP"
>> $LogOnUrl = "https://idp.com/saml-idp/xxxxxxxx/login/"
>> $LogOffUrl = "https://idp.com/saml-idp/xxxxxxxx/logout/"
>> $MyURI = "http://idp.com/saml-idp/xxxxxxxx/metadata/"
>> $MySigningCert = "<IDPCERTIFICATE>"
>> $Protocol = "SAMLP"
>> Set-MsolDomainAuthentication `
>> -DomainName $dom `
>> -FederationBrandName $BrandName `
>> -Authentication Federated `
>> -PassiveLogOnUri $LogOnUrl `
>> -SigningCertificate $MySigningCert `
>> -IssuerUri $MyURI `
>> -LogOffUri $LogOffUrl `
>> -PreferredAuthenticationProtocol $Protocol
Set-MsolDomainAuthentication : Unable to complete this action. Try again later.
At line:8 char:2
+ Set-MsolDomainAuthentication `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [Set-MsolDomainAuthentication], MicrosoftOnlineException
+ FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.InternalServiceException,Microsoft.Online.Administration.Automation.SetDomainAuthentication