Architecture

Turbot Guardrails Hosting Architecture

Conceptual Architecture

Turbot Guardrails is a comprehensive governance platform that automates the discovery and remediation of compliance, security, and operational objectives within your organization. The platform leverages a consistent policy language to discover resources, track changes, and automate remediation across various cloud provider platforms.

Its architecture is centered around a core event loop called the OODA loop:

Turbot Guardrails OODA Loop

Guardrails continuously monitors real-time change events occurring at the cloud service providers without hindering the agility of application teams. This real-time monitoring enables Guardrails to identify configuration errors stemming from both human actions and automated processes, including intentional misconfigurations by individuals with elevated privileges.

Turbot Guardrails Governance

Deployment Options

Organizations have two primary options for deploying Turbot Guardrails:

  1. Turbot Guardrails SaaS: This option leverages the software-as-a-service offering of Turbot Guardrails. Turbot Guardrails SaaS Architecture
  2. Turbot Guardrails Enterprise: This option allows organizations to deploy Turbot Guardrails within their own AWS account and VPC. Turbot Guardrails Hosted Architecture

Guardrails Hosted Deployment Architecture

The Enterprise edition of Turbot Guardrails empowers organizations to deploy the same comprehensive application used for Guardrails SaaS within their AWS environment. This fully automated deployment adheres to AWS serverless best practices, resulting in a robust platform that scales effectively from a few accounts to millions of resources across a multitude of cloud service accounts.

Key aspects of the deployment architecture include:

  1. Deployment: The application is entirely deployed as infrastructure as code, leveraging AWS's Service Catalog service.
  2. Encryption: During deployment, KMS CMKs are generated within the customer's AWS account. These keys are used for data persistence and the configuration of encryption in transit across various services.
  3. Data Persistence: The platform utilizes AWS RDS Postgres instances for relational data, a Redis Cache Cluster for caching, and S3 for large blob storage.
  4. Compute: AWS Lambda functions provide the primary compute capabilities. An ECS cluster supplements this by offering persistent compute (e.g., Web Console and API) and support for long-running processes like Terraform stacks.
  5. Least Privilege: Access management between platform services, including database access, is strictly governed by AWS IAM roles adhering to the principle of least privilege.

Network Architecture

Turbot Guardrails Enterprise is engineered for secure deployment across diverse enterprise VPC configurations. This adaptability ranges from a simple public subnet with an internet gateway (IGW) to a multi-AZ, three-tier VPC (database, application, web) operating in private network space and utilizing centralized outbound network connectivity (through a transit gateway or proxy).

Turbot Guardrails Network Architecture

The most common enterprise network topology typically requires the following network configurations:

  1. Inbound Access: Inbound TCP port 443 access from end-user devices to the Guardrails Application Load Balancer (ALB).
  2. Outbound Access to AWS APIs: Outbound TCP port 443 access to AWS APIs (https://*.amazonaws.com). When an on-premises proxy is employed for outbound internet access, it is highly recommended to enable AWS PrivateLink endpoints for essential services such as KMS, S3, IAM, RDS, CloudWatch Events/Logs, SNS, SQS, ECS, ECR, and EC2.
  3. Outbound Access for Utilities: Outbound access to NTP, DNS, and SMTP for alerts.
  4. Outbound Access to Cloud Services: Outbound access to enabled cloud services including AWS, Azure, GCP, and ServiceNow.

Real-time Event Architecture

Turbot Guardrails Real-Time Event Architecture

In a private VPC deployment, Guardrails utilizes the AWS API Gateway service to receive external events from cloud service providers. The API gateway is configured to accept only properly signed events and does not expose any data externally.

Turbot Guardrails Real-Time Event Architecture

Key characteristics of the API gateway configuration:

Event processing flow:

  1. A Lambda function forwards POST data to the private ALB.
  2. Turbot's API handlers validate the message signature and data format.
  3. The event data is parsed, and the resulting event object is placed on the SQS queue (via SNS) to be processed by worker Lambda functions.

Security Measures:

Application Architecture

Turbot Guardrails Application Architecture

The logical components of the architecture are deployed and managed independently to maintain separation of concerns and provide flexibility in deployment scenarios. The application layer comprises four key layers:

1. Turbot Enterprise Foundation (TEF)

2. Turbot Enterprise Database (TED)

3. Turbot Enterprise (TE)

4. Turbot Guardrails Workspaces