./HAVOC DynamoDB Tables
Details about AWS DynamoDB Tables created in a ./HAVOC deployment
When creating a new ./HAVOC deployment, a series DynamoDB Tables are created in your AWS account. Below is a list of the DynamoDB Tables that are created.
The Terraform configuration file that is used to create the DynamoDB Tables is available here: https://github.com/havocsh/havoc/blob/main/havoc_deploy/aws/terraform/dynamodb.tf
Authorizer DynamoDB Table
Table Name
- Name: ${var.deployment_name}-authorizer
Key Attributes
- Hash Key: user_id (String)
- Secondary Index: ApiKeyIndex (Hash Key: api_key, Projection Type: ALL)
This table stores user authorization data and allows for fast lookups based on user IDs and API keys.
Deployment DynamoDB Table
Table Name
- Name: ${var.deployment_name}-deployment
Key Attributes
- Hash Key: deployment_name (String)
This table stores deployment-specific information, primarily the deployment name.
Domains DynamoDB Table
Table Name
- Name: ${var.deployment_name}-domains
Key Attributes
- Hash Key: domain_name (String)
This table stores information about domains used in the ./HAVOC deployment, including domain names and hosted zones.
Playbooks DynamoDB Table
Table Name
- Name: ${var.deployment_name}-playbooks
Key Attributes
- Hash Key: playbook_name (String)
This table stores ./HAVOC playbooks and their versions.
Playbook Types DynamoDB Table
Table Name
- Name: ${var.deployment_name}-playbook-types
Key Attributes
- Hash Key: playbook_type (String)
This table stores information about ./HAVOC playbook types.
Portgroups DynamoDB Table
Table Name
- Name: ${var.deployment_name}-portgroups
Key Attributes
- Hash Key: portgroup_name (String)
This table stores portgroup information for the ./HAVOC deployment.
Task Types DynamoDB Table
Table Name
- Name: ${var.deployment_name}-task-types
Key Attributes
- Hash Key: task_type (String)
This table stores information about different task types supported by the ./HAVOC application, including their capabilities and source images.
Tasks DynamoDB Table
Table Name
- Name: ${var.deployment_name}-tasks
Key Attributes
- Hash Key: task_name (String)
- Range Key: run_time (Number)
This table stores information about tasks in the ./HAVOC application, including their names and run times. It is used to manage task execution.
Triggers DynamoDB Table
Table Name
- Name: ${var.deployment_name}-triggers
Key Attributes
- Hash Key: trigger_name (String)
- Range Key: run_time (Number)
This table stores information about triggers in the ./HAVOC application, including their names and run times. It is used to manage trigger execution.
Workspace Access DynamoDB Table
Table Name
- Name: ${var.deployment_name}-workspace-access
Key Attributes
- Hash Key: object_access (String)
- Range Key: create_time (Number)
This table manages access to workspace objects, including their creation and expiration times.
Terraform Locks DynamoDB Table
Table Name
- Name: ${var.deployment_name}-terraform-state-locks
Key Attributes
- Hash Key: LockID (String)
This table is used to manage state locks for Terraform deployments.
Task Queue DynamoDB Table
Table Name
- Name: ${var.deployment_name}-task-queue
Key Attributes
- Hash Key: task_name (String)
- Range Key: run_time (Number)
This table manages the queue of tasks to be executed, including their names and run times.
Playbook Queue DynamoDB Table
Table Name
- Name: ${var.deployment_name}-playbook-queue
Key Attributes
- Hash Key: playbook_name (String)
- Range Key: run_time (Number)
This table manages the queue of playbooks to be executed, including their names and run times.
Trigger Queue DynamoDB Table
Table Name
- Name: ${var.deployment_name}-trigger-queue
Key Attributes
- Hash Key: trigger_name (String)
- Range Key: run_time (Number)
This table manages the queue of triggers to be executed, including their names and run times.
These DynamoDB tables are crucial for storing and managing data and configuration details for the ./HAVOC application.
Updated 12 months ago