各テナント 300 秒間に 10 回までしかアクセス出来ないようにします。 なので user1 が 10 回リクエストを送信すると、tenant1 の user1 と user2 は一定期間はリクエストに失敗するはずです。 一方でその間にも別のテナントである tenant2 の user3 はアクセス出来るはずです。 今回リクエストテストは API Management のテスト機能を使いました。 各ユーザーの JWT は事前に払い出しておき、テストパネルから Authorization ヘッダーに設定します。 試しに user1 でリクエストを送信してみると、次のようにポリシーが動作している様子が確認出来ました。 API Management のトレース実行機能を使ってるのですが、これめちゃくちゃ良いな...! rate-limit-by-keyのところでtenant1が抽出されており、
![マルチテナント SaaS のノイジーネイバー対策を想定して Azure API Management のポリシーでテナントコンテキストをカウンターキーにしてみる | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/65933e1a59d5dd7e93c6f119773d5b0c5e9c22ef/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2022%2F08%2Fdevio-eyecatch-Azure.png)