Artifactory Cloud - 组令牌上的令牌主体不匹配

Posted

技术标签:

【中文标题】Artifactory Cloud - 组令牌上的令牌主体不匹配【英文标题】:Artifactory Cloud - Token principal mismatch on group tokens 【发布时间】:2021-10-13 07:32:01 【问题描述】:

我们在 Artifactory Cloud 中有几个组,它们分配了一个“非管理员访问令牌”。 此设置确实可以正常运行近一年。但是从昨天开始,我们不能再使用任何组令牌了。 今天创建了一个新的组令牌,但仍然不起作用。

在管理 UI 中检查“Artifactory 系统日志”时,Artifactory 服务似乎昨天重新启动(我们依赖的作业开始失败)。 日志包含大量“Principal mismatch for token with id '[ID]'”消息。

使用 curl 进行调试会为我们提供:“错误 401 - 令牌主体 不匹配" 使用不正确的令牌执行相同的步骤确实会给出: “错误 401 - 凭据错误” 使用与 user/pass 相同的 curl 语句,效果很好。

我的结论是组令牌的身份验证仍然有效,但不知何故下一步(=主体不匹配?)失败了。 知道如何解决这个问题吗?提前致谢!

--编辑--

神器版本:7.23.3 修订:72303900 PostgreSQL:9.6.20

我们正在使用此 REPO 中的 Python 代码来生成组令牌(上周工作没有问题): https://pypi.org/project/pyartifactory/1.9.1/

token = art.security.create_access_token(user_name=group_name,
                                 groups=[group.name],
                                 refreshable=False,
                                 expires_in=0)

使用此 curl 语句进行测试:

curl -O "https://$CRED@[subscription_name].jfrog.io/artifactory/[location to Python wheel]"

如果 $CRED 是 [Username]:[Password] 它工作正常,但 [Group]:[API token] 不工作(过去在上周日之前工作;问题在于新的和现有的组/令牌) .

【问题讨论】:

您能否分享一下:1. 人工制品版本 2. 重现的确切步骤 - 令牌创建命令? 如果您在同一命令中同时提供主题和令牌,则可能是令牌受众与提供的用户名不同。关于功能破坏 - 是否有可能完成升级?还是采取的措施发生了变化? 由于这是云 SaaS 服务,我们无法控制版本/升级(由 JFrog 提供)。稍微更改了我的初始帖子以包含您请求的信息。 然后用这个令牌执行什么操作?如果您传递的用户名值与您发送到令牌创建 API(在您的示例中为 group_name)的参数不同的基本凭据,它将失败。需要相同 使用上面的 curl 语句进行测试(下载 Python Wheel 文件) 【参考方案1】:

您不能在基本身份验证中使用组名作为用户名。尝试不记名身份验证:

curl -O "https://[subscription_name].jfrog.io/artifactory/[location to Python wheel]" -H "Authoriazation: Bearer [API token]"

结帐basic/bearer SO thread

【讨论】:

以上是关于Artifactory Cloud - 组令牌上的令牌主体不匹配的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Cloud Messaging 令牌在没有第三方库的情况下本机反应

Spring Cloud Security

自动将新库导入 Artifactory Ivy 存储库

按用户属性向用户发送 Firebase Cloud Messaging 通知

柯南搜索和下载不适用于虚拟 Artifactory 存储库

不应该使用 Artifactory 来捕获 Jenkins 生成的构建工件吗?