AWS Lake Formation: Part 9 Security and Compliance
Close to wrapping the AWS Lake Formation series. In this portion, I'll explore detailed security strategies for AWS resources managed by Terraform and h...

Todd Bernson
2024-10-03

Close to wrapping the AWS Lake Formation series. In this portion, I'll explore detailed security strategies for AWS resources managed by Terraform and how to perform compliance checks and audits using AWS tools.

Implementing these practices ensures your infrastructure is secure and compliant with industry standards.
Clone the project repo here.
Detailed Security Strategies for AWS Resources
Ensuring the security of your AWS resources is a critical aspect of infrastructure management. Terraform provides several features and best practices to enhance the security of your deployments.
Key Strategies:
IAM Roles and Policies:
- Define least-privilege IAM roles and policies to restrict access to only necessary resources.
- Use IAM policies within Terraform to manage permissions effectively.
Example IAM Role Configuration:
iam.tf:
data "aws_iam_policy_document" "lakeformation_policy" {
statement {
actions = [
"glue:CreateDatabase",
"glue:GetDatabase",
"glue:UpdateDatabase",
"glue:DeleteDatabase",
"glue:CreateTable",
"glue:GetTable",
"glue:UpdateTable",
"glue:DeleteTable",
"glue:BatchGetJobs",
"glue:GetJob",
"glue:StartJobRun",
"glue:BatchStopJobRun",
"glue:CreateCrawler",
"glue:GetCrawler",
"glue:UpdateCrawler",
"glue:StartCrawler",
"glue:StopCrawler"
]
resources = [
"arn:aws:glue:${var.region}:${data.aws_caller_identity.current.account_id}:catalog",
"arn:aws:glue:${var.region}:${data.aws_caller_identity.current.account_id}:crawler/${local.environment}",
"arn:aws:glue:${var.region}:${data.aws_caller_identity.current.account_id}:database/${local.environment}",
"arn:aws:glue:${var.region}:${data.aws_caller_identity.current.account_id}:job/${local.environment}",
"arn:aws:glue:${var.region}:${data.aws_caller_identity.current.account_id}:table/${local.environment}/*",
]
effect = "Allow"
}
statement {
effect = "Allow"
actions = [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject",
]
resources = [
"${data.aws_s3_bucket.bucket.arn}/*"
]
}
statement {
effect = "Allow"
actions = [
"s3:ListBucket"
]
resources = [data.aws_s3_bucket.bucket.arn]
}
}
data "aws_iam_policy_document" "lakeformation_role" {
statement {
actions = ["sts:AssumeRole"]
effect = "Allow"
principals {
identifiers = ["lakeformation.amazonaws.com"]
type = "Service"
}
}
}
resource "aws_iam_role" "lakeformation_service_role" {
name = "${local.environment}_role"
assume_role_policy = data.aws_iam_policy_document.lakeformation_role.json
tags = var.tags
}
resource "aws_iam_role_policy_attachment" "lakeformation_service_policy_attachment" {
role = aws_iam_role.lakeformation_service_role.name
policy_arn = aws_iam_policy.lakeformation_service_policy.arn
}
Encrypting Data:
- Use AWS KMS to encrypt data at rest and in transit.
- Configure encryption settings for S3 buckets, RDS instances, and other AWS services.
Example S3 Bucket Encryption:
s3.tf:
server_side_encryption_configuration = {
rule = {
apply_server_side_encryption_by_default = {
sse_algorithm = "AES256"
}
}
}
Compliance Checks and Audits Using AWS Tools
AWS provides several tools to help you perform compliance checks and audits on your infrastructure, ensuring it meets regulatory requirements and industry standards.
Key Tools:
AWS Config:
- Use AWS Config to continuously monitor and record the configurations of your AWS resources, ensuring compliance with internal policies and best practices.
Example AWS Config Rule:
config.tf:
resource "aws_config_config_rule" "s3_bucket_public_read_prohibited" {
name = "s3-bucket-public-read-prohibited"
source {
owner = "AWS"
source_identifier = "S3_BUCKET_PUBLIC_READ_PROHIBITED"
}
}
AWS Security Hub:
- Centralize and automate security checks using AWS Security Hub, which aggregates and prioritizes security findings from various AWS services.
Example Security Hub Configuration:
securityhub.tf:
resource "aws_securityhub_account" "this" {}
resource "aws_securityhub_standards_subscription" "cis_aws_benchmark" {
standards_arn = "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0"
}
In this part of the AWS Lake Formation series, I explored detailed security strategies for managing AWS resources with Terraform and how to perform compliance checks and audits using AWS tools. By defining least-privilege IAM roles and policies, encrypting data, and leveraging AWS Config and Security Hub, you ensure your infrastructure is secure and compliant with industry standards. Implementing these practices helps maintain the integrity and security of your data operations, providing peace of mind and enabling you to meet regulatory requirements effectively.
Visit my website here.
Read More
View all posts
AI/ML
Why Enterprise AI Must Be Application-Led, Not Agent-Led
A deep dive by Todd Bernson, CTO and Chief AI Officer, on why enterprise AI systems should be architected as application-led, deterministic platforms with embedded agentic AI—not fully autonomous agents. This article explains how API-first, governed, multi-channel architectures deliver higher reliability, compliance, scalability, and business value in real-world Fortune-500 environments.

Todd Bernson
2025-12-02

AI/ML
Application-First Agentic AI
Application-first agentic AI is emerging as the only reliable path to real enterprise ROI. In this in-depth analysis, Todd Bernson, CTO & CAIO, breaks down why most generative AI initiatives stall in production—and how disciplined enterprise architecture, deterministic workflows, and narrowly scoped AI agents can finally unlock repeatable business value. Using a real sprint-intelligence system as a case study, the article shows how organizations can combine serverless engineering, structured orchestration, and constrained LLM reasoning to reduce reporting effort, increase trust, eliminate hallucinations, and deliver actionable insights across engineering, operations, compliance, and customer experience.

Todd Bernson
2025-11-28
AI/ML
Why 95% of AI Projects Fail and How to Be Among the 5% That Succeed

Lee Hylton
2025-08-22