OpenAMとMicrosoft 365のSAML連携


目次

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

事前準備

IdPの構築

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

ドメイン設定の確認

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

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

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

以下の3点を確認します

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

ユーザー情報の確認

OpenAM側とEntra ID(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に送信する属性の設定を行います。Entra ID(Azure AD)上の「ユーザープリンシパル名」と一致する値を「IDPEmail」という属性名で送る必要があります。「IDPEmail=(データストアの属性)」となるように「新しい値」を入力し、「追加」をクリックしてください。
    (例:IDPEmail=mail)

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

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

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

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

Entra ID(Azure AD) 側の設定

Entra ID(Azure AD) のフェデレーション設定をするために、「Microsoft 365 管理センター」の右メニューより Cloud Shell を起動し、ウィザードに表示される各コマンドを順番に実行していきます。 「コピー」をクリックしてコマンドをコピーし、Cloud Shellに直接貼り付けることで実行可能です。

  1. Microsoft Graph Command Line Tools へサインインするには Cloud Shell 内で、1つ目のコマンドを実行してください。その後 https://microsoft.com/devicelogin にアクセスして表示される「アクセス許可コードの入力」画面にコマンド実行結果の code (8桁の英数字)を入力して次へ進めます。

  2. Entra ID のフェデレーション(外部 IdP による認証)設定に表示される2つ目のコマンドが、フェデレーション設定するためのコマンドです。前の画面で入力した情報をもとに自動生成されます。同様にコピーしてCloud Shellから実行してください。

以上で設定は完了です

実際にログインしてみる

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

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

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

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

Go To Top