人工系统导出/导入

时间:2018-12-07 10:56:13

标签: import export system artifactory

我正在运行Artifactory Pro 5.8.3实例,并且正在检查是否能够使用系统导出和导入(在另一个5.8.3实例中)还原完整实例备份。 我遇到了一些问题,这些问题是我使用票证RTFACT-17067和RTFACT-15679中介绍的解决方法处理的,但我仍然遇到最后一个问题:访问令牌似乎是从原始实例导出的(至少,它们在导出的access.bootstrap.json中可见) ),但未导入到我的备份实例中。导入日志中未显示任何错误。 有没有人有这种问题? 谢谢,

编辑: 嗨,非常感谢您提供的所有这些信息,它非常有用:-)。 我已经完成了您建议的测试,结果如下:

  • 对于情况1,两个实例中的service_id都相同 导出生成的access.bootstrap.json。
  • 对于情况2,私钥和根证书在
    上是相同的 这两个实例。

1 个答案:

答案 0 :(得分:0)

JFrog访问令牌是标准JWT。这样,令牌本身不会存储在数据库中-令牌的元数据中与令牌管理相关的子集仅存储在数据库中,并且该元数据(例如令牌ID,有效期等)是(或应该是)将其导入到新实例中时导入。

但是,仅导入 令牌元数据并不意味着您将能够在导入的实例上使用令牌。

作为标准JWT,令牌本身包含构成令牌“权限”的声明(范围,受众)。 使用此类令牌发出请求时,仅验证令牌的签名。如果签名正常,则自动遵循令牌中声明的声明。

因此,您遇到的问题可能是以下2种之一:

  1. 您令牌的受众声明不包括导入的服务ID。

导入实例时,也应该导入服务ID。使用

检查实例的服务ID
curl -uadmin:password -XGET "http://localhost:8081/artifactory/api/system/service_id"

,然后检查ID是否属于令牌的受众群体。

  1. 您导入的服务器没有导出服务器的受信任密钥。

同样,这应该作为导入的一部分包括在内。如果真是这样,这意味着当您在请求中使用令牌时,签名验证将失败。 you can read about it here
您可以尝试使用令牌进行简单的卷曲,然后检查返回的错误以验证是否是这种情况。

HTH