在 CodeBuild 中构建 Docker,无需特权模式

问题描述 投票:0回答:3

我们正在 CodeBuild 中构建 docker 镜像。这工作正常,但我们发现安全中心“高”,因为我们必须启用特权模式:

CodeBuild.5 CodeBuild project environments should not have privileged mode enabled

我目前正在寻找一种不使用特权模式来构建 docker 映像的方法。我从 AWS 看到了这个 URL,他们也使用特权模式。

如何在不使用此模式的情况下构建 docker 映像,以便我们符合安全中心规则?

amazon-web-services docker aws-codebuild aws-security-hub
3个回答
0
投票

如果我们参考AWS指南https://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html

因为你使用这个构建项目来构建Docker镜像,所以选择 特权

由于您正在构建 docker 映像,因此代码构建将需要privilegedMode=true

@ekeyse 分享了需要特权模式的 cdk 文档,否则会失败

指定 true 以启用在 Docker 内运行 Docker 守护进程 容器。仅当此构建项目时,该值才必须设置为 true 将用于构建 Docker 镜像,并指定构建 环境映像不是 AWS CodeBuild 与 Docker 提供的映像 支持。否则,所有尝试交互的关联构建 使用 Docker 守护进程将会失败。

我个人认为安全中心正在通知您有代码构建项目在特权模式下运行,如果这是有意的,您可以忽略


0
投票

如果您使用 docker-compose build 而不是 docker build,则可以禁用privilegedMode。


-2
投票

您可以通过 aws cli 完成此操作。

aws codebuild update-project --name "my-project-name" --environment "{\"type\": \"LINUX_CONTAINER\",\"image\": \"aws/codebuild/amazonlinux2-x86_64-standard:2.0\",\"computeType\": \"BUILD_GENERAL1_SMALL\",\"privilegedMode\": false}" --profile my-aws-profile-nonprod

这里是AWS文档

(目前)无法通过 AWS 控制台执行此操作。 但您可以在控制台上看到您的配置:
AWS Config > 资源 > 我的项目名称 > 查看配置项 (JSON)

之后您可以查看结果。

© www.soinside.com 2019 - 2024. All rights reserved.