API Gateway の WebSocket API でカスタムルートに認証を設定することができるかどうかについて教えてください

2023.10.31

困っていた内容

API Gateway で認証付きの WebSocket API を構築しています。
WebSocket API ではカスタムルートを使用していますが、カスタムルートにも認証を設定することができるかどうかについて教えてください。

どう対応すればいいの?

カスタムルートのみに認証を設定することはできません。
ただし、$connect ルートに認証を設定することで API 全体に認証が適用されるためカスタムルートに対する認証を設定すること自体は可能です。

[認証] 設定は、$connect ルートだけではなく、API 全体に適用されます。$connect ルートは、すべての接続で呼び出されるため、他のルートを保護します。

AWS 公式ドキュメントより

WebSocket 接続はステートフルな接続であるため、$connect ルートのみで認証を設定できます。AuthN/AuthZ は接続時にのみ実行されます。

AWS 公式ドキュメントより

参考資料