Content Hub - シングルサインオンの検証

公開日 :

Sitecore Content Hub にログインをして利用する際に、シングルサインオンの仕組みとの連携が可能となっています。ここでは、SSOCircle の仕組みを利用して、実際にシングルサインオンに関する検証手順について紹介をしています。

SSOCircle を利用して検証

今回は SSOCircle を利用することで、簡単に SAML 認証に関して検証をすることができます。

アカウントの作成

初めて利用する際にはアカウントを作成してください。

random desc

登録を完了したあと、しばらくすると登録ユーザーのメールアドレスに、Activation のための URL が記述されたメールが送信されます。メールに含まれている URL をクリックすることで、アカウントがアクティベーションされます。

random desc

アカウントが有効になったところで、実際にログインをしてください。

random desc

ログインができれば、アカウントの作成は完了となります。

Meta data の登録

サービスプロバイダーに関する設定を進めていきます。ログインをしている画面の左側のメニューに `Manage Metadata` の項目があります。クリックをすると以下の画面になります。

random desc

今回はサービスプロバイダーを追加するために、一番上に表示されている `Add new Service Provider` の項目をクリックしてください。

random desc

この画面で表示されている内容としては、以下の 2 をまず入力してください。

  • FQDN Sitecore Content Hub の FQDN を入力してください

  • Attributes sent in assertition UserID と EmailAddresss の2つの項目をチェックしてください。

random desc

下に記載されている SAML Meta データを提供する必要がありますが、このコードを生成する手順は画面に記載されている you can build it here をクリックすると画面が切り替わります。

画面が切り替わったところで、以下の2つの項目を入力するように表示されます。

  • EntityID

  • ACS URL

EntityID にはサーバーの URL を入力してください。この際、最後に / を設定する必要があります。続いて ACS URL に関しては、EntityID の URL に対して、AuthServices/Acs を追加した URL を入力します。上記2つの項目を入力したあと、insert のボタンをクリックすると、Meta データが完成します。

出来上がったメタデータを、元のページに登録して、Submit ボタンを押すと、手続きが完了となります。

random desc

これで SSOCircle の設定が完了です

Sitecore Content Hub の環境の準備

以下の手順で認証に関する仕組みを変更していきます。

ログインモードを Active から Passive に変更

Sitecore Content Hub のサンドボックス環境では、標準で提供されているシングルサインオンのみで動作する形で展開されることがあります。

この設定を変更するために、以下の手順でパラメーターを変更してください。

  1. ツール Manage を開きます

  2. 設定を確認する Settings を開きます

  3. 検索ボックスに Auth と入力すると、PortalConfiguration の項目の下にある Authentication を見つけることができます

  4. Authentication を開きます

  5. 表示モードを Tree から Text に変更をします

  6. authentication_mode_Active_ になっている場合、Passive に変更します

これにより、ログアウトをするとログインボックスが表示されるようになります。authentication_mode がすでに Passive になっている場合は、変更せずに次に進みます。

random desc

設定を変更すると、ログインのダイアログが表示されるようになります。

random desc

管理者でログインができるか確認をする

管理者としてログインできるアカウントを作成します。すでに管理者として上記の画面からログインをしている場合は、この手順をパスすることができます。アカウントの作成、パスワードの設定に関しては、別途後日紹介をします。

SSOCircle の設定を反映させる

すでに設定されている認証の設定を変更して、検証のための SSOCircle の設定に変更をしていきます。改めて Authentication の設定画面に移動して、コードを見ると以下のようになっています。

"Providers": [
  {
    "$type": "Stylelabs.M.Portal.Authentication.SamlAuthenticationProviderConfigurator, Stylelabs.M.Portal",
    "metadata_location": "https://stylelabs.eu.auth0.com/samlp/metadata/JyVO5bQjk6n3mrUJnUZ02vMuA1K4MiaY",
    "sp_entity_id": "urn:stylelabs.eu.auth0.com",
    "idp_entity_id": "urn:stylelabs.eu.auth0.com",
    "provider_name": "SSO",
    "authentication_mode": "Passive",
    "module_path": "AuthServices",
    "is_enabled": true
  }
],

この設定で提供されているログイン画面は以下の通りです。

random desc

SSOCircle と連携してログインの仕組みを利用するために、パラメーターに関しては以下の項目を変更します。

パラメーター

metadata_location

https://idp.ssocircle.com/meta-idp.xml

sp_entity_id

インスタンスの URL を記載します

idp_entity_id

SSOCircle のサイトから取得します

provider_name

SSOCircle に名前を変更します

idp_entity_id の値を取得するためには、_metadata_location_ の URL にアクセスをして、XML の1行目に記載されている ipd_entity_id を引用する形となります。ここでは以下の値となりました。

random desc

結果、以下のパラメータを設定します。

パラメーター

metadata_location

https://idp.ssocircle.com/meta-idp.xml

sp_entity_id

https://jpntraining09.stylelabs.io/

idp_entity_id

https://idp.ssocircle.com

provider_name

SSOCircle

{
  "$type": "Stylelabs.M.Portal.Authentication.SamlAuthenticationProviderConfigurator, Stylelabs.M.Portal",
  "metadata_location": "https://idp.ssocircle.com/meta-idp.xml",
  "sp_entity_id": "https://jpntraining09.stylelabs.io/",
  "idp_entity_id": "https://idp.ssocircle.com",
  "provider_name": "SSOCircle",
  "authentication_mode": "Passive",
  "module_path": "AuthServices",
  "is_enabled": true
}

また、SSOCircle と連携させるためには、以下の 3 つの項目を変更してください。

  "UsernameClaimType": "UserID",
  "EmailClaimType": "EmailAddress",
  "PostSignOutRedirectUrl": "/en-us/account",

random desc

設定が完了したあと、ログアウトをすると以下のようにログインボックスにボタンが追加されています。

random desc

シングルサインオンの検証

シングルサインオンの検証をするために、SSOCircle にログインをしているブラウザがある場合は、ログオフをしてください(無料プランの場合は制限があるため)。

  1. ログイン画面で、SSOCircle のボタンをクリックします

  2. SSOCircle のログイン画面が表示されます

  3. 事前に作成していたアカウントでログインをします

  4. Sitecore Content Hub にログインできます

ログインをした段階では一般ユーザーの権限のみとなっているため、ユーザーの権限に関してはログイン後設定をしてください。

random desc

まとめ

今回はシングルサインオンの実装の検証、ということで SSOCircle を利用して、SSOCircle で作成したアカウントでログインができることを確認しました。実際の SSO の実装の場合は、利用している仕組みに合わせた実装をしていただく必要があります。

参考情報