Cyr*_*ris 12 vpn amazon-web-services saml-2.0 idp
我正在尝试按照这些说明使用 Google IdP 的联合登录来设置 VPN 连接。
以前,我使用 Google 配置了一个 saml-provider,它可以很好地使用 ARN 角色通过 Google 对 AWS 控制台的用户进行身份验证
当我设置 VPN 连接时,它成功打开浏览器并要求我选择我的 google 帐户,但在选择该帐户后,我收到了来自 Google 的错误消息
根据这个帮助部分
验证 SAMLRequest 中 saml:Issuer 标记中的值是否与管理控制台的 SAML 服务提供商详细信息部分中配置的实体 ID 值匹配。该值区分大小写。
所以这是一个来自 AWS 而不是我的问题?Google IdP 与 VPN 身份验证完全兼容吗?(我发现这个文档提到了与 okta 的兼容性)
感谢下面的一些答案,我设法让它与 Google IdP 一起工作。这是相关 SAML Google 应用程序屏幕的屏幕截图(请注意,对于组,我最终添加了员工部门,但我想其他任何方法都可以)
为了能够在 G Suite 界面中保存以 http:// 开头的 ACS URL,请使用teknowlogist提供的技巧:打开检查器 > 网络选项卡,执行使用 https 保存 URL 的请求,然后右键单击复制它作为 cURL,将 https 替换为 http,粘贴到常规控制台中,就可以了。
tek*_*ist 10
我找到了一种解决方法,无法在 GSuite SAML 应用页面上输入http://127.0.0.1:35001作为 ACS URL。Google 管理控制台仅对 https 要求进行客户端验证,因此您可以使用 Chrome 控制台来监控修改 ACS URL 时进行的网络调用。
然后,您可以将其复制为 curl 命令并将 https 更改为 http
@泰德施罗德-
以前的方法(或者,普通的谷歌不起作用)
我只是使用了反向代理:
mitmproxy \
--listen-port 35000 \
--mode 'reverse:http://127.0.0.1:35001' \
--set keep_host_header=true
Run Code Online (Sandbox Code Playgroud)
如果您将 Google SAML 的 ACS URL 更改为https://127.0.0.1:35000并单击“测试 SAML 登录”,Google 将带您到https://127.0.0.1:35000,其流量将被重定向到http:// /127.0.0.1:35001。在浏览器中,我得到:
Authentication details received, processing details. You may close this window at any time.
Run Code Online (Sandbox Code Playgroud)
但是,使用 SAML-tracer 扩展,我发现 URL 不匹配(https://127.0.0.1:35000 vs. http://127.0.0.1:35001)。似乎 AWS VPN 客户端将其预期的 URL 广播为http://127.0.0.1:35001。所以这似乎不太可行。
当前方法(或 Auth0+Google 有效)
我尝试改用 Auth0,并使其正常工作!有一些麻烦——例如,创建一个新的 Auth0 应用程序,转到插件并启用 SAML2 Web 应用程序,将应用程序回调 URL 设置为http://127.0.0.1:35001,然后在设置中使用以下内容:
{
"audience": "urn:amazon:webservices:clientvpn",
"mappings": {
"user_id": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
"email": "NameID",
"name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
"given_name": "FirstName",
"family_name": "LastName",
"upn": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn",
"groups": "memberOf"
},
"binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect",
"signResponse": true
}
Run Code Online (Sandbox Code Playgroud)
然后,如果用户从 AWS 下载 VPN 配置并使用 AWS VPN 客户端应用程序,他们将被带到 Auth0 登录屏幕,在那里他们可以通过 Google 登录。瞧!(然后为了安全起见,您需要添加 Auth0 规则以仅授予某些用户/组授权。)
我还没有完整的答案,但我已经有了答案,而且我实际上已经克服了上面的 403 错误。所有这一切的关键可以在此处的 AWS 客户端 VPN 信息中找到: https: //docs.aws.amazon.com/vpn/latest/clientvpn-admin/client-authentication.html
查找标题为“用于创建应用程序的服务提供商信息”的部分。
关键是这些是需要使用的 ACS URL 和实体 ID。不幸的是,G Suite 不允许您将 ACS URL 设置为非 https URL,并且显然 AWS 客户端 VPN 应用程序不会为 ACS URL(SAML 身份验证响应所在的位置)提供安全 URL。
因此,如果您将实体 ID 设置为“urn:amazon:webservices:clientvpn”并按照说明安装 G Suite SAML 应用程序,您将能够通过 403。但是,由于 ACS URL 无法指定您会从身份验证响应转到的 ACS URL 中收到可能收到的任何错误消息。
示例场景
如果有人对此有进一步的了解,我很想听听。与此同时,我将研究可能实际上支持 G Suite 作为 SAML IdP 的非 AWS OpenVPN 客户端。
@alexandergunnarson
由于我没有发表评论的能力(非常感谢让这个简单的 stackOverflow)我不得不编辑我的答案以使其通过审查。
不幸的是,我们没有,而且可能在一段时间内不会有 G Suite Enterprise,因为它对于我们的启动环境来说太昂贵了。所以 OIDP 现在对我们来说不是一个可行的选择。我想这会起作用。很高兴知道确实如此。
| 归档时间: |
|
| 查看次数: |
2590 次 |
| 最近记录: |