OpenAMとMicrosoft 365のSAML連携


目次

このページでは、OpenAMをIdPとしMicrosoft 365をSPとして、SAMLによるシングルサインオンを構成する方法を紹介します。

事前準備

IdPの構築

OpenAMはIdPとして構築が済んでいるものとします。

ドメイン設定の確認

Microsoft 365のログインに外部IdPを使用するには、フェデレーションドメインを構成する必要があります。フェデレーションドメインとして設定するためには、いくつか条件がありますので、条件を満たしているか事前に確認しておきます。

Micorosoft 365のユーザー情報やドメイン情報は、Azure ADで管理されているので、Azure ADに管理者アカウントでログインします。

画面左側のメニューの「カスタムドメイン名」をクリックします。

以下の3点を確認します

  • 初期ドメイン(onmicrosoft.com)はフェデレーションドメインに設定できません。こちらを参考にカスタムドメインを作成してください。
  • 既にフェデレーションドメインとして設定されているドメインは使用できません。使用するドメインの「フェデレーション」の欄にチェックがついていないことを確認してください。
  • プライマリドメインはフェデレーションドメインに設定できません。使用するドメインの「プライマリ」の欄にチェックがついていないことを確認してください。

ユーザー情報の確認

OpenAM側とAzure AD側に、対応するユーザーが登録されている必要があります。


Microsoft 365にログインするためには、ユーザーの「ユーザープリンシパル名」と「ImmutableID」の情報が必要です。

OpenAMのユーザーデータストアに、これらの値を持ったユーザーを登録しておきます。

今回は「ユーザープリンシパル名」を「mail」属性、「ImmutableID」を「employeeNumber」属性として、ユーザーを登録したものとします。

ウィザードを使ったセットアップ

※以下の機能はOSSTech OpenAM 14.1.0-1以降でお使いいただけます


OSSTech OpenAMにはMicrosoft 365とのSAML連携を簡単に設定するためのセットアップウィザードが備わっています。

OpenAM側の設定

OpenAM管理コンソールから「(対象のレルム)」→「Microsoft 365の設定」→「Microsoft 365の設定」をクリックします。

  1. 「事前準備」の欄には「1. 事前準備」で確認した事項が書かれています

  2. 「トラストサークルとアイデンティティープロバイダの設定」から、Microsoft 365を追加するトラストサークル、連携するIdPを選択します。

  3. 「リモートSPの設定」の「メタデータが配置されているURL」には、デフォルトでMicrosoft 365のメタデータが掲載されているURLが入力されますので、基本的には変える必要はありません。

  4. 「連携するドメイン名」にフェデレーションドメインに設定するドメイン名を入力します。

  5. 「属性マッピング」の欄では、Microsoft 365に送信する属性の設定を行います。Azure AD上の「ユーザープリンシパル名」と一致する値を「IDPEmail」という属性名で送る必要があります。「IDPEmail=(データストアの属性)」となるように「新しい値」を入力し、「追加」をクリックしてください。
    (例:IDPEmail=mail)

  6. 「Disable NameID Persistence」の設定を有効にする必要があります。デフォルトでチェックが入りますので、変更するは必要はありません。

  7. 「NameID値マッピング」も同様に送信する値を設定します。Azure AD上の「ImmutableID」と一致する値を「urn:oasis:names:tc:SAML:2.0:nameid-format:persistent」のフォーマットで送信する必要があります。「属性マッピング」と同様に、対応するデータストアの属性を設定してください。
    (例:urn:oasis:names:tc:SAML:2.0:nameid-format:persistent=employeeNumber)

全ての項目を入力したら、画面上部の「作成」をクリックします。

正常に設定が完了すると、以下のような画面が表示されます。「了解」をクリックして次に進みます。

Azure AD側の設定

Azure ADのフェデレーションドメインの設定を行うには、PowerShellからコマンドを入力する必要があります。PowerShellを管理者権限で起動してください。

各コマンドを順番に実行していきます。「コピー」をクリックしてコマンドをコピーし、PowerShellに直接貼り付けることで実行可能です。

  1. 2つの「Install-module …」コマンドは、設定に必要なモジュールをインストールするコマンドです。コマンド入力後にインストールの確認を求められるので、「Y」を入力して同意してください。

  2. 「Connect-MsolService」のコマンドを入力すると、ポップアップウィンドウが表示され、ログインを求められます。管理者アカウントでログインしてください。

  3. 最後のコマンドがフェデレーションドメインを設定するためのコマンドです。前の画面で入力した情報をもとに自動生成されます。同様にコピーしてPowerShellから実行してください。

以上で設定は完了です

実際にログインしてみる

Microsoft 365のホームページからログイン画面に移動します。

ユーザープリンシパル名を入力すると、OpenAMにリダイレクトされます。

OpenAMでのユーザー名・パスワードを入力しログインに成功すると、Microsoft 365のホーム画面にリダイレクトされます。

OpenAMの認証でMicrosoft 365にログインすることができました。

Go To Top