1

誰が何にアクセスできるかを確認する代わりに、1 秒間に許可される接続数、または許可される帯域幅を返すポリシーを設定したいと考えています。true/false ではなく値を返すようにポリシーを定義するにはどうすればよいですか?

4

1 に答える 1

2

完全なルールは、VALUE を VARIABLE に割り当てる if-then ステートメントです。VALUE を省略すると、暗黙的に次のようになりtrueます。

allow { input.method == "GET" }

以下と同等です。

allow = true { input.method == "GET" }

allowまたはについて特別なことは何もありませんtrue。同様に、1 秒あたりの接続数の制限を設定するルールを定義できます。

connections_per_second = 7 { input.tier == "gold" }

複数の定義がある場合は、成功できるのは1 つだけであることに注意してください(そうしないと、OPA で競合エラーが発生します)。ポリシー内の競合を解決する必要があります。defaultこれを処理するには、 、else、否定など、さまざまな方法があります。

于 2021-11-02T16:26:44.663 に答える