alphacrack/aws-cdk-secure-constructs
GitHub: alphacrack/aws-cdk-secure-constructs
一套默认安全的 AWS CDK L2 构造库,通过强制执行 CIS 基线管控和分层属性注入,帮助团队在基础设施代码层面内建安全合规能力。
Stars: 2 | Forks: 1
# AWS CDK Secure Constructs
默认安全的 AWS CDK constructs,支持 [CDK 属性注入](https://docs.aws.amazon.com/cdk/v2/guide/blueprints.html)。
**状态:** 早期阶段。目前仅实现了 **S3 (`SecureBucket`)**。要求 `aws-cdk-lib` >= 2.196.0。
## 功能介绍
- **Construct:** `SecureBucket` — CIS 关键设置(加密、阻止公共访问、SSL、对象所有权)将始终被强制执行。
- **层级:** 用于操作设置(版本控制、日志记录、移除策略)的 `HIGH` / `MEDIUM` / `LOW`。
- **注入器:** 属性注入器,包括 `TieredSecureBucketDefaults`(仅收紧权限)。
- **合规性:** `S3BucketCompliance.report()` — 强制执行的管控措施通过合成测试进行验证。
属性注入器用于设置默认值;它们不会阻止直接使用 L1 `CfnBucket`。
## 安装
从 npm 安装(发布后):
```
npm install aws-cdk-secure-constructs
```
从该仓库安装(本地):
```
npm install
npm run build
npm run test:local-build # pack + install + cdk synth
```
## 使用说明
```
import { App, Stack } from 'aws-cdk-lib';
import { SecureBucket, SecurityLevel } from 'aws-cdk-secure-constructs';
const app = new App();
const stack = new Stack(app, 'MyStack');
new SecureBucket(stack, 'Data', {
securityLevel: SecurityLevel.HIGH,
});
```
分层注入器(全组织基准):
```
import { PropertyInjectors } from 'aws-cdk-lib';
import { Bucket } from 'aws-cdk-lib/aws-s3';
import { TieredSecureBucketDefaults, SecurityLevel } from 'aws-cdk-secure-constructs';
PropertyInjectors.of(app).add(
new TieredSecureBucketDefaults({ securityLevel: SecurityLevel.MEDIUM })
);
new Bucket(stack, 'RawBucket', { enforceSSL: false }); // CIS-critical fields still enforced
```
更多示例:[examples/](examples/),[examples/local-consumer/](examples/local-consumer/)(用于测试已发布的 tarball)。
## 开发
```
npm install
npm run build # jsii -> lib/
npm test
npm run lint
npm run test:local-build
npm run release -- patch # from clean main only; tags and triggers CI publish
```
## 文档
- [API](docs/API.md)
- [安全模型](docs/SECURITY.md)
- [设计指南](docs/DESIGN.md)
- [贡献指南](CONTRIBUTING.md)
- [路线图](ROADMAP.md)
## 许可证
MIT — 详见 [LICENSE](LICENSE)。
标签:AWS CDK, TypeScript, 云安全配置, 云计算, 安全合规, 安全插件, 暗色界面, 网络代理, 自动化攻击, 规则引擎