用于SAML2身份验证的Netbox插件
netbox-plugin-auth-saml2的Python项目详细描述
使用SAML2的用于SSO的Netbox插件
NetBox2.8提供了增强功能,以支持特定用途的远程用户身份验证 中定义的变量配置.py文件,如下所述:
https://netbox.readthedocs.io/en/stable/configuration/optional-settings/
此存储库提供了一个Netbox插件,可用于与SAML SSO系统集成, 比如奥克塔。在
注意:此方法使用反向代理URL重写,以便标准Netbox登录将重定向 SSO系统的用户。请参考示例nginx.conf文件。
系统要求
您需要安装django3-auth-saml2 进入你的Netbox环境。在
Netbox配置
在configuration.py
中,您需要启用和配置这些
REMOTE_AUTH_xxx
至少有以下选项:
REMOTE_AUTH_ENABLED=TrueREMOTE_AUTH_BACKEND='utilities.auth_backends.RemoteUserBackend'REMOTE_AUTH_AUTO_CREATE_USER=True
您还可以创建其他选项REMOTE\uauth_DEFAULT_GROUPS和 REMOTE_AUTH_DEFAULT_权限,如联机文档中所述。在
下一步你需要配置这个插件,证明你的 配置值如中所述 django3-okta-saml2 回购,例如:
^{pr2}$新插件URL
此插件将为Netbox提供两个新的url:
/plugins/sso/login/
此URL将用户登录重定向到SSO系统(Okta)进行身份验证。这是需要的URL
在反向代理重定向中使用,例如请参见nginx.conf。
/plugins/sso/acs/
应该将此URL配置到SSO系统中,作为用户单点登录到Netbox的路由
在用户使用SSO系统进行身份验证后。在
创建新用户配置时自定义
如果要自定义创建用户的方式,而不是 Netbox REMOTE_AUTH变量,可以创建自定义的RemoteBackend类。看到了吗 backends.py中的样本。在
使用反向代理重定向
使用此插件需要反向代理URL重定向来覆盖默认的Netbox/login/
URL。在那里
在这个过程中有两个注意事项:
- 根据您的Netbox安装情况,您可能需要禁用重定向中的端口。如果您的Netbox服务器URL 不包含端口,则必须禁用端口重定向。例如,请参见nginx.conf。在
- 必须为
/login/
URL添加ULR重写,才能使用/plugins/sso/login/
,例如nginx.conf。在
- 项目
标签: