powershell 联合现有Azure自定义域以使用Google SSO

uoifb46i  于 2023-03-08  发布在  Shell
关注(0)|答案(2)|浏览(118)

我们通过Google运行我们的域名。我们在Azure中验证这些域名以用于各种目的。
我想要实现的是允许使用O365的用户能够使用他们的Google凭据登录。据我所知,这是通过联邦、SAML和SSO完成的。我按照Google的说明进行了设置,但遇到了一个障碍。
使用PowerShell的Set-MsolDomainAuthentication命令,每次尝试将身份验证方法从Managed更改为Federated时,我都会收到错误。我可以确认我可以通过PowerShell命令查看域及其托管状态,因此我至少已连接到Azure。

Set-MsolDomainAuthentication : Unable to complete this action. Try again later.

At line:1 char:1
+ Set-MsolDomainAuthentication
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [Set-MsolDomainAuthentication], MicrosoftOnlineException
    + FullyQualifiedErrorId : Microsoft.Online.Administration.Automation.InternalServiceException,Microsoft.Online.Adm
   inistration.Automation.SetDomainAuthentication

Azure日志将尝试显示为

DirectoryManagement
Set domain authentication
Failure
Microsoft.Online.Workflows.ValidationException

任何帮助和指导都是受欢迎的。我一直在寻找解决方案。

  • 边注:* 我也试过convert命令,没有运气。
idfiyjo8

idfiyjo81#

使用此方法而不是Google指定的方法找到了解决方案。https://medium.com/@james.winegar/how-to-single-sign-on-sso-between-g-suite-and-office-365-with-g-suite-as-identity-provider-idp-5bf5031835a0

**重要旁注:**由于某种原因,你无法在Azure中联合具有相同entityID的多个域。解决方法是在entityID和位置URL的末尾添加空格。

在我的示例中,我编辑了metadata.xml并在引号中添加了空格。XML中有两个Location URL,对它们进行相同的更改。
即x1月1x
Location="https://accounts.google.com/o/saml2/idp?idpid=yourGoogleId "
对来自同一个实体ID的每个其他域重复此过程。请记住,这 * 不 * 是受支持的解决方法,因此请谨慎使用。

zwghvu4y

zwghvu4y2#

解决方案:
运行以下命令:

Set-MsolDomainAuthentication -Name <domainName> -Authentication Managed -ActiveLogOnUri <ActiveLogOnUri> -FederationBrandName <FederationBrandName> -PassiveLogOnUri <PassiveLogOnUri> -SigningCertificate <SigningCertificate> -IssuerUri <IssuerUri> -LogOffUri <LogOffUri> -MetadataExchangeUri <MetadataExchangeUri> -PreferredAuthenticationProtocol <PreferredAuthenticationProtocol>

相关问题