mirror of
https://github.com/falcosecurity/falco.git
synced 2025-06-29 16:17:32 +00:00
Honor the principle of least privilege for AWS deployment
Configure needed permisssions instead of using one too permissive.
This commit is contained in:
parent
e321d7c8de
commit
4696519deb
@ -1,4 +1,4 @@
|
|||||||
.terraform/*
|
.terraform/*
|
||||||
.terraform.*
|
.terraform.*
|
||||||
terraform.*
|
terraform.*
|
||||||
*.yaml
|
aws-auth-patch.yml
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
all: create configure
|
all: rbac create configure
|
||||||
|
|
||||||
|
rbac:
|
||||||
|
kubectl apply -f ../cluster-role.yaml
|
||||||
|
kubectl apply -f cluster-role-binding.yaml
|
||||||
|
|
||||||
create:
|
create:
|
||||||
terraform apply
|
terraform apply -auto-approve
|
||||||
|
|
||||||
configure:
|
configure:
|
||||||
kubectl get -n kube-system configmap/aws-auth -o yaml | awk "/mapRoles: \|/{print;print \"$(shell terraform output patch_for_aws_auth)\";next}1" > aws-auth-patch.yml
|
kubectl get -n kube-system configmap/aws-auth -o yaml | awk "/mapRoles: \|/{print;print \"$(shell terraform output patch_for_aws_auth)\";next}1" > aws-auth-patch.yml
|
||||||
kubectl -n kube-system replace -f aws-auth-patch.yml
|
kubectl -n kube-system replace -f aws-auth-patch.yml
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
terraform destroy
|
terraform destroy -force
|
||||||
|
kubectl delete -f cluster-role-binding.yaml
|
||||||
|
kubectl delete -f ../cluster-role.yaml
|
||||||
|
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
metadata:
|
||||||
|
name: kubernetes-response-engine-cluster-role-binding
|
||||||
|
roleRef:
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
kind: ClusterRole
|
||||||
|
name: kubernetes-response-engine-cluster-role
|
||||||
|
subjects:
|
||||||
|
- kind: User
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
name: kubernetes-response-engine
|
@ -1,7 +1,7 @@
|
|||||||
locals {
|
locals {
|
||||||
patch_for_aws_auth = <<CONFIGMAPAWSAUTH
|
patch_for_aws_auth = <<CONFIGMAPAWSAUTH
|
||||||
- rolearn: ${aws_iam_role.iam-for-lambda.arn}\n
|
- rolearn: ${aws_iam_role.iam-for-lambda.arn}\n
|
||||||
username: kubernetes-admin\n
|
username: kubernetes-response-engine\n
|
||||||
groups:\n
|
groups:\n
|
||||||
- system:masters
|
- system:masters
|
||||||
CONFIGMAPAWSAUTH
|
CONFIGMAPAWSAUTH
|
||||||
|
@ -0,0 +1,25 @@
|
|||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||||||
|
metadata:
|
||||||
|
name: kubernetes-response-engine-cluster-role
|
||||||
|
rules:
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- pods
|
||||||
|
verbs:
|
||||||
|
- delete
|
||||||
|
- list
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- ""
|
||||||
|
resources:
|
||||||
|
- nodes
|
||||||
|
verbs:
|
||||||
|
- patch
|
||||||
|
- apiGroups:
|
||||||
|
- batch
|
||||||
|
resources:
|
||||||
|
- jobs
|
||||||
|
verbs:
|
||||||
|
- create
|
Loading…
Reference in New Issue
Block a user