Blog article

Blog article

YubiOn Portal SSOを使用してMicrosoft 365へのSSOを試してみた

2022年3月16日、弊社サービス「YubiOn Portal」にシングルサインオン(SSO)の機能が追加されました。YubiOn Portalにログインすることで各サービスを認証することなく利用できるようになります。今回は、それらサービスの中で設定が少し複雑なMicrosoft 365のSSO設定手順をご紹介したいと思います。



【前提条件】

■ Microsoft 365

「全体管理者」のアカウントを有している必要があります。

(今回は、無料体験版を使用しました)


また、Microsoft 365の仕様により、以下のようなドメインはフェデレーションドメイン(連携させるドメイン)に設定できません。

 ・初期ドメイン(xxx.onmicrosoft.com)

 ・プライマリドメイン(既定値に設定されているドメイン)

 ・既にフェデレーションドメインとして設定されているドメイン


ということで、xxx.onmicrosoft.com形式の初期ドメインを既定値として設定し、新たに作成したカスタムドメインをフェデレーションドメインとして構成してみました。


ちなみに私は、Dynamic DO!.jpというDDNSサービスを利用してカスタムドメインを作成しました。


■ YubiOn Portal

・Yubico OTP機能が付いたYubiKeyを持っていること。

YubiOn Portalに登録し、操作者にYubiKeyを紐付けておくこと。

・YubiOn PortalでSSO機能を使用できる状態(SSO初期登録済み)であること。

 SSO App設定画面に[SSO初期登録]ボタンが表示されていなければ登録済みです。



【事前準備】

1. Microsoft 365にドメインを追加します。


2. PowerShell(Microsoft Azure Active Directoryモジュール)をインストールします。

Microsoft 365のSSOの設定は、一般的なサービスのSSO設定と異なり、お使いのPC上のPowerShellを使って行います。


スタートメニューよりPowerShellを起動し、以下を実行します。

Install-Module MSOnline

NuGet プロバイダーやPSGallery からモジュールのインストールを求められた場合は、インストールします。


インストール後、Microsoft 365サブスクリプション用のAzure ADに接続します。

Connect-MsolService

ログインプロンプトが表示されるので、「全体管理者」の権限を持つMicrosoft 365 アカウント(@xxx.onmicrosoft.com)でログインを行えばOKです。



【手順1】

ImmutableIDを設定します。

Microsoft 365では、ユーザーを一意に識別するためにImmutableID属性が使用されます。

YubiOn PortalとMicrosoft 365でSSOを行うために、ユーザーごとにImmutableIDを設定する必要があります。


ImmutableIDはユーザーの作成方法によってすでに設定されている場合があるため、まず対象のユーザーにImmutableIDが設定されていないことを確認します。


PowerShellを起動し、以下を実行します。

Get-MsolUser -UserPrincipalName "(メールアドレス)" | select UserPrincipalName,ImmutableId

例えばこんな感じです。


上のようにImmutableIDが設定されていない場合は設定します。

尚、ImmutableIDは一度設定すると変更することはできないため、今後、変更の可能性のある情報(姓や職位など)を設定することは望ましくないらしいです。

Set-MsolUser -UserPrincipalName "(メールアドレス)" -ImmutableId (任意のImmutableID)

今回はお試しなので、ダミーのメールアドレスを設定しました。


実際に、会社で運用される場合は様々な事情でメールアドレスを変更する可能性もあると思いますので、ImmutableIDは慎重に決めた方が良さそうです。


再度、確認のコマンドを実行して、正しく設定されてることを確認しましょう。



【手順2】

YubiOn Portalをアイデンティティプロバイダ(IdP)として設定します。


今回は、ImmutableIDに(ダミーの)メールアドレスを設定しているので、それをMicrosoft 365に渡す方法として、メンバープロパティに登録する方法を紹介します。


例えば、社員ID(メンバーID)やYubiOn Portalに登録しているメールアドレスをImmutableIDに設定している場合は、手順2の作業は不要です。

手順3に進んでください。


YubiOn Portalに管理者でログインし、「SSO プロパティ設定」画面を開きます。


画面右上の[プロパティ登録]からプロパティ登録画面を開いて、

YubiOn PortalからMicrosoft 365にImmutableIDを渡すための情報を登録します。

プロパティキー:ms_immutable_id(例)

備考:Microsoft用ImmutableID(例)


続いて、SSOを行うユーザーにImmutableIDを設定するため、メンバー管理画面を開きます。


SSOを行うメンバーをクリックして詳細設定画面を開き、先程作成したプロパティキーを編集します。


SSOプロパティ値に手順1で設定したImmutableIDを登録します。



【手順3】

YubiOn Portal(IdP)設定の続きです。


SSO App設定画面を開きます。


[Appを選択して追加]からアプリケーション登録画面を開いて、「Microsoft 365」を選択します。

すると、App一覧に「Microsoft 365」が表示されますので、クリックして設定画面に入ります。


アプリケーション設定の「設定編集」をクリックします。


設定編集画面で以下の情報を設定します。

 SPログインURL  :https://login.microsoftonline.com/login.srf

 ユーザーID値設定 

      設定方法:プロパティ

       設定値:ms_immutable_id(手順2で登録したメンバープロパティキー)

 デフォルトリレー値:(空白) ※「詳細設定」リンクをクリックすることで編集可


尚、ユーザーID値設定に関して、今回はImmutableIDにダミー用のメールアドレスを登録したので、プロパティ情報を使用しましたが、例えばメンバーIDとして社員IDやYubiOn Portalに登録しているメールアドレスなどを設定している場合は、

 ユーザーID値設定

      設定方法:メンバー情報

       設定値:メンバーIDメールアドレス

を設定すればOKです。

他にもいろいろな設定方法がありますので、お試しください。



最後に、SSOを行いたいメンバーを割り当てます。


SSOを行うメンバーを選択し、[登録]ボタンをクリックします。


YubiOn Portal(IdP)側の設定は以上です。



【手順4】

Microsoft 365 をサービスプロバイダ(SP)として設定します。


PowerShellを起動し、以下を実行します。

Set-MsolDomainAuthentication
-DomainName (ドメイン名)
-PassiveLogOnUri (IdPログインURL)
-IssuerUri (IdPエンティティID)
-SigningCertificate (証明書の内容)
-LogOffUri https://es.yubion.com/mypage/ssoAppLogin.html
-PreferredAuthenticationProtocol SAMLP
-Authentication Federated
-SupportsMfa $false
-FederationBrandName YubiOnPortal

※上記、見やすくするため改行を入れていますが、実際は各パラメータ(-XXX)の前は半角スペースで繋げます。

ドメイン名

上記手順(事前準備1)で作成したドメイン名

IdPログインURL

​YubiOn PortalのSSO App設定 > Microsoft 365の設定画面を開き、

「IdPログインURL」をコピーします(①)。

​IdPエンティティID

​YubiOn PortalのSSO App設定 > Microsoft 365の設定画面を開き、 「IdPエンティティID」をコピーします(②)。

証明書の内容

​YubiOn PortalのSSO App設定 > Microsoft 365の設定画面を開き、

証明書をダウンロードします(③)。

証明書をテキストエディタで開き、内容をコピーします。

 ・「BEGIN CERTIFICATE」と「END CERTIFICATE」は除外

 ・改行は削って、一行の文字列にする

 ・末尾に「=」がある場合は除外(base64のパディング無し形式のため)


参考



以上で、設定は完了です。


 

【ログインしてみる】

■IdP-Initiated

YubiOn PortalからMicrosoft 365にSSOログインしてみます。


SSO Appログイン画面を開き、「Microsoft 365」をクリックします。


Microsoft 365にログインすることができました!



■SP-Initiated

では今度はMicrosoft 365側からSSOログインしてみます。

[サインイン]ボタンをクリックします。


YubiOn Portalのログイン画面へリダイレクトしますので、SSOアカウントでログインします。


こちらもMicrosoft 365にログインすることができました!



終わりに

今回は、Microsoft 365にSSOログインするためのYubiOn Portalの設定を主にご紹介しました。

Microsoft 365のSSO設定は結構複雑で、私自身も試行錯誤を繰り返しました。

今後、試される方に当ブログが少しでも参考になれば幸いです。



◆参考サイト