Well-Architected Framework
Security and authentication
Terraform can manage cloud native security along with vendor security tools. You can deploy identity and access management, encryption keys, network security, and auditing. You can manage all these controls as code, allowing you to version and audit code changes.
Manage identity and access management: You can use Terraform to provision and manage IAM across all major cloud providers, ensuring consistent access controls and reducing security gaps. You can define IAM policies, roles, and permissions for users, groups, and service accounts. You can also manage access controls for resources like databases, storage buckets, and compute instances. This granular control lets you enforce least privilege access, ensuring that only authorized users have access to sensitive resources.
Control network security: You can define security groups, network ACLs, and firewall rules that control the flow of traffic between resources. You can also create and manage VPCs, subnets, and routing tables that enforce strict network segmentation and isolate sensitive workloads.
Secure secret and key management: You can integrate Terraform with dedicated secret management platforms, such as HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, and Google Secret Manager, to securely handle sensitive data. You can use Terraform to provision secret stores, configure encryption keys, and automate credential rotation policies—eliminating the security risk of hardcoded secrets in your infrastructure code.
HashiCorp resources:
- List of security and authentication providers in the Terraform Registry
- Terraform Vault provider
- Inject secrets into Terraform using the Vault provider
Next steps
In this section of Codify infrastructure and tools, you learned how to define your security and authentication controls using infrastructure as code to enable version control and audit capabilities for security changes. Define your security and authentication is part of the Define and automate processes pillar.