如何制作适用于Office 365的Google Apps iDP

时间:2016-09-12 06:20:18

标签: azure google-apps saml-2.0 azure-powershell federated-identity

我正在尝试让我们的Google Apps用户使用Google凭据登录Office 365。

我正在努力解决两件事。

1。使用Azure AD设置联合域。任何人都可以匹配以下Google iDP Meta数据中的必需变量吗?

以下是Microsoft从其帮助页面设置联合域的变量。

$dom = "contoso.com" 
$BrandName - "Sample SAML 2.0 IDP" 
$LogOnUrl = "https://WS2012R2-0.contoso.com/passiveLogon" 
$LogOffUrl = "https://WS2012R2-0.contoso.com/passiveLogOff" 
$ecpUrl = "https://WS2012R2-0.contoso.com/PAOS" 
$MyURI = "urn:uri:MySamlp2IDP" 
$MySigningCert = @" MIIC7jCCAdag......NsLlnPQcX3dDg9A==" "@ 
$uri = "http://WS2012R2-0.contoso.com/adfs/services/trust" 
$Protocol = "SAMLP" 

Set-MsolDomainAuthentication ` -DomainName $dom -FederationBrandName $dom -Authentication Federated -PassiveLogOnUri $MyURI -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $uri -LogOffUri $url -PreferredAuthenticationProtocol $Protocol 

这是Google iDP元数据,它假设拥有所有信息

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://accounts.google.com/o/saml2?idpid=C01gs" validUntil="2021-08-31T11:57:42.000Z">
  <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <md:KeyDescriptor use="signing">
      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>MIIDdDCCAlygAwIBAgI
MTE1NzQyWhcNMjEwODM.....yVlPqeevZ6Ij
    f7LcIuZHffg1JV6pOB3A7afVp7JBbzZZOeuhl5nUhr96</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
    </md:KeyDescriptor>
    <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://accounts.google.com/o/saml2/idp?idpid=C02gs"/>
    <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://accounts.google.com/o/saml2/idp?idpid=C03gs"/>
  </md:IDPSSODescriptor>
</md:EntityDescriptor>

2。在一个成功的联邦域之后(我成功了,但它没有用,所以我提供的PowerShell变量是错误的)。 Office 365的管理门户不允许用户从联合域添加用户。那么,如何添加用户?

希望有人能帮助我解决这个难题。

2 个答案:

答案 0 :(得分:1)

Microsoft Azure AD(Office 365背后的身份系统)仅支持与少数身份联合提供程序的联合:

https://azure.microsoft.com/en-us/documentation/articles/active-directory-aadconnect-federation-compatibility/

Google Apps不在此列表中,也不是受支持的联盟系统。您无法使用Google Apps用户使用其Google Apps凭据登录Office 365。

但是,您可以执行的操作是允许Office 365用户单点登录其Google Apps(这是另一种方式):

https://azure.microsoft.com/en-us/documentation/articles/active-directory-saas-google-apps-tutorial/

修改

在提供的链接之后,似乎可以将Google Work Apps ID用于Office 365的SSO,但使用中间播放器Windows Server Active Directory和ADFS。这是一个相当大的开销。

答案 1 :(得分:1)

Google 现在提供关于使用 Office 365 设置 SSO 的 documentation

还提供了有关将 Google 添加为 Microsoft 的 IdP 的相应文档;但是,我发现那里没有任何用处,并且在按照 Microsoft 的说明进行操作后一直登录失败(SSO 不起作用)。

相反,我遵循了 instructions from James Winegar,其中包含 PowerShell 命令(可在 Microsoft 管理门户中提供的 Cloud Shell 中运行,或在本地运行),让我在一小时左右的时间内启动并运行联邦,包括用户同步的时间从 Google 的末尾开始。

来自 Microsoft 的这项支持似乎相对较新 — 基于此问题的年龄,它显然不到 4 年。但至少它现在存在。当有人阅读此答案时,可能会有更好的教程可用。