如何重置x射线<>人工连接而不丢失扫描结果
相关版本:此信息与…有关人工版本5.10到最新的6。X和Xray版本1.12到最新的2。X
有时你需要重置Artifactory <> Xray连接(例如,当你需要重置你的管理凭据,更改你的Artifactory URL,或重置Xray使用的令牌)。本文解释了如何在不擦除Artifactory扫描历史的情况下这样做,只要原始Artifactory可用。
x射线使用蒙戈数据库来管理x射线服务器的配置。它包含一个条目,用于连接Artifactory。此条目包含Artifactory URL、管理凭据和二进制管理器ID。保存最后一项是保持扫描结果完整的关键。由于此过程涉及对数据库进行直接更改,因此请确保备份您的MongoDB在继续之前:
[示例]mongodb -archive = mongodb。Archive -db xray
从Xray中删除人工“二进制管理器”的步骤
1.登录Mongo数据库。当您的MongoDB安装时,您可以使用CLI登录,或者在MongoDB容器中执行“docker exec”。
请注意:自x光2.8.9, MongoDB的密码是随机的,不再是字面上的。密码”。相反,有一个MongoDB_Admin_pass.txt文件中/根目录或用户的主文件夹中。您可以使用以下密码登录:
[RPM/Debian安装示例命令]
mongo -u xray——authenticationDatabase xray——authenticationMechanism sram - sha -1 -p password
2.打开x射线数据库:
使用x光
3.在"binary_managers表中,应该有一行包含Artifactory信息:
db.binary_managers.find ({})
4.使用其ID删除二进制管理器表行-注意这里使用的“bin_mgr_id”!
db.binary_managers。移除({"bin_mgr_id": "art-gcp"})
有一个额外的配置与已删除的binary_managers表行绑定。如果在即将到来的Xray重启发生时它仍然存在,则将发生错误并且Xray将无法启动。
如果Artifactory是Xray的身份验证提供者,请在退出之前执行这些额外的MongoDB步骤(如果Xray不使用Artifactory作为身份验证提供者,请跳过这些步骤):
5.列出JFrog访问配置的配置:
db.configuration.find ()
6.删除accessConfig行:
db.configuration。remove({"config_id": "accessConfig"})
无论Xray是否使用Artifactory作为身份验证提供者,执行最后两个步骤:
7.重新启动x光
8.通过UI重新添加Artifactory到Xray,就好像这是第一次你创造了这种联系。更改或更新任何需要更新的信息,但有一个例外。您需要对Artifactory使用与之前相同的名称。名称应该精确匹配bin_mgr_id字段,是在MongoDB。
遵循这些步骤后,人工和x射线应该无缝连接并重新开始运作。如果没有,你需要恢复备份MongoDB配置:
mongorestore -u xray -p password -authenticationDatabase xray——archive= mongodb . exe——db xray -v
