保护 Schematics 对象的最佳实践
IBM Cloud® Schematics 使用开放式源代码项目,包括作为受管服务交付给您的 Terraform,Ansible,Red Hat OpenShift on IBM Cloud,操作程序和 Helm。 而不是在本地系统上安装每个开放式源代码项目,而是学习 API 或 CLI。 您可以声明要在 IBM Cloud® 中运行的任务,并观看 Schematics 为您运行这些任务。
请花时间查看建议的实践,以降低云基础架构中所有生产,登台和测试服务器的安全风险。 此列表是提高云基础架构安全性的绝佳起点。
在 Git 存储库中创建 Terraform 模板或模块的最佳实践
在开发 Terraform 模板并在 Git 存储库中发布 Terraform 模板时必须遵循哪些最佳实践?
在 Git 存储库中开发和发布 Terraform 模板时,请遵循以下实践。
- 使用
Terraform version1.4
或更高版本以及当前 IBM Cloud 提供程序 来创建 Terraform 模板。 - 为所有凭证创建环境变量。
- 检查是否运行了 pre-commit 挂钩以检查代码是否符合 Terraform 标准,请参阅 包含 pre-commit 挂钩的样本存储库。
- 检查存储库是否使用
Terratest
框架来验证要供应的 Terraform 资源和数据源,请参阅 样本已验证的 Terraform 存储库 以运行Terratest
。 - 对于未被 Git 跟踪的任何文件,请检查存储库是否包含
gitignore
。 - 添加模板的许可证文件。
- 请勿在配置文件中将敏感变量设置为缺省值。
- 请检查安全变量或输出是否敏感。
- 当模板使用
null resources
来供应或配置资源时,请检查您的脚本执行时间是否不超过60 minutes
。 - 在存储库中仅使用 允许的列表文件扩展名。
能否使用 IBM Cloud® 提供程序模板创建 tfvars
文件?
tfvars
文件是可用于存储敏感信息的本地变量文件,例如使用 Terraform 时的 IBM Cloud API 密钥或经典基础架构用户名。 但是,要保护变量数据,无法在 Schematics中提供 tfvars
文件。
Terraform 开发者如何确保敏感数据不会泄露在日志文件中?
开发者需要检查变量或输出参数是否为敏感参数,以确保数据不会在日志文件中泄露。
管理 Schematics 工作空间的最佳实践
在为 Terraform 模板创建工作空间时必须遵循哪些最佳实践?
在为 Terraform 模板创建工作空间时,请遵循以下实践。
如何确保 Terraform 自动化所使用的敏感数据不会在日志或输出中泄漏?
您需要将变量或输出参数设置为敏感,以确保数据不会在日志或输出中泄露。
如何保护对工作空间及其数据的访问?
作为帐户所有者或授权帐户管理员,您可以为用户分配 IBM Cloud® Identity and Access Management (IAM)服务访问角色。 IAM 服务访问角色确定您可以在 IBM Cloud Schematics 资源 (例如工作空间或操作) 上设置的操作。 要避免向各个用户分别分配访问策略,请考虑创建 IAM 访问组。
工作空间和操作数据存储器取决于创建工作空间或操作的位置。 有关更多信息,请参阅 保护 Schematics中的数据。
Schematics 如何通过 Terraform 状态文件或日志文件保护工作空间数据?
遵循以下实践以通过 Terraform 状态文件或日志文件保护工作空间数据。
- 使用 Cloud Identity and Access Management 控制对 Schematics 工作空间及相关云资源的访问。
- 保护 Terraform 模板的源存储库,包括访问控制,安全设置,协作和版本控制。
- 使用资源提供方提供的安全功能保护您创建的云资源。
- 使用云资源提供的工具,为您的资源应用安全补丁、访问控制和加密。
您需要对控制状态文件的用户指定 角色和许可权。 有关 Schematics 服务访问角色和权限的更多信息,请参阅 Workspace 权限 和 KMS 权限
管理 Schematics 操作的最佳实践
在为 Ansible 模板创建操作时必须遵循哪些最佳实践?
在为 Ansible 模板创建 Schematics 操作时,请遵循以下实践。
如何保护对操作及其数据的访问?
作为帐户所有者或授权帐户管理员,您可以为用户分配IAM服务访问角色。 IAM 服务访问角色确定您可以在 IBM Cloud Schematics 资源 (例如工作空间或操作) 上设置的操作。 要避免向各个用户分别分配访问策略,请考虑创建 IAM 访问组。
工作空间和操作数据存储器取决于创建工作空间或操作的位置。 有关更多信息,请参阅 保护 Schematics中的数据。
Schematics 如何通过输入凭证状态文件或日志文件保护操作数据?
请遵循以下实践,通过输入凭证状态文件或日志文件来保护工作空间数据。
保护 Schematics 的数据
以下是可以保护 Schematics 数据的各种方法。
- 使用 Cloud Identity and Access Management进行访问保护。
- 使用 Activity Tracker进行不可抵赖性。
- 使用密钥管理系统 (KMS) 进行数据保护。
使用 Identity and Access Management 进行访问保护
为用户创建 IAM 访问组,并将服务访问策略分配给 IBM Cloud Schematics 以及您希望用户使用的资源。 IAM 用户附加到访问组。 有关更多信息,请参阅 为用户设置访问权。
使用 Activity Tracker 进行不可抵赖性
您可以使用 IBM Cloud® Activity Tracker 跟踪和审计用户和应用程序如何与 IBM Cloud Schematics 交互。 您可以为 Schematics 工作区实例事件、访问、事件和访问审核日志生成并维护审核跟踪。 有关更多信息,请参阅 审计事件。
使用 KMS 进行数据保护
您可以通过以下方式保护和加密信息,使其免受 Schematics 中的损坏,损害或丢失:
- BYOK 或 KYOK 的 KMS 集成
- 管理数据加密
- 限制通过 允许特定 IP 地址 来供应所有资源的网络访问权。
后续步骤
查看 Schematics 用例。