Quarkusとは、KubernetesネイティブのJavaフレームワークです。Quarkusを使用することで、コンテナに最適化されたJavaアプリケーションを開発できます。ここではQuarkusとKeycloakを組み合わせた堅牢化方法をご紹介します(図2)。 前回は各サービスにそれぞれIstioのAuthorizationPolicyを作成し導入することで、各サービスにJWTによるアクセス制御を追加しました。Quarkusのkeycloak-authorizationエクステンションを使うと、各サービスのアクセス制御ロジックをKeycloakの認可サービスに集約することができます。 各サービスのアクセス制御ロジックを、各サービスで個別に持つべきか、認可サーバ側で集約して持つべきかについては一長一短があり、またシステムの要件に大きく依存する部分があるため、一概にどちらが良いとは言えません
![コンテナ上のマイクロサービスの認証強化 ~QuarkusとKeycloak~](https://cdn-ak-scissors.b.st-hatena.com/image/square/028d1c1ae3c024d7ce0ab3e21f8b0e127437fba8/height=288;version=1;width=512/https%3A%2F%2Fthinkit.co.jp%2Fsites%2Fdefault%2Ffiles%2Fmain_images%2F18062_main.jpg)