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

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

Rego の概要

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

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

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

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

  • 高可用性を実現するために、このコンテナをどのクラスターにデプロイする必要がありますか?

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

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

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

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

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