islamelkadi/terraform-aws-bedrock

GitHub: islamelkadi/terraform-aws-bedrock

基于实战经验打造的生产级 Terraform 模块,用于在 AWS 上快速构建符合多框架合规要求的 Bedrock AI Agent 基础设施。

Stars: 0 | Forks: 0

# Terraform AWS Bedrock 模块 [![Terraform Security](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7d981c63ec132622.svg)](https://github.com/islamelkadi/terraform-aws-bedrock/actions/workflows/terraform-security.yaml) [![Terraform Lint & Validation](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8a9ba6f551132623.svg)](https://github.com/islamelkadi/terraform-aws-bedrock/actions/workflows/terraform-lint.yaml) [![Terraform Docs](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/974a78e98d132624.svg)](https://github.com/islamelkadi/terraform-aws-bedrock/actions/workflows/terraform-docs.yaml) 用于 AWS Bedrock AI 服务的可复用 Terraform 模块,包括 agents、runtimes 和 code interpreters。 ## 前置条件 本模块专为 macOS 设计。您的机器上必须已安装以下软件: - Python 3 和 pip - [Kiro](https://kiro.dev) 和 Kiro CLI - [Homebrew](https://brew.sh) 要安装其余开发工具,请运行: ``` make bootstrap ``` 这将安装/升级:tfenv、Terraform (通过 tfenv)、tflint、terraform-docs、checkov 和 pre-commit。 ## 安全 ### 安全控制 实施针对 FSBP、CIS、NIST 800-53/171 和 PCI DSS v4.0 的控制措施: - Agent 角色的 IAM 最小权限原则 - KMS 静态和传输加密 - 用于 agent 调用审计追踪的 CloudWatch Logs - 内容过滤 guardrails 支持 - 带审计理由的安全控制覆盖 ### 基于环境的安全控制 安全控制通过 [terraform-aws-metadata](https://github.com/islamelkadi/terraform-aws-metadata?tab=readme-ov-file#security-profiles) 模块的安全配置文件根据环境自动应用: | 控制项 | Dev | Staging | Prod | |---------|-----|---------|------| | KMS 加密 | 可选 | 必需 | 必需 | | IAM 最小权限 | 强制执行 | 强制执行 | 强制执行 | | CloudWatch Logs | 可选 | 必需 | 必需 | | 内容过滤 guardrails | 可选 | 推荐 | 必需 | 有关安全配置文件以及控制如何随环境变化的完整详细信息,请参阅 [Security Profiles](https://github.com/islamelkadi/terraform-aws-metadata?tab=readme-ov-file#security-profiles) 文档。 ### 安全扫描抑制 本模块抑制了某些 Checkov 安全检查,这些检查要么不适用于示例/演示代码,要么代表可选功能。以下检查在 `.checkov.yaml` 中被抑制: **模块源版本控制 (CKV_TF_1, CKV_TF_2)** - 被抑制是因为我们使用语义版本标签 (`?ref=v1.0.0`) 而不是提交哈希,以提高可维护性和可读性 - 语义版本控制是稳定版本有效且广泛接受的版本控制策略 **KMS IAM 策略 (CKV_AWS_111, CKV_AWS_356, CKV_AWS_109)** - 在示例代码中被抑制,其中 KMS 模块出于演示目的使用灵活的 IAM 策略 - 生产部署应根据特定安全要求自定义 KMS 策略并应用最小权限原则 **Bedrock 和 VPC 可选功能** - **VPC 公有子网 (CKV_AWS_130)**:公有子网旨在为需要互联网访问的资源自动分配公有 IP;这是有意为之 - **Bedrock Agent Guardrails (CKV_AWS_383)**:可选功能,会增加复杂性;根据内容过滤要求启用 - **安全组附加 (CKV2_AWS_5)**:示例代码中的安全组可能不会立即附加;用户会将它们附加到自己的资源上 - **默认安全组 (CKV2_AWS_12)**:默认安全组限制应在 VPC 模块级别管理,而不是在使用模块中 ## 子模块 | 子模块 | 描述 | |-----------|-------------| | [agentcore](modules/agentcore/) | 带有 knowledge bases、action groups 和 aliases 的 Bedrock Agents | | [agentcore-runtime](modules/agentcore-runtime/) | 基于 S3 代码部署的 AgentCore Runtime | | [code-interpreter](modules/code-interpreter/) | SANDBOX 或 VPC 模式下的 Bedrock Code Interpreter | ## 模块结构 ``` terraform-aws-bedrock/ ├── modules/ │ ├── agentcore/ │ │ ├── example/ │ │ │ ├── main.tf │ │ │ ├── variables.tf │ │ │ ├── outputs.tf │ │ │ └── params/input.tfvars │ │ └── ... │ ├── agentcore-runtime/ │ │ ├── example/ │ │ │ ├── main.tf │ │ │ ├── variables.tf │ │ │ ├── outputs.tf │ │ │ └── params/input.tfvars │ │ └── ... │ └── code-interpreter/ │ ├── example/ │ │ ├── main.tf │ │ ├── variables.tf │ │ ├── outputs.tf │ │ └── params/input.tfvars │ └── ... └── README.md ``` ## 要求 | 名称 | 版本 | |------|---------| | terraform | >= 1.14.3 | | aws | >= 6.34 | ## MCP 服务器 本模块包含两个在 `.kiro/settings/mcp.json` 中配置的 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 服务器,用于 Kiro: | 服务器 | 包 | 描述 | |--------|---------|-------------| | `aws-docs` | `awslabs.aws-documentation-mcp-server@latest` | 提供对 AWS 文档的访问,用于服务功能、API 参考和最佳实践的上下文查找。 | | `terraform` | `awslabs.terraform-mcp-server@latest` | 支持直接从 IDE 执行 Terraform 操作(init、validate、plan、fmt、tflint),并为常见工作流提供自动批准的命令。 | 两个服务器都通过 `uvx` 运行,除了 [bootstrap](#prerequisites) 步骤外,不需要额外安装。 ## 要求 无要求。 ## Providers 无 providers。 ## 模块 无模块。 ## Resources 无 resources。 ## Inputs 无 inputs。 ## Outputs 无 outputs。 ## 许可证 MIT 许可。有关完整详细信息,请参阅 [LICENSE](LICENSE)。
标签:AI 智能体, AWS, Bedrock, CIS, CloudWatch, DLL 劫持, DPI, EC2, ECS, IaC, IAM 最小权限, KMS 加密, NIST, PCI DSS, PE 加载器, Terraform, 人工智能安全, 代码解释器, 企业级, 合规性, 大语言模型, 特权提升, 生成式 AI, 自动化部署, 逆向工具