/
IdP512: 将IdP 从v3.4.3/v3.4.7/v4.1.7/v4.3.x升级到v5.1.2
IdP512: 将IdP 从v3.4.3/v3.4.7/v4.1.7/v4.3.x升级到v5.1.2
说明:
- 本文档适用于IdP已经上线,,需要升级到v5.1.2版本的学校;
- 适用于需要在openEuler或者AnolisOS系统上重新安装部署IdP的学校;
- 升级需要搭建新环境安装IdPv5.1.2。在进行IdPv5.1.2安装试验时,保留老版本在线运行和idp服务正常。新版本与老版本配置相同的hostname和域名,区别是:安装调试阶段,新版本将域名解析设置在浏览器本机hosts文件中,安装完成后,修改域名服务器的配置将域名解析到新版本,完成新旧系统切换。
建议升级步骤:
- 准备新的虚机或服务器环境,使用新IP地址。
- 根据wiki安装新版本IdP5.1.2,安装过程中请使用旧版本IdP的hostname及域名。注意:本阶段,请把域名解析配置在浏览器本机hosts文件中,不要修改DNS服务配置。
- 升级安装与新安装IdP512的步骤中第1到第8步是相同的,第8/11步执行完毕后,请执行下面的步骤从旧版本IdP系统复制相关证书及文件到新装的IdP系统。
- 第8/11步执行完成后,从旧版本IdP系统复制credentials目录下的证书文件(不要覆盖目录,目录下有新文件,旧系统没有)、idp-metadata.xml文件以及用于生成persistent-id的salt值到新系统(新旧系统salt值要一致)。
具体步骤包括:
1)复制旧版本IdP系统/opt/shibboleth-idp/credentials目录下 idp-backchannel.crt idp-backchannel.p12 idp-encryption.crt idp-encryption.key idp-signing.crt idp-signing.key sealer.jks sealer.kver等6个证书文件到新IdP系统相同目录下。
2)复制旧版本IdP系统/opt/shibboleth-idp/metadata目录下 idp-metadata.xml 到新IdP系统相同目录下。
3)记录旧版本IdP系统/opt/shibboleth-idp/conf/idp.properties文件中的idp.sealer.storePassword idp.sealer.keyPassword 两个配置项密码,并将其输入新IdP系统的/opt/shibboleth-idp/credentials/secrets.properties文件中
4)记录旧版本IdP系统/opt/shibboleth-idp/conf/saml-nameid.properties(或者attribute-resolver.xml)文件中idp.persistentId.salt 值,并将其输入新IdP系统的/opt/shibboleth-idp/credentials/secrets.properties文件中并替换安装过程中自动生成的salt值。如果是旧IdP是3.4.3版本,salt值可能保存在conf/attribute-resolver.xml文件中。如果是4.1.7版本,是在/opt/shibboleth-idp/credentials/secrets.properties中。保证新旧系统的salt值一致。 - 新老版本/opt/shibboleth-idp/conf/attribute-resolver.xml配置文件内容格式有差异,请不要直接拷贝到新IdP系统,根据安装步骤第5/11步手动配置attribute-resolver.xml文件。
- 与旧版本IdP相比,5.1.2 新版本的IdP在生成persistent-id时默认采用BASE32 encoding方式,即生成的persistent-id不区分大小写,学校可自行修改saml-nameid.properties配置文件将encoding方式改为BASE64方式。(学校请查看旧的系统,如果旧系统是BASE64, 请将新系统的encoding方式也改成BASE64,否则可能会影响到eptid。)
- 如果新旧版本IdP均使用ldap认证源,则请复制旧版本IdP系统/opt/shibboleth-idp/conf目录下ldap.properties到新IdP系统相同目录下,并将该文件中idp.authn.LDAP.bindDNCredential = xxxxxxx配置项移到 /opt/shibboleth-idp/credentials/secrets.properties文件(请删除ldap.properties文件中的idp.authn.LDAP.bindDNCredential配置项)。v4.1.7及以后版本不需要操作这步。
- 部分学校旧版本IdP使用mysql-mariaDB保存persistentid, 学校可根据自身需要考虑将旧版本IdP服务器中mysql shibpid表中的数据导出并导入新IdP系统的mysql数据库中。
数据库导出命令:
/opt/rh/rh-mariadb103/root/usr/bin/mysqldump -uroot -p****** --databases idp_db >/root/mysqlbackup-DBidp_db.sql
数据库导入命令:
./mysql -u root -p****** idp_db</root/mysqlbackup-DBidp_db.sql (此处需要修改) - 修改/opt/shibboleth-idp/conf/metadata-providers.xml文件,IdP512:上线配置(适用于ldap/oauth/CAS认证方式) 按照方法二介绍的步骤修改配置文件。不能用旧的直接覆盖。
- 重启新版本IdP jetty服务,重启命令:systemctl restart jetty 。
- 准备一台测试PC机,模拟用户访问端,以Windows系统为例,修改C:\Windows\System32\drivers\etc\hosts文件, 添加本校IdP域名解析到新IP地址的解析条目: xxx.xxx.xxx.xxx idp.xxx.edu.cn。
- 从测试PC上访问https://sptest.pku.edu.cn/secure, 并测试本校IdP认证功能是否正常。
- 升级安装IdP不需要第9-11步等步骤。
- 新版本IdP测试成功后,请DNS管理员切换域名解析到新版本IdP系统(修改DNS,将IdP域名解析指向新系统IP地址)即可实现新旧系统的切换。
- 测试PC机修改C:\Windows\System32\drivers\etc\hosts文件,删除增加的配置。
Related content
版权所有©北京大学计算中心