セルフホスト型DiscourseでのSAMLプラグイン

SAML 認証プラグインのページ(こちら)には、「SAML 認証はエンタープライズホスティングプランで利用可能です」と記載されています。

これは、自分でホストしている Discourse の無料版では SAML 認証を使用できないということでしょうか?理想的には、Discourse インスタンスで Azure AD 認証を使いたいと考えています。

使用できます。プラグインは GitHub - discourse/discourse-saml: Support for SAML in Discourse · GitHub で入手可能です。

そのメッセージは、当社のホスティングに関するものです。標準プランまたはビジネスプランでは、SAML プラグインを使用できないことを意味しています。

ただし、Azure AD の場合は SAML は不要です。より簡単なセットアップについては、Discourse OpenID Connect (OIDC) をご覧ください。末尾に Azure AD 固有の注意事項があります。

Pluginディレクトリに記載されているすべてのプラグインを、自分でホストしている無料のDiscourseインスタンスで使用できますか?

もちろんです!さらに、ウェブサイトに記載されているものよりもはるかに多くの#officialプラグインを自由に利用できます。#theme-componentもぜひチェックしてください。

追加の情報をいただき、ありがとうございます。

つまり、内部ユーザーは Azure AD を認証/登録に使用し、外部ユーザーはローカルアカウントまたは他のアカウント登録プラグインを通じて登録できるようにしたい、というのが目標ですね。そのため、最初に SAML を考えました。

OpenID Connect 認証プラグインを Azure AD に限定し、内部ユーザーのみに制限することは可能でしょうか?

OpenID Connect および SAML はどちらも「認証プロバイダー」です。サイトにいずれかを設定すると、デフォルトでユーザーはローカルログインまたは認証プロバイダーのいずれかを選択できるようになります。メタ(Meta)がよい例で、ローカルログイン、Facebook、Google、GitHub などの選択肢があります。

あなたのケースでは、ユーザーはローカルと OpenID の間、あるいはローカルと SAML の間で選択することになります。どちらを選ぶかは、ご自身の環境で設定が容易な方をお選びください。

どちらのプラグインを使用しても可能です。ログインできるユーザーは、接続に使用するプラグインではなく、Azure AD 側で管理されます。

ただし、外部ユーザーからはそれを非表示にすることは可能でしょうか?お客様が Azure AD でログインできると誤解して試行してしまうのを防ぎたいと考えています。

Azure AD 認証のみが利用可能で、内部ユーザーのみが知る別のログイン/登録ページを用意するのはどうでしょうか?

CSS を使用してログインリンクを非表示にすれば、ユーザーには表示されません。その後、内部ユーザー向けに OpenID または SAML ログインへの直接リンクを共有(または社内サイト上で公開)できます。ユーザーがログインページにアクセスした時点ではログインしていないため、内部ユーザーかどうかを判別する方法はありません。

混乱を避けるために、ボタンのラベルを変更することもできます。例えば、以下の画像では、内部ユーザー向けのボタンを「Discourse スタッフ」とラベル付けしています。Discourse スタッフ以外がこのボタンを使おうとしても、それは仕方がありません。

Joshua さん、迅速かつ有益なお手伝いをいただき、心から感謝申し上げます。
本当にありがとうございます。お気をつけて!