APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【Backstage】GitHub EMU利用時のBackstageサインイン

GitHub Enterprise Managed Users

こんにちは。ACS事業部 イチBackstage推しの亀崎です。

皆さんはGitHub EMU(Enterprise Managed Users)をご存知でしょうか。 これは企業等の組織が自身のIDプロバイダ(IdP)と連携させ、GitHub.com上のアカウント管理を一元化する機能です。 これにより組織はGitHubアカウントの作成・プロビジョニング・アクセス権限をIdP経由で管理でき、セキュリティ強化、コンプライアンス遵守、ガバナンス向上を実現します。

EMUを利用することで、Microsoft Entra IDを組織内のIDプロバイダとしている場合はGitHubのサインイン時にMicrosoft Entra IDでシングルサインオンすることができるというわけです。

Backstageの認証はどこに委任すべきか

Backstage は主にGitHub等のコードリポジトリと連携して様々なカタログ情報を提供するツールです。 コードリポジトリ上のカタログ情報(catalog-info.yaml)を収集し、Backstage内に蓄積、ユーザーに一覧情報等を提供します。リポジトリ内に作成されたMarkdownによるドキュメントやOpenAPIなどの定義情報もカタログ情報として収集し、Backstage内で表示可能です。 この他、テンプレート機能というものであらかじめ用意したファイルや設定を利用し、新しいリポジトリにその情報をコピーして作成するといったこともできます。

こうしたことから、BackstageはGitHubなどのリポジトリツールと連携することが重要となり、シングルサインオン機能もGitHubなどのリポジトリツールと連携する機能を提供しています。

backstage.io

したがって通常は以下のように、Backstageからシングルサインオン連携としてGitHubを利用するようになります。

では、GitHub EMU(Enterprise Managed Users)を利用している場合はどうでしょうか?BackstageがGitHubに、GitHubがIdP(Entra IDなど)にシングルサインオンするといった設定になっている場合、以下のように多段の構成になると思います。

こうした設定で動くのでしょうか。少し不安に思うと思いますので、実際にやってみました。

GitHub EMU利用時のBackstage GitHub認証

Backstage側の設定は、一般的なGitHub認証連携そのままで特にGitHub EMUだからといって変更した部分はありません。

backstage.io

この構成でBackstageのサイン員画面に遷移すると、最初に以下のようなサインインダイアログが表示されます。

ここまでは通常のGitHub認証連携とまったく同じです。

ポイントはここからになります。ここで、username欄 に GitHubのアカウント名を入力します。 すると画面表示が変わり、パスワード欄は入力できなくなり「Sign in with your identity provider」というボタンが表示されます。

この状態で「Sign in with your identity provider」のボタンを押すと、EMUで連携したIdP(例えばEntra ID)のサインイン画面が表示されます。 IdP側のサインインが完了すると、ダイアログもクローズされBackstageのサインインが完了します。

こちらはGitHubの「Enterprise Managed Usersによる認証」の中の「ログインページを介した認証」のところで記載されている内容にもなります。BackstageのGitHub認証(中では passport-github2 を利用)はこの”ログインページを介した認証”に該当します。

docs.github.com

GitHubのサインイン画面とIdPのサインイン画面の2度ID入力をしなければならない点が少し煩雑ですが、シングルサインオン機能ですのですでにGitHubのほうにサインインしていればサインインダイアログ等も表示されることなく認証が完了でき、煩雑さも多少は解消できるものと思います。

ということで、無事GitHub EMU環境でもBackstageのシングルサインオン先としてGitHubを利用することができました。 これで安心してBackstageを利用することができますね。

PlaTTのご紹介

ソフトウェア開発資産のカタログ管理として有効なBackstageですが、OSSということもあり、今回のような機能検証であったり、必要な機能の追加やアップデート等の管理が面倒なものです。また、導入して終わりというものでもなく、使い方を探求することでその能力を100%発揮できるようになるものも多いです。 こういうところを1つ1つ解消するのって面倒ではありませんか? そんな面倒さを解消するのが、私たちが提供するBackstageのManaged Service「PlaTT」です。

techblog.ap-com.co.jp

以前から紹介しているブログの記事を見ていただいてもわかる通り、自社で様々な検証も行っており、皆さんの「面倒」を解消することができると考えています。 ご興味のある方がいらっしゃいましたらぜひ弊社までご連絡ください。

よろしくお願いします。

www.ap-com.co.jp

www.ap-com.co.jp