alpine/cfn-nag该镜像基于cfn-nag项目构建,是用于AWS CloudFormation模板的Linting工具,可自动检查模板中的安全问题和最佳实践违规。当cfn-nag项目发布新版本时,会自动触发Docker镜像构建,确保镜像版本与上游项目同步。
通过docker run命令挂载本地目录,对当前目录下的模板进行检查:
bashdocker run -ti --rm -v $(pwd):/apps -w /apps alpine/cfn-nag --input-path .
-v $(pwd):/apps:将当前目录挂载到容器内的/apps目录-w /apps:设置工作目录为/apps(即挂载的本地目录)--input-path .:指定检查当前目录下的模板文件设置别名简化调用,将容器作为本地命令使用:
bashalias cfn_nag_scan="docker run -ti --rm -v $(pwd):/apps -w /apps alpine/cfn-nag" cfn_nag_scan --help # 查看帮助信息 cfn_nag_scan --input-path ./templates # 检查指定目录下的模板
检查后会输出分级的检查结果,示例如下:
-------- | WARN W47 | | Resources: ["SNSAllConfigurationTopic", "SNSNotification"] | Line Numbers: [45, 76] | | SNS Topic should specify KmsMasterKeyId property ------------------------------------------------------------ | FAIL F5 | | Resources: ["AdditionalManagedIAMPolicy"] | Line Numbers: [42] | | IAM managed policy should not allow * action ------------------------------------------------------------
latest标签对应上游项目的最新发布版本([***]alpine/cfn-nag:0.5.33),避免latest标签带来的版本不确定性
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务