maskopy

DNXLabs/maskopy/aws

Terraform Module HCL AWS ⏱ stale 4y 4mo

Maskopy solution is to Copy and Obfuscate Production Data to Target Environments in AWS. It uses AWS Serverless services, Step functions, Lambda and Fargate.

Install

module "maskopy" {
source = "DNXLabs/maskopy/aws"
version = "0.1.8"
}
⭐ Source on GitHub 📦 Registry page

README

terraform-aws-maskopy ![Lint Status](https://github.com/DNXLabs/terraform-aws-maskopy/actions) ![LICENSE](https://github.com/DNXLabs/terraform-aws-maskopy/blob/master/LICENSE) Overview: Maskopy solution is to Copy and Obfuscate Production Data to Target Environments in AWS. It uses AWS Serverless services, Step functions, Lambda and Fargate. Features: Simplified Copy and Obfuscation Maskopy copies and provides ability to run obfuscation on production data across AWS accounts. Any sensitive information in the production data is obfuscated in a transient instance. The final obfuscated snapshot is shared in the user-specified environments. Self-Service and End-To-End Automation Maskopy is a self-serviced solution that allows users to get production data without involving multiple teams. It is

Inputs (22)

NameTypeDescriptionDefault
staging_vpc_idstringVPC id for the staging account. required
rds_staging_subnet_group_namestringStaging RDS option group name to deploy the transient database. required
obfuscation_scripts_bucket_namestringBucket to store the obfuscations scripts, they should be uploaded inside `/obfus required
staging_subnet_idslist(string)Subnets inside the staging VPC to deploy the lambdas and ECS tasks. required
staging_rds_default_kms_key_idstringKMS key that maskopy will use for the transient RDS. required
lambda_role_namestringLambda role name."LAMBDA_MASKOPY"
replicate_destination_bucket_namestringName of the bucket to send dumps data from source bucket.""
sqs_queue_namestringSNS queue name to send messages when step functions complete running."maskopy_sqs_queue"
step_function_state_machine_namestringName for the step functions state machine."maskopy-state-machine"
custom_source_kms_keystringCustom KMS key, used when variable `custom_source_kms_key_enabled` equals to tru""
create_obfuscation_scripts_bucketboolCreate bucket to store obfuscation scripts.true
lambdas_nameslist(string)[ "00-AuthorizeUser", "01-UseExistin
cost_centerstringAll the temporary resources are tagged with the code."MaskopyCost"
ecs_docker_imagestringDocker image that ECS task will run with and will download the scripts from S3 o"dnxsolutions/obfuscation"
replicate_obfuscation_bucketboolReplicate data inside the bucket to another acount.true
replicate_obfuscation_bucket_prefixstringName of prefix to replicate inside the bucket to another acount."dumps"
application_namestringThe name for the maskopy application, this name should match part of the string "MASKOPY"
enabledboolIf true, will deploy the maskopy solution.true
ecs_fargate_role_namestringECS role name."ECS_MASKOPY"
replicate_destination_account_idstringName of the bucket to send dumps data from source bucket.""
build_lambda_layerboolIf true will build the lambda layer. Set to true only with local source module.false
custom_source_kms_key_enabledboolOnly used when encrypt RDS in source account with another KMS key. Remember to afalse

Resources (13)

aws_iam_policyaws_iam_roleaws_iam_role_policy_attachmentaws_kms_aliasaws_kms_keyaws_lambda_functionaws_lambda_layer_versionaws_s3_bucketaws_security_groupaws_security_group_ruleaws_sfn_state_machineaws_sqs_queuenull_resource

Details

FrameworkTerraform Module
LanguageHCL
Version0.1.8
Cloud AWS
★ Stars1
Forks4
Total downloads5.2k
Inputs22
Resources13
LicenseApache-2.0
NamespaceDNXLabs
Updated