1

我试图向我的客户展示二进制授权作为 POC。在部署期间,它失败并显示以下错误消息:

pod“hello-app-6589454ddd-wlkbg”被禁止:图像策略 webhook 后端拒绝一个或多个图像:被 us-central1.staging-cluster 的集群准入规则拒绝。被证明者拒绝。Image gcr.io//hello-app:e1479a4 denied by projects//attestors/vulnz-attestor: Attestor cannot attest to an image deploy by tag

我已遵守网站中提到的所有步骤。

我已经多次验证了图像,例如使用以下命令强制完全进行证明:

gcloud alpha container binauthz attestations sign-and-create   --project "projectxyz"  --artifact-url "gcr.io/projectxyz/hello-app@sha256:82f1887cf5e1ff80ee67f4a820703130b7d533f43fe4b7a2b6b32ec430ddd699"   --attestor "vulnz-attestor"   --attestor-project "projectxyz"   --keyversion "1"   --keyversion-key "vulnz-signer"   --keyversion-location "us-central1"   --keyversion-keyring "binauthz"   --keyversion-project "projectxyz"

它抛出错误为:

错误:(gcloud.alpha.container.binauthz.attestations.sign-and-create)项目 [项目 xyz] 中的资源是冲突的主题:项目中已存在事件 ID“c5f03cc3-3829-44cc-ae38-2b2b3967ba61” “项目xyz”

所以当我验证时,我发现证明存在:

gcloud beta container binauthz attestations list       --artifact-url "gcr.io/projectxyz/hello-app@sha256:82f1887cf5e1ff80ee67f4a820703130b7d533f43fe4b7a2b6b32ec430ddd699"       --attestor "vulnz-attestor"       --attestor-project "projectxyz"       --format json  | jq '.[0].kind' \
>       | grep 'ATTESTATION'
"ATTESTATION"

以下是屏幕截图:

部署错误

容器

云构建

请问有什么意见吗?

提前致谢。

4

2 回答 2

4

感谢您尝试二进制授权。我刚刚更新了Binary Authorization Solution,您可能会觉得它有帮助。

一路上我注意到了一些事情:

...被项目//attestors/vulnz-attestor 拒绝:

projects和之间应该有一个项目 ID attestors,例如:

projects/my-project/attestors/vulnz-attestor

同样,您的 gcr.io 链接应包含相同的项目 ID,例如:

gcr.io//hello-app:e1479a4

应该

gcr.io/my-project/hello-app:e1479a4

如果您按照教程进行操作,它可能会要求您设置一个变量,例如$PROJECT_ID,但您可能不小心取消了它或在不同的终端会话中运行了该命令。

于 2019-10-29T13:16:42.127 回答
0

指出另一个存储库问题已解决,但在此之前您遇到问题并且可能有很多原因。如果您遇到同样的问题,请联系支持并提供错误消息。

于 2019-10-29T23:37:22.500 回答