Skip to content

Commit

Permalink
Added security policy validator in custome controller by [VenkataReddy]
Browse files Browse the repository at this point in the history
  • Loading branch information
CBVenkataReddy committed Jul 20, 2021
1 parent 12fca1f commit f4a12be
Show file tree
Hide file tree
Showing 16 changed files with 1,745 additions and 21 deletions.
10 changes: 6 additions & 4 deletions KubeArmor/core/kubeUpdate.go
Original file line number Diff line number Diff line change
Expand Up @@ -589,7 +589,7 @@ func (dm *KubeArmorDaemon) GetSecurityPolicies(identities []string) []tp.Securit
}

// UpdateSecurityPolicy Function
func (dm *KubeArmorDaemon) UpdateSecurityPolicy(action string, secPolicy tp.SecurityPolicy) {
func (dm *KubeArmorDaemon) UpdateSecurityPolicy(action string, secPolicy tp.SecurityPolicy, status string) {
dm.ContainerGroupsLock.Lock()
defer dm.ContainerGroupsLock.Unlock()

Expand Down Expand Up @@ -626,7 +626,9 @@ func (dm *KubeArmorDaemon) UpdateSecurityPolicy(action string, secPolicy tp.Secu
dm.LogFeeder.UpdateSecurityPolicies("UPDATED", dm.ContainerGroups[idx])

// enforce security policies
dm.RuntimeEnforcer.UpdateSecurityPolicies(dm.ContainerGroups[idx])
if status == "OK" {
dm.RuntimeEnforcer.UpdateSecurityPolicies(dm.ContainerGroups[idx])
}
}
}
}
Expand Down Expand Up @@ -670,7 +672,7 @@ func (dm *KubeArmorDaemon) WatchSecurityPolicies() {
if policy.Metadata["policyName"] == secPolicy.Metadata["policyName"] &&
policy.Metadata["namespaceName"] == secPolicy.Metadata["namespaceName"] &&
policy.Metadata["generation"] == secPolicy.Metadata["generation"] {
exist = true
//exist = true
break
}
}
Expand Down Expand Up @@ -1042,7 +1044,7 @@ func (dm *KubeArmorDaemon) WatchSecurityPolicies() {
dm.LogFeeder.Printf("Detected a Security Policy (%s/%s/%s)", strings.ToLower(event.Type), secPolicy.Metadata["namespaceName"], secPolicy.Metadata["policyName"])

// apply security policies to containers
dm.UpdateSecurityPolicy(event.Type, secPolicy)
dm.UpdateSecurityPolicy(event.Type, secPolicy, event.Object.Status.PolicyStatus)
}
}
}
Expand Down
9 changes: 7 additions & 2 deletions KubeArmor/types/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,15 @@ type K8sKubeArmorPolicyEvent struct {
Object K8sKubeArmorPolicy `json:"object"`
}

type SecurityPolicyStatus struct {
PolicyStatus string `json:"status,omitempty"`
}

// K8sKubeArmorPolicy Structure
type K8sKubeArmorPolicy struct {
Metadata metav1.ObjectMeta `json:"metadata"`
Spec SecuritySpec `json:"spec"`
Metadata metav1.ObjectMeta `json:"metadata"`
Spec SecuritySpec `json:"spec"`
Status SecurityPolicyStatus `json:"status,omitempty"`
}

// K8sKubeArmorPolicies Structure
Expand Down
Loading

0 comments on commit f4a12be

Please # to comment.