---
# System prepended metadata

title: Untitled

---

https://docs.otterize.com/reference/intents-and-intents-files#intents-file-specification

This seemed great for defining intents for IntraCluster Network Communication. But then we have policies like not allowing egress connections or would be hard to define if then do policies.

But this seems apt for what they claim to do
If developers just declare what their code intends to access, then an automated system can configure security controls to allow this access, while blocking any unintended access.
We can extend the same spec for certain zero trust system policies as well.

```
selector:
calls:
 - type: capabilities
   resources: [SYS_NET_ADMIN]
```

Should our spec be something like

```
selector:
spec:
 - action: Audit/Allow/Block
   type: capabilities
   resources: [SYS_NET_ADMIN]
```
now type and resources are configurable. It can be presets or generic stuff

```
selector: svc.a
spec:
 - action: Block
   type: network
   resources: [maliciousip, svc.b]
```
Here svc.a is denied access to both maliciousip preset or svc.b as well

For KubeArmor policies
```
selector: deployment.a.knownprocesslist
spec:
 - action: Allow
   type: system/fs
   resources: [sensitive-assets, "/etc/certs"]
```

Question: Can we define knownprocesslist preset in CEL selector? and have DE generate policies policies based on that?

These are vague thoughts, I am still trying to organise them but I have a feeling this maybe closer to what we want in the intent.

Key Point here are preset keywords

knownprocesslist for example would probably be generated by DE or could be preset

The source of this could be another CR. these keywords would be defined in a kubernetes resource which will be updated by something like DE and operator would refer them through CEL

```
selector: deployment.a.knownprocesslist
spec:
 - action: Allow
   type: system/fs
   resources: [sensitive-assets, "/etc/certs"]
```


```
selector: deployment.a
spec:
 - action: Allow
   type: system/fs
   resources: [malprocesslist]
```


Possible types

capabilities
system/fs
system/fs readonly
network
network-ingress
network-egress


1. Do not allow privilege escalation 
```
selector:
spec:
 - action: Audit/Allow/Block
   type: capabilities
   resources: [SYS_NET_ADMIN]
```
3. Do not allow egress connections on pods which are directly connected to public networks 
4. Allow only certain APIS to be called on ingress of microservice X.
5. Generate CIS compliance
6. If malicious IP is detected, then do X
7. RBAC Access
```
selector: Subjects
spec:
 - action: Allow
   type: Roles
   resources: [clusterrole]
```
