Open Policy Agent: esplorazione e sviluppo di policy per cluster Kubernetes


Open Policy Agent (OPA) è un framework e general-purpose policy-engine che consente di definire delle policy per gestire il deployment e l'interazione tra i componenti di un ambiente Cloud (e.g., Pods in Kubernetes).

OPA fornice una serie di tool e un linguaggio per la definizione di policy (Rego) che permette, ad esempio, di definire regole per user-level access authorization e configurazione dell'infrastruttura Cloud.

In ambito cloud, considerando in particolare Kubernetes come orchestrator di container, OPA è implementato come un [Kubernetes Admission Controller](https:// kubernetes.io/docs/reference/access-authn-authz/admission-controllers/) mettendo a disposizione il framework [Gatekeeper](https://open-policy-agent.github.io/ gatekeeper/website/docs/).

opa

OPA è facilmente integrabile con molti servizi e fornisce un modo centralizzato per gestire policy tra molte applicazioni e ambienti di sviluppo/deployment.


PREREQUISITI

  • [Consigliato] Aver familiarità con un orchestrator di container (e.g., Kubernetes)
  • [Consigliato] Aver familiarità con i container (e.g., Docker)
  • [Consigliato] Aver familiarità nello sviluppo di applicazioni Cloud
  • [Obbligatorio] Aver familiarità con ambienti Unix

MATERIALE


PROGETTI DI TESI

  • [Triennale] Sviluppare una applicazione Cloud che utilizzi Kubernetes come ambiente di deployment e che faccia utilizzo di Open Policy Agent per definire delle policy di configurazione/autorizzazione. La tesi dovrà mostrare quali sono i vantaggi e svantaggi di OPA e come è stato utilizzato nel progetto scelto.
    • [Magistrale] Il lavoro deve comprendere oltre che una parte di utilizzo di Gatekeeper e dei template che sono a disposizione anche una parte di implementazione di policy OPA utilizzando il linguaggio Rego. Il progetto deve essere corredato di una estensiva valutazione sperimentale.