SAML認証でConcrete CMSへログインできるようにすることができるアドオンです。
現在はマーケットプレイス非公開となっていますので、ご希望の方はマカルーデジタルまでお問い合わせください。

バージョン: 0.2.0

Entra ID(旧:AzureAD)側の設定方法はEntra ID(Azure AD)の設定をご覧ください。

 

Concrete CMS(アドオン)側の設定

管理画面 > システムと設定 > ログインとユーザー登録 > 認証タイプ ページに移動します。
一覧の中に表示されている「md_saml」をクリックします。md_saml_01.png


一般的なオプションの「認証タイプを有効にする」にチェックを入れます。
md_saml_02.png

 

認証タイプの設定欄が表示されます。
Service Provider Config 欄にある「Entity ID」をSAML認証システム側の「エンティティID」と同じ設定にします。
デフォルトでは次のような形式になっています。

https://お使いのドメイン/index.php/sp

「/sp」のみとなっている場合は、「https://お使いのドメイン/sp」の形式で入力してください。
※ もし、Concrete CMS でプリティーURLを有効化している場合は、上記URLから「index.php」を削除してください。

md_saml_03.png

SAML認証する上で、Concrete CMS上のユーザーとAD側を紐づける項目を設定することができます。
デフォルトではメールアドレスで判定する設定になりますので、必要に応じて設定を変更してください。

Link a Concrete CMS and SAML user if the email matches. Concrete CMSユーザーとSAML側のユーザーが同一かどうかをメールアドレスで判定します。(デフォルト)
Link a Concrete CMS and SAML user if the username matches. Concrete CMSユーザーとSAML側のユーザーが同一かどうかをユーザー名で判定します。
Only allow SAML users to log in with SAML authentication Concrete CMSへのログインをSAMLユーザーのみ許可します。

ページ右下の [保存] ボタンをクリックします。

 

Concrete CMS にフェデレーション メタデータ XMLファイルをアップロード

SAML認証システム側で取得したフェデレーション メタデータ XMLファイルをアドオンにアップロードします。

管理メニューの「認証タイプ」の下に表示されている「SAML Identity Providers」をクリックします。
表示された SAML Identity Providers ページ右上にある [Add Identity Provider] ボタンをクリックします。

md_saml_04.png

 

Metadata Uploadのところで、EntraID(Azure AD) の設定時に取得したフェデレーションメタデータXMLファイルをアップロードします。

md_saml_05.png

 

Concrete CMS の属性のマッピング

続けて、同じページで属性のマッピングを行います。

md_saml_05.png

Identiry Provider Name Concrete CMS の「SAML Identity Providers」ページに表示されるプロバイダー一覧上に表示する任意の名前を設定します。
Username Attribute AD側で設定したユーザーIDのクレーム名を設定します。
Email Attribute AD側で設定したメールアドレスのクレーム名を設定します。
Unique Attribute ユニークにするクレーム名を設定します。ここではメールアドレスの属性を指定します。
Group Attribute AD側で設定したグループ名のクレーム名を設定します。
Concrete CMSのユーザーグループと連携させる場合は、別途後述のグループ属性とのマッピングの設定をする必要があります。

XMLファイルのアップロード含め、設定が完了したらページ下の [保存] ボタンをクリックします。

 

その他ユーザー属性とのマッピング

Identity Provider の設定では基本、メールアドレスとユーザー名(とグループ)のみ連携されます。
その他氏名などの情報を連携したい場合は、別途属性のマッピング作業を行います。

md_saml の編集画面を表示した状態で、管理メニューの「認証タイプ」の下に表示されている「SAML Identity Providers」をクリックします。
表示された SAML Identity Providers ページ右上にある [Attribute Mapping] ボタンをクリックします。

md_saml_06.png

Attribute Mapping ページが表示されます。
Identity Provider が複数ある場合は、設定したいIdentity Providerをプルダウンメニューから選択します。

ページ上の [Add Attribute Mapping] ボタンをクリックします。

md_saml_07.png

Add Mapping の編集ポップアップが表示されます。
SAML Attribute 欄に、EntraID(Azure AD)側の連携したい属性クレーム名を入力します。
Concrete CMS Attribute 欄のプルダウンメニューから、連携先の属性名を選択します。

設定が完了したら、[Add mapping] ボタンをクリックします。

md_saml_08.png

一覧に設定が反映されます。
連携したい属性分、上記の登録作業を繰り返します。

md_saml_09.png

 

グループ属性のマッピング

EntraID(Azure AD)のグループと、Concrete CMSのユーザーグループのマッピングを行うことができます。
連携するにはあらかじめ、Identity Provider の設定で Group Attribute 項目を設定しておく必要があります。

md_saml の編集画面を表示した状態で、管理メニューの「認証タイプ」の下に表示されている「SAML Identity Providers」をクリックします。
表示された SAML Identity Providers ページ右上にある [Group Mapping] ボタンをクリックします。

md_saml_10.png

Group Mapping ページが表示されます。
Identity Provider が複数ある場合は、設定したいIdentity Providerをプルダウンメニューから選択します。

ページ上の [Add Group Mapping] ボタンをクリックします。

md_saml_11.png

Add Mapping の編集ポップアップが表示されます。
SAML Group 欄に、EntraID(Azure AD)側の連携したいグループ名を入力します。
Concrete CMS Group 欄のプルダウンメニューから、連携先のユーザーグループを選択します。

設定が完了したら、[新規] ボタンをクリックします。

md_saml_12.png

登録が完了すると、ポップアップの裏にある一覧に追加されます。
連携したいグループ分、表示されているポップアップで上記の登録作業を繰り返します。

設定が完了したら、ポップアップの [閉じる] ボタンをクリックします。

md_saml_13.png

※ 登録直後は削除できません。ページをリロードすると行の右側にゴミ箱アイコンが表示されますので、誤って登録した場合はページをリロードしてからゴミ箱アイコンをクリックしてください。