3.2. Azure Active Directory の設定

Sitecore は Active Directory を利用したシングルサインオンの連携を標準で利用することできるようになっています。ここでは、その手順に関して紹介をしています。

3.2.1. Azure Active Directory の準備

ここでは検証用の Active Directory を Microsoft Azure 上で準備します。なお、テスト・検証用程度で利用するのであれば無料で利用することが可能です。

  • Azure Portal へアクセス、ログインします

  • 左側のメニューから「リソースの作成」を選択

  • Azure Marketplace の ID をクリック

  • Azure Active Directory の項目を選択します

Azure Active Directory" />
  • 組織名初期ドメイン名 を選択します。初期ドメイン名に関しては onmicrosoft.com のドメインが設定される形となりますが、あとで独自ドメインを設定することも可能です。

ディレクトリの作成 作成中
  • 数分で Azure Active Directory が作成されます

3.2.3. Sitecore の設定

続いて Sitecore の設定を進めていきます。まず、Sitecore Identity Server の設定ファイル、 sitecoreSitecore.Plugin.IdentityProvider.AzureAdConfig のフォルダの中にある Sitecore.Plugin.IdentityProvider.AzureAd.xml を編集します。

設定ファイルの確認

このファイルの項目のうち、Settings : Sitecore : ExternalIdentityProviders : IdentityProviders : AzureAd にある3つの項目を変更してください。ID に関しては Azure AD の概要の項目になります。

設定項目

設定する値

Enabled

True

ClientId

アプリケーション(クライアント)ID

TenantId

ディレクトリ(テナント)ID

<AuthenticationScheme>IdS4-AzureAd</AuthenticationScheme>
<DisplayName>Azure AD</DisplayName>
<Enabled>true</Enabled>
<ClientId>{Place ClientID here}</ClientId>
<TenantId>{Place TenantID here}</TenantId>
設定ファイルの確認

これで設定が完了となります。Sitecore Identity Server を再起動すると、ログイン画面が変わります。

Azure AD のボタンが表示される

3.2.4. ログインの検証

Azure AD にログインできるユーザーを作成します。メニューの「管理」-「ユーザー」をクリックして、メニューに表示される「新しいユーザー」をクリックして作成をします。

続いて、現在管理画面を開いているブラウザとは別のブラウザ、もしくはプライベートモードで別のウィンドウを開いてください。この手順を実施する理由としては、AD 管理画面に入っている場合、マイクロソフトアカウントとしてログインをしている状態となるためテストができないためです。

新しく開いたブラウザでログイン画面を開き「Azure AD」のボタンをクリックしてください。

ログイン画面

作成をしたアカウントでログインを進めていきます。ログインの手続きが終わった段階で、以下のようなエラーが出ればシングルサインオン自体は成功しています。

エラー画面

3.2.5. ロールのマッピング

Sitecore のロールと AD のグループを紐づけることで、シングルサインオンをした後、使うことができる権限を設定することができます。

まず Active Directory にグループを作成します。今回は、SitecoreAuthor というグループを作成しました。

グループの作成

作成したグループにユーザーを追加します。

ユーザーの追加

続いてグループの「概要」を開いて、オブジェクト ID を確認します。

オブジェクト ID の確認

このオブジェクト ID を Sitecore Identity Server の設定に反映をさせます。反映させるファイルは、sitecoreSitecore.Plugin.IdentityProvider.AzureAdConfig のフォルダにある Sitecore.Plugin.IdentityProvider.AzureAd.xml です。

取得したオブジェクト ID を 以下のように Claim1 type="groups" の value に反映させます。

<AzureGroupTransformation type="Sitecore.Plugin.IdentityProviders.DefaultClaimsTransformation, Sitecore.Plugin.IdentityProviders">
  <SourceClaims>
    <Claim1 type="groups" value="e2bf4152-9957-4ba9-8a7e-9f0c77616c4e" />
  </SourceClaims>
  <NewClaims>
    <Claim1 type="role" value="sitecore\Author" />
  </NewClaims>
</AzureGroupTransformation>

この設定の場合は、Sitecore のロールとして SitecoreAuthor に反映させる設定になっています。

この状態でログインをすると、AD を利用してログインをすることが可能となります。

ログインに成功