二进制授权 - 部署失败 - 被证明者拒绝。证明者无法证明 GKE 中的图像
Binary Authorization - Deployment failed - Denied by Attestor. Attestor cannot attest to an image in GKE
我试图以 POC 的形式向我的客户展示二进制授权。在部署期间,它失败并显示以下错误消息:
pods "hello-app-6589454ddd-wlkbg" is forbidden: image policy webhook backend denied one or more images: Denied by cluster admission rule for us-central1.staging-cluster. Denied by Attestor. Image gcr.io//hello-app:e1479a4 denied by projects//attestors/vulnz-attestor: Attestor cannot attest to an image deployed 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"
它抛出错误为:
ERROR: (gcloud.alpha.container.binauthz.attestations.sign-and-create) Resource in project [project xyz] is the subject of a conflict: occurrence ID "c5f03cc3-3829-44cc-ae38-2b2b3967ba61" already exists in project "projectxyz"
所以当我验证时,我发现存在证明:
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"
以下是屏幕截图:
有什么反馈吗?
提前致谢。
感谢您试用 Binary Authorization。我刚刚更新了 Binary Authorization Solution,您可能会觉得有用。
一路上我注意到的一些事情:
... denied by projects//attestors/vulnz-attestor:
projects
和attestors
之间应该有一个项目ID,比如:
projects/my-project/attestors/vulnz-attestor
同样,您的 gcr.io 链接应包含相同的项目 ID,例如:
gcr.io//hello-app:e1479a4
应该是
gcr.io/my-project/hello-app:e1479a4
如果您按照教程进行操作,它可能会要求您设置一个变量,例如 $PROJECT_ID
,但您可能不小心将其取消设置或 运行 不同终端会话中的命令。
在指向另一个存储库问题解决后,但在此之前您遇到问题并且可能有很多原因。如果您遇到同样的问题,请 contact support 提供错误消息。
我试图以 POC 的形式向我的客户展示二进制授权。在部署期间,它失败并显示以下错误消息:
pods "hello-app-6589454ddd-wlkbg" is forbidden: image policy webhook backend denied one or more images: Denied by cluster admission rule for us-central1.staging-cluster. Denied by Attestor. Image gcr.io//hello-app:e1479a4 denied by projects//attestors/vulnz-attestor: Attestor cannot attest to an image deployed 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"
它抛出错误为:
ERROR: (gcloud.alpha.container.binauthz.attestations.sign-and-create) Resource in project [project xyz] is the subject of a conflict: occurrence ID "c5f03cc3-3829-44cc-ae38-2b2b3967ba61" already exists in project "projectxyz"
所以当我验证时,我发现存在证明:
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"
以下是屏幕截图:
有什么反馈吗?
提前致谢。
感谢您试用 Binary Authorization。我刚刚更新了 Binary Authorization Solution,您可能会觉得有用。
一路上我注意到的一些事情:
... denied by projects//attestors/vulnz-attestor:
projects
和attestors
之间应该有一个项目ID,比如:
projects/my-project/attestors/vulnz-attestor
同样,您的 gcr.io 链接应包含相同的项目 ID,例如:
gcr.io//hello-app:e1479a4
应该是
gcr.io/my-project/hello-app:e1479a4
如果您按照教程进行操作,它可能会要求您设置一个变量,例如 $PROJECT_ID
,但您可能不小心将其取消设置或 运行 不同终端会话中的命令。
在指向另一个存储库问题解决后,但在此之前您遇到问题并且可能有很多原因。如果您遇到同样的问题,请 contact support 提供错误消息。