開発者ポータルBackstageのマネージドサービス「PlaTT(プラット)」にPermission(ロールベースアクセス制御)機能を正式導入!
プラットフォームエンジニアリングを推進する組織に開発者ポータルの始めやすさと拡張性を提供する、開発者ポータルBackstageとAIを組み合わせたマネージドサービス「PlaTT(プラット)」で、新たにPermission(ロールベースアクセス制御)機能を正式導入しました。
Permission機能の導入により、Backstage内でのデータアクセスやテンプレートの実行がより安全に管理できるようになりました。
Backstageは開発者にとって非常に便利なOSSポータルですが、その管理維持や多岐にわたるアクセス制御には多くのリソースと労力を要します。オープンソースのままでは、Permission機能がオプション扱いとなり、独自にTypescriptを用いてPermission Policyを記述する必要がありました。
これらの課題を解決するために、アクセス制御を簡略化し、管理・運用しやすいものへとするために機能拡張に取り組みました。
◆「PlaTT」Permission機能の概要
「PlaTT」でのPermission機能により、ユーザーが持つ役割ごとにBackstage内のデータの読み書き等のアクセス可否やテンプレート機能の実行可否を設定することができるようになります。
アクセス制御の対象はBackstageの各Plugin側で規定されており、CatalogやScaffolder TemplateなどのPluginに対するアクセス制御を行うことができます。
これにより、企業や組織はユーザーごとの役割に応じて柔軟にアクセス制御を行うことが可能になります。
◆「PlaTT」Permission機能の特徴
「PlaTT」ではPermissionの管理にOPA(Open Policy Agent)を利用しており、Backstageとの連携部分にはbackstage-opa-pluginを利用しています。
OPAではRegoというポリシー言語でPermission Policyをコードとして記述します。コード化が可能なことで、GitHub等を利用したコードレビューも実現できますし、過去の変更履歴も管理可能です。これにより適用したポリシーを元に戻すことも容易になります。さらにテストツールを利用して、適用前に単体テストなども行うことができるようになります。
こうしたPolicy as Codeを実現できるのがOPAを利用する利点です。また、サンプルポリシーコードも当社からOpen Sourceとして公開しています。
ユーザーは、組織の各種ロールに従ってアクセス制御を定義する必要がありますが、このテンプレートを活用することで比較的容易に指定が可能です。
◆「PlaTT」シリーズ サービス概要
開発者ポータル「PlaTT」シリーズは開発者ポータルBackstageとAIを組み合わせたマネージドサービスです。
プラットフォームエンジニアリングを推進する組織に、開発者ポータルの始めやすさと拡張性を提供します。
ー サービスページ:https://www.ap-com.co.jp/platt/
<サービスラインナップ>
PlaTT BASE
PlaTTシリーズの根幹となる、Backstageのマネージドサービス
PlaTT AIアシスタント
システムに関する各種問い合わせに対応するPlaTTのAIアシスタントプラグイン
PlaTT Software Template
ソフトウェアテンプレートを提供する定額制のサービス
PlaTT オンボーディング
Platform EngineeringとBackstageの社内浸透を推し進めるオンボーディングコンテンツ
PlaTT 並走サービス
開発・構築・運用からPlaTTの拡張までを並走支援
Permission機能の正式導入により、「PlaTT」はさらに管理しやすいサービスへと進化しました。そして、組織は開発者ポータルをより効果的かつ安全に活用できるようになりました。
今後もユーザーの声を取り入れ、より使いやすい環境の提供に努めてまいります。
* * * *
APCでは中途も新卒も積極的に採用中です。お気軽にご連絡ください!
▼エンジニアによる技術情報発信
tech blog APC
Qiita