Security Considerations
Overview
1. RBAC and IAM
resource "kubernetes_role" "pod_reader" { metadata { name = "pod-reader" namespace = "default" } rule { api_groups = [""] resources = ["pods"] verbs = ["get", "list", "watch"] } } resource "kubernetes_role_binding" "read-pods" { metadata { name = "read-pods" namespace = "default" } role_ref { api_group = "rbac.authorization.k8s.io" kind = "Role" name = "pod-reader" } subject { kind = "User" name = "example-user" api_group = "rbac.authorization.k8s.io" } }
resource "aws_iam_role" "example" { name = "example-role" assume_role_policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = "sts:AssumeRole" Effect = "Allow" Principal = { Service = "ec2.amazonaws.com" } }, ] }) } resource "aws_iam_policy" "example_policy" { name = "example-policy" policy = jsonencode({ Version = "2012-10-17" Statement = [ { Action = [ "s3:ListBucket", "s3:GetObject" ] Effect = "Allow" Resource = [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/*" ] }, ] }) } resource "aws_iam_role_policy_attachment" "example_attach" { role = aws_iam_role.example.name policy_arn = aws_iam_policy.example_policy.arn }
2. Compliance and Policy Enforcement
Summary
Last updated