Prisma Cloud Compute Registry 扫描显示“429 Too Many Request (HAP429)”
12560
Created On 05/19/22 02:37 AM - Last Modified 03/02/23 01:56 AM
Symptom
- 启动注册表扫描显示以下错误:
failed to retrieve repository TESTORG* tags, error failed to query https://registry-1.docker.io/v2/TESTORG*/tags/list, error failed to query https://registry-1.docker.io/v2/TESTORG*/tags/list, Too Many Requests Too Many Requests (HAP429)
Environment
- Prisma Cloud 计算
- 自托管
- 软件即服务
- 码头工人Hub注册表
Cause
Resolution
Additional Information
Defender 进程扫描注册表镜像
- 该图像由防御者拉取以执行扫描。
- 扫描完成后,图像将被删除。
- Defender 日志显示相同的内容:
分析图像
拉取镜像
扫描图像
删除图像
DEBU 2022-03-18T21:49:35.559 scanner.go:145 Analyzing image testimage/test latest:sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a DEBU 2022-03-18T21:49:35.559 scanner.go:161 Pulling registry image id: sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a tag: test.io/testimage/test:latest DEBU 2022-03-18T21:49:54.610 scanner.go:167 Pull image tag:test.io/testimage/test:latest id: sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a completed after 19.051067993 seconds DEBU 2022-03-18T21:49:54.618 scanner.go:100 Image scanning started sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a DEBU 2022-03-18T21:49:54.619 containerized_runner.go:69 Containerized scan started sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a DEBU 2022-03-18T21:50:54.066 containerized_runner.go:270 Containerized scan completed sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a 59.45 [sec] DEBU 2022-03-18T21:50:54.103 augment_static.go:218 sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a [augment] 59.49 [sec] DEBU 2022-03-18T21:50:54.105 scanner.go:218 Image test.io/testimage/test:latest sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a [scanning] 59.49 [sec] DEBU 2022-03-18T21:50:54.105 scanner.go:221 Scan for image tag:test.io/testimage/test:latest id: sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a completed after 78.545885826 seconds DEBU 2022-03-18T21:50:54.105 scanner.go:409 Removing image sha256:3a11abed3c123456789023d23b7d0e828c939a4284512345678902138aa3f76a
如何通过拉取镜像查看Rate Limit
- 当您发出拉取请求并且超出您的帐户类型的限制时,DockerHub将返回一个
429请求清单时具有以下正文的响应代码:
You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limits
怎么能I查看我当前的汇率?
- 参考Docker 下载速率限制.
- 有效舱单API要求Hub通常会在响应中包含以下速率限制标头:
ratelimit-limit ratelimit-remaining
- 这些标头将在两者上返回GET和HEAD要求。 请注意,使用GET模拟真正的拉动,并将计入极限;使用HEAD不会,所以我们将在这个例子中使用它。 要检查您的限制,您需要
卷曲,grep, 和jq安装。 - 匿名获取令牌(如果您匿名拉取):
$ TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
要使用用户帐户获取令牌(如果您正在验证您的拉取) - 不要忘记在以下命令中插入您的用户名和密码:
$ TOKEN=$(curl --user 'username:password' "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token)
然后要让标头显示您的限制,请运行以下命令:
$ curl --head -H "Authorization: Bearer $TOKEN" https://registry-1.docker.io/v2/ratelimitpreview/test/manifests/latest
哪个应该返回标题包括这些:
ratelimit-limit: 100;w=21600 ratelimit-remaining: 76;w=21600
- 这意味着我的限制是每 21600 秒(6 小时)100 次拉动,并且I剩余 76 次拉动。
笔记:请记住,这些标头是尽力而为的,可能会有小的变化。