|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
|
Dies ist eine unveröffentlichte Dokumentation für Admission Controller 1.34-dev. |
Roh-Richtlinien schreiben
Roh-Richtlinien sind Richtlinien, die beliebige JSON-Dokumente auswerten können. Für weitere Informationen zu Roh-Richtlinien verweisen Sie bitte auf die Roh-Richtlinien Seite.
Beispiel
Die folgenden Beispiele sollten Ihnen vertraut sein, wenn Sie die Validierung Seite dieses Tutorials abgeschlossen haben.
|
Denken Sie daran, die Richtlinie als |
Validation
Sie werden eine Richtlinie schreiben, die eine Anfrage im folgenden Format akzeptiert:
{
"request": {
"user": "alice",
"action": "read",
"resource": "products"
}
}
Es wird validiert, dass nur der admin Benutzer Ressourcen löschen kann.
Beginnen Sie damit, eine Richtlinie mit der OPA-Richtlinienvorlage zu erstellen.
Zuerst müssen Sie die policy.rego Datei so ändern, dass sie wie folgt aussieht:
package validation
deny[msg] {
input.request.action == "delete"
input.request.user != "admin"
msg := sprintf("user %v is not allowed to delete resources", [input.request.user])
}
Das utility/policy.rego Modul muss geändert werden, um Kubernetes-spezifischen Code zu entfernen:
package policy
import data.validation
main = {
"response": response,
}
# OPA policy responses need the uid field to be set.
# If the request doesn't contain a uid, set it to an empty string.
default uid = ""
uid = input.request.uid
response = {
"uid": uid,
"allowed": false,
"status": {"message": reason},
} {
reason = concat(", ", validation.deny)
reason != ""
} else = {
"uid": uid,
"allowed": true,
} {
true
}