You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Apache NiFi对接WSO2 IS实现单点登录(SSO)

配置Apache NiFi与WSO2 Identity Server实现单点登录(SSO)

前置准备

  • 确保NiFi(推荐1.15及以上版本)和WSO2 IS(推荐5.11及以上或最新版)正常运行,且两者网络能互通
  • 记好NiFi的访问地址(例如https://nifi-host:8443/nifi)和WSO2 IS的控制台地址(例如https://wso2-is-host:9443/carbon)

WSO2 Identity Server 端配置

1. 创建服务提供者

  1. 登录WSO2 IS管理控制台,找到主菜单 > Identity > Service Providers > Add
  2. 输入服务提供者名称(比如NiFi-SSO),点击Register
  3. 进入Inbound Authentication Configuration > SAML2 Web SSO Configuration,点击Configure
  4. 填写SAML2核心配置:
    • Issuer:填NiFi的实体ID,建议设为https://nifi-host:8443/nifi
    • Assertion Consumer URL:填NiFi的SAML回调地址https://nifi-host:8443/nifi-api/access/saml/callback,记得勾选Default
    • NameID Format:选urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress(也可根据需求选persistent等)
    • Response Signing Algorithm:选http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
    • 勾选Enable Response Signing、Enable Assertion Signing,如果需要单点登出就再勾选Enable Single Logout
    • 点击Register完成配置
  5. 返回服务提供者列表,点击刚创建的NiFi-SSO,进入Claim Configuration > Claim Mapping
    • 配置用户属性映射:把WSO2 IS的http://wso2.org/claims/emailaddress映射到NiFi的email,http://wso2.org/claims/role映射到groups(NiFi靠groups分配权限)
    • 点击Update保存

2. 导出WSO2 IS的SAML元数据

在服务提供者列表里找到NiFi-SSO,点击Metadata Export,下载XML格式的元数据文件,存为wso2-is-saml-metadata.xml备用


Apache NiFi 端配置

1. 修改nifi.properties配置文件

找到NiFi安装目录下的conf/nifi.properties,修改以下参数:

# 切换认证方式为SSO,禁用原有密码认证
nifi.security.user.authentication=single-sign-on

# 指定WSO2 IS的元数据文件路径
nifi.security.user.saml.idp.metadata.file=/绝对路径/wso2-is-saml-metadata.xml

# 填写NiFi的实体ID,要和WSO2 IS里的Issuer一致
nifi.security.user.saml.entity.id=https://nifi-host:8443/nifi

# SAML回调地址,和WSO2 IS里的Assertion Consumer URL一致
nifi.security.user.saml.callback.url=https://nifi-host:8443/nifi-api/access/saml/callback

# 用邮箱作为用户标识,和WSO2 IS里的NameID Format对应
nifi.security.user.saml.name.identifier=emailAddress

# 用WSO2 IS的角色作为NiFi的用户组
nifi.security.user.saml.group.attribute=groups

如果WSO2 IS启用了断言签名,还要配置NiFi信任WSO2 IS的证书:

nifi.security.user.saml.idp.signature.algorithm=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
# 指定NiFi的信任库路径
nifi.security.user.saml.truststore=/path/to/nifi-truststore.jks
nifi.security.user.saml.truststore.type=JKS
nifi.security.user.saml.truststore.password=你的信任库密码

注:把WSO2 IS的公钥导入NiFi信任库的命令示例:
keytool -importcert -alias wso2is -file wso2is-public.crt -keystore nifi-truststore.jks -storepass 你的密码

2. 配置NiFi权限映射

  1. 访问NiFi地址,会自动跳转到WSO2 IS登录页,用WSO2里的用户账号登录进入NiFi
  2. 打开全局菜单 > Users and Access Policies
  3. 点击Groups,创建和WSO2 IS中用户角色同名的组(比如nifi-admin)
  4. 给这些组分配对应权限(比如管理员组要开访问UI、修改流程等权限)
  5. 确保WSO2用户的角色名和NiFi的组名完全一致,这样用户登录后会自动获得对应权限

3. 重启NiFi服务

重启NiFi让配置生效


验证SSO效果

  • 访问NiFi UI,会自动跳转到WSO2 IS登录页面
  • 用WSO2 IS的用户账号登录,成功进入NiFi且拥有对应权限
  • 如果配置了单点登出,从NiFi登出后会跳转到WSO2 IS的登出页面,完成全局登出

内容的提问来源于stack exchange,提问作者Devaddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 19:55:15