

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 撤銷概觀
<a name="rego"></a>

Rego 是一種一般用途的政策語言，這表示它適用於堆疊的任何圖層和任何網域。Rego 的主要目的是接受評估的 JSON/YAML 輸入和資料，以對基礎設施資源、身分和操作做出已啟用政策的決策。Rego 可讓您撰寫有關堆疊或網域任何層的政策，而不需要變更或擴充語言。以下是 Rego 可以做出的一些決策範例：
+ 是否允許或拒絕此 API 請求？
+ 此應用程式的備份伺服器的主機名稱是什麼？
+ 此提議基礎設施變更的風險分數是多少？
+ 為了實現高可用性，此容器應該部署到哪些叢集？
+ 此微服務應使用哪些路由資訊？

為了回答這些問題，Rego 採用如何做出這些決策的基本理念。在 Rego 中草擬政策時的兩個關鍵原則為：
+ 每個資源、身分或操作都可以以 JSON 或 YAML 資料表示。
+ 政策是套用至資料的邏輯。

Rego 透過定義如何評估 JSON/YAML 資料輸入的邏輯，協助軟體系統做出授權決策。C、Java、Go 和 Python 等程式設計語言是這個問題的常用解決方案，但 Rego 旨在專注於代表您系統的資料和輸入，以及使用此資訊做出政策決策的邏輯。