撤銷概觀 - AWS 方案指引

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

撤銷概觀

Rego 是一種一般用途的政策語言,這表示它適用於堆疊的任何圖層和任何網域。Rego 的主要目的是接受評估的 JSON/YAML 輸入和資料,以針對基礎設施資源、身分和操作做出已啟用政策的決策。Rego 可讓您撰寫有關堆疊或網域任何層的政策,而不需要變更或延伸語言。以下是 Rego 可以做出的一些決策範例:

  • 是否允許或拒絕此 API 請求?

  • 此應用程式的備份伺服器的主機名稱為何?

  • 此提議基礎設施變更的風險分數是多少?

  • 為了實現高可用性,此容器應該部署到哪些叢集?

  • 此微服務應使用哪些路由資訊?

為了回答這些問題,Rego 採用基本的理念來做出這些決策。在 Rego 中草擬政策時的兩個關鍵原則為:

  • 每個資源、身分或操作都可以表示為 JSON 或 YAML 資料。

  • 政策是套用至資料的邏輯。

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