Hatの公式なドキュメントではありません。Hat主体で開発が進められているAPI管理製品です。2.2を試してみた」の「3scaleとは」をご参照ください。MTLSベースのアクセス制御を機能追加するパッチを出し、無事に3scaleにマージされましたのでご紹介します。2.8あたりで、本機能がサポートないしテクノロジープレビューという形で公開されるのではないかと想定しております。Tokens)とは、下図のような、トークン横取り攻撃を軽減するための方式です。Groupによって仕様化されています(Internet-Draft段階)。Tokenの場合、トークンの所持者以外の第三者でもトークンを行使できるという課題があるため、上図のようにトークンさえ横取りしてしまえば、攻撃者はリソースに自由にアクセスできるようになります。Tokenの場合、トークンの所持者以外の第三者がトークンを行使しようとした場合これを検知できます。MTLSの具体的な方式は下図です。クライアントは、トークンリクエスト時に、認可サーバに対してクライアント証明書を送付します。認可サーバは、発行するトークンに、クライアント証明書のハッシュ値を含めます。クライアントは、リソースアクセス時に、リソースサーバに対してクライアント証明書を送付します。リソースサーバは、送付されたクライアント証明書のハッシュ値を計算し、トークンに含まれるハッシュ値と一致するかを確認することで、不正アクセスを検知することができます。TokenとKeycloakについて」という記事が参考になりますので、そちらをご参考ください。MTLSがサポートされています。Keycloakは認可サーバですので、あくまで実現できるのは、上図における「トークンにクライアント証明書のハッシュ値を含める」という部分のみである点に注意してください。MTLSベースのアクセス制御(つまり、トークンに含まれるハッシュ値と送付されたクライアント証明書のハッシュ値の一致を確認する処理)が不可欠です。#1101では、当該処理をポリシーとして作り込みました。MTLSポリシーは、現在GitHub上にしか存在しないため、使用するためには独自ポリシーとしてインポートする必要があります。インポート方法に関しては、ThinkITで連載している「フルセットのOSSベースAPI管理基盤3scale入門」の第4回「3scaleのAPIゲートウェイの機能を拡張してみよう!」の「独自開発ポリシーのインポート」の部分をご参考ください。MTLSポリシーがポリシー一覧に表示されます。MTLSポリシーを設定できます。実際に動作を確認してみましょう。事前にクライアント証明書のハッシュ値が格納されたアクセストークンを発行し、環境変数tokenに格納。MTLSベースのアクセス制御を紹介しました。Token)は注目を浴びている技術の一つです。MTLSベースのアクセス制御を実装するAPIゲートウェイというのは非常にレアかと思いますので、この機会に是非3scaleをお試しください。OSSソリューションセンタ社内でのOSS活用推進や、OSSコミュニティ活動などを行っています。upLoginユーザーは見つかりませんでした。