Rego の概要 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Rego の概要

Rego は汎用ポリシー言語です。つまり、スタックの任意のレイヤーとドメインで機能します。Rego の主な目的は、インフラストラクチャリソース、ID、およびオペレーションに関するポリシー対応の決定を行うために評価される JSON/YAML 入力とデータを受け入れることです。Rego を使用すると、言語の変更や拡張を必要とせずに、スタックまたはドメインの任意のレイヤーに関するポリシーを記述できます。Rego が実行できる決定の例を次に示します。

  • この API リクエストは許可または拒否されますか?

  • このアプリケーションのバックアップサーバーのホスト名は何ですか?

  • この提案されたインフラストラクチャ変更のリスクスコアはどのくらいですか?

  • 高可用性を実現するために、このコンテナをどのクラスターにデプロイすべきですか?

  • このマイクロサービスにはどのようなルーティング情報を使用する必要がありますか?

これらの質問に答えるために、Rego はこれらの決定方法に関する基本的な哲学を採用しています。Rego でポリシーを作成するときの 2 つの重要な原則は次のとおりです。

  • すべてのリソース、アイデンティティ、またはオペレーションは、JSON または YAML データとして表現できます。

  • ポリシーは、データに適用されるロジックです。

Rego は、JSON/YAML データの入力の評価方法に関するロジックを定義することで、ソフトウェアシステムが承認を決定するのに役立ちます。この問題に対する一般的な解決策は C、Java、Go、Python などのプログラミング言語ですが、Rego はシステムを表すデータと入力、およびこの情報を使用してポリシーを決定するためのロジックに焦点を当てるように設計されています。