Backstageの通信が原則セキュアに
今回は過去の記事の情報更新です。
2023年12月に、「BackstageのデフォルトでAPI呼び出しはセキュアじゃないよ」という紹介をしました。
その後Backstageでは「New Backend System」というものが公開されました。実はNew Backend Systemを導入する中で、 「BackstageのデフォルトでAPI呼び出しはセキュアじゃないよ」
に関する部分にも取り組み、「デフォルトでセキュア」になるような機能が盛り込まれました。
なお、セキュアになっているのは /api で始まるURLです。
前回の記事で挙げていた問題の1つであるtech docsのイメージ等のコンテンツは /api/techdocs 以下のURLになりますので、自動的に保護対象になります。 TechDocsアクセスの最初のタイミングで /api/techdocs/cookie というAPIが呼び出され、そこでCookieを設定。イメージ取得の際はこのCookieを付与することで保護しています。
rootHttpRouter 配下については対象となっていませんので今後も注意が必要です。
New backend systemを利用する場合は以前ご紹介したPlugin2つ
は不要になりますのでご注意ください(これらのPluginは近日中に deprecate していきたいと思います)
注意事項
New backend systemがBackstageのデフォルトモードに変わり、上記のような認証強化の仕組みが導入されたのが v1.24.0 からになります。 まだ実装されて日が浅いせいか、認証関連の不具合がいくつか報告されています。 実は今回のtechdocsのcookieの部分についてはも、主に開発環境でしか発生しませんが小さな不具合があり、私のほうで修正のPull Requestを出していました。
紹介しておいてなんですが、もしこれからNew backend systemに移行されるようでしたら、1.26以降までお待ちになるとよいかと思います。
最後に
以前ご紹介した内容が変わったのにそのまま放置するのも心苦しいので、今回はアップデート内容を簡単にご紹介しました。
Platform EngineeringやInternal Developer Portalといった言葉が急速に広まり始め、Backstageを利用される方も徐々に増えつつあると思います。 少しでもそうした方の参考になれば幸いです。