PassLogicのSAML2.0連携機能で、Microsoft Office 365にログイン

パスロジが提供する企業・団体向けの認証システム「PassLogic」は、業務システムへの認証を通常のID&パスワード認証から、トークンレス・ワンタイムパスワード認証や、TOTP型のワンタイムパスワード認証に置き換えて、認証セキュリティを強化するソフトウェアです。
詳しい製品内容については、PassLogic製品紹介ページをご覧ください。
>PassLogic製品紹介ページ

この記事では、PassLogicサーバーと、Microsoft Office 365(以下、Office365)をSAML2.0連携し、PassLogicのユーザーがOffice365にログインするまでの設定プロセスをご紹介します。

実際のログイン動作について、下記のページにて動画を掲載しております。
>「Office365-SP initiated-」連携動画
>「Office365-IdP initiated-」連携動画

必要なサーバーと準備(ドメインの設定・同期)

当連携を行う際に必要なもの(サービス・サーバーなど)は下記になります。

ドメイン
Office365にカスタムドメインとして登録します。DNSの設定が必要になるので管理者である必要があります。
持っていない場合はOffice365からも購入可能です。

Active Directoryサーバー(以下、AD)
Office365に登録するドメインと、同一の名前のドメインまたはUPNサフィックスを準備しておきます。

PassLogicサーバー(以下、PassLogic)
ADと連携して、ユーザー情報を同期します。この記事では「LDAP ID 同期」の機能を利用します。(下記の【手順1】)
連携するADとPassLogicは同じネットワーク上にある前提です。

Office365
「Buisiness」以上のサービス登録と、その管理者アカウントが必要です。

【手順1】ADとPassLogicのユーザー情報を同期

PassLogic管理画面のメニューから「ドメイン管理」を選択し、今回同期するAD上のドメインを追加します。
その後、そのドメインの「LDAP ID同期」の列の「編集」をクリックし、内容を編集します。
入力が必要な項目と、その内容は下記の表をご参照ください。(表にない項目は入力なしでOK)

LDAPサーバ接続設定
同期するADと、ADにログインするユーザー、同期する対象ユーザーの範囲を指定します。

LDAPタイプ Active Directory
サーバ1 対象となるADサーバーのIPアドレスやドメイン名
ポート番号 使用するポートの番号
バインドDN 同期の際に、ADサーバーにログインするユーザーを指定します。
バインドパスワード バインドDNで指定されたユーザーがADサーバーへのログインするためのパスワード
ツリートップのDN AD内のPassLogicに同期するユーザーが含まれるDNを指定します。
指定されたDN以下のユーザーがPassLogicと同期されます。
検索フィルタ 上記「ツリートップDN」で指定されたユーザーの中から特定のユーザーのみを対象にしたい場合は、ここで対象となるユーザーを指定してください。

LDAPサーバ同期設定
同期した際の動作と、同期する時期を任意で指定します。

同期モード AD側で削除されたユーザー(見当たらないユーザー)をPassLogic側でも削除する場合は「追加・更新・削除」を選択します。
そのまま残しておく場合は「追加・更新」を選択します。
メール送信 新規でPassLogicに追加されたユーザーにメールを自動送信する場合はチェックしてください。
同期間隔 同期をする時間間隔を指定してください。管理者が手動で同期する場合は「自動実行しない」を選択してください。

LDAP属性マッピング定義
AD内のどの属性( attribute )をPassLogicに登録するか、そのアトリビュート名を指定します。
Office365連携では、最低限「ユーザID」と「ポリシー」、そして「備考」に「objectGUID」を設定します。

ユーザID ユーザーIDとして使用するADサーバー内の属性名を指定します。
「samaccountname」を指定するのが一般的です。
メールアドレス AD内にメールアドレスが登録されている属性名を指定します。
上の「LDAPサーバ同期設定」で、メール送信を有効にした場合は必要となります。
氏名・社員番号・部署・電話 対応する各項目が登録されている属性名を指定します。
ポリシー 同期時に、対象のユーザーに適用されるポリシーを決定するために、PassLogic内で設定されているポリシー名が登録されている属性名を指定します。
未入力の場合は「デフォルト値」で選択されたポリシーが適用されます。
グループ1~5 同期時に、対象のユーザーがどのグループに所属するかを決定するために、PassLogic内で設定されているどのグループ名が登録されている属性名を指定します。
アカウント有効期限 アカウント有効期限が登録されている属性名を指定します。
備考 ここには「objectGUID」を指定します。
「備考」以外の「氏名」「社員番号」「部署」「電話」に「objectGUID」を設定することも可能です。
「objectGUID」がOffice365へのログイン時に必要になるので、同期時に取得しておきましょう。以降の設定は「備考」に「objectGUID」を同期させた前提で進めます。

※「備考」より下の項目は、SAML連携には使用しません。

今回の記事で使用した設定内容は、こちらの画面をご参照ください。(クリックして拡大)

これで、ADとPassLogicの同期設定は完了です。

【手順2】Office365に、対象となるドメインを追加

Office365の管理者アカウントで管理画面にログインします。
そして、メニューの「ドメイン」にある「ドメインの追加」から、事前に用意したドメインを追加します。

【手順3】PassLogic管理画面でフェデレーション設定

PassLogic管理画面にログインし、メニューから「Cloud>SP登録」を選択します。
「追加」ボタンを押して登録画面を開き、各項目を設定します。
記載していない項目は空欄でかまいません。

No. PassLogicのユーザーログイン後の画面で「Cloud」の項目の上から何番目に表示するか指定します。
プロバイダ サービス名を任意で入力します。
ログイン後の画面には、このサービス名が表示されます。
ここでは「Office365」にしています。
SAMLタイプ 「SP initiated SSO」か「IdP initiated SSO」を選択します。
「SP initiated SSO」は、サービス側のログイン画面からPassLogicのログイン画面に遷移してログインし、ログイン後はサービスのログイン後の画面に自動で遷移する動作を想定しています。
「IdP initiated SSO」は、PassLogicのログイン画面からログインし、PassLogicログイン後のサービス選択画面から、選択したサービスに遷移する動作を想定しています。
実際には、サービス側の仕様に左右されます。Office365の場合は「IdP initiated SSO」を設定しておけば、上記のどちらのログイン動作も行われるようになります。
NameIDフォーマット サービスで指定されているフォーマットを指定します。
Office365の場合は「urn:oasis:names:tc:SAML:2.0:nameid-format:persistent」になります。
UIDタイプ 【手順1】の「LDAP属性マッピング定義」で「備考」に「objectGUID」を入力したので、「備考」を選択します。
他の項目に「objectGUID」を設定した場合は、その項目を選択してください。
ドメイン 【手順2】で、Office365に追加したドメインを入力します。
Recipient Office365のログインURL「https://login.microsoftonline.com/login.srf」を指定します。
Issuer “http(s)://” + {PassLogicサーバーのFQDN or IP}
Audience Office365の仕様に従い「urn:federation:MicrosoftOnline」を入力
Attribute mapping1 Office365に送信する情報の内容を指定します。
「IDPEmail」として、PassLogicの「uid@ドメイン」の内容を送信するように設定
アクセスグループ Office365にログイン可能とする「グループ」を指定します。
「グループ」は、PassLogicで設定されたものです。

今回の記事で使用した設定内容は、こちらの画面をご参照ください。(クリックして拡大)

【手順4】Office365のカスタムドメインをフェデレーションドメインとして設定

Office365側に、PassLogicから送られてくる情報の内容を登録します。
これは「Windows Power Shell」から下記のコマンドを入力して行います。

Connect-MsolService //フォームが出るので、管理者としてOffice365へログイン。
$domainName = "{使用したドメイン}"
$logOnUri = "https://{PassLogicのFQDN or IP Address}/ui/idp.php?target={SP登録で登録したプロバイダ}"
$issuerUri = "https://{PassLogicのFQDN or IP Address}"
$logOffUri = "https://{PassLogicのFQDN or IP Address}/ui/?mode=logout"
$cert = "{PassLogicに登録した証明書}"
Set-MsolDomainAuthentication -DomainName $domainName -Authentication Federated -FederationBrandName $brandName -PassiveLogOnUri $logOnUri -SigningCertificate $cert -IssuerUri $issuerUri -LogOffUri $logOffUri -PreferredAuthenticationProtocol SAMLP
なお、Office365との連携の場合はOffice365サーバーではなく、ログインする端末からこの各Uriに到達できる必要があります。
ドメインのフェデレーション設定が済むと、ADからの同期以外ではそのドメインを持ったユーザーを、Office365からは作成できなくなります。新規ユーザー登録は、ADから行ってください。

【手順5】ADからAzure AD ConnectでOffice365(Azure AD)にユーザー同期

Office365のユーザー管理はAzure ADによって行われています。
ADに存在するユーザーはAzure AD ConnectによってOffice365に同期が可能です。
この場合は、ADからOffice365(Azure AD)へアクセス可能であれば問題ありません。(外部からADにアクセス可能にする必要はありません)
Office365に登録したドメイン名と一致するユーザーがいた場合に、そのドメインでユーザーが追加されます。UPNサフィックスを用いる場合は、あらかじめ対象のユーザーのログイン名への登録も必要です。

これで、Office365、PassLogic、ADがつながりました。Office365のフェデレーションドメインに登録されたユーザーはPassLogicによる認証を介してのみ利用可能となります。

マニュアル類や、連携検証済み製品・サービスとの連携用資料について

パスロジでは、PassLogicを試用される方のために、下記の資料をご用意しています。

PassLogicインストールガイド
PassLogicサーバーの構築方法を解説したマニュアルです。

PassLogic運用管理ガイド
PassLogicの管理ツール画面で提供される機能を解説したマニュアルです。

連携検証済み製品との連携検証資料
PassLogicとの連携検証済みの製品やサービスとの連携方法を示した資料です。
連携検証済み製品については、こちらの連携製品ページをご覧ください。

各種資料の提供をご希望の方は、こちらの「PassLogic設定用資料請求フォーム」よりお申し込みください。

>PassLogic設定用資料請求フォーム

また、PassLogicはAzureやAWSのマーケットプレイスにソフトウェアイメージを提供しております。
各クラウドサーバー上での構築方法をについて、下記の記事にて紹介しております。ご参照ください。

Azure上にPassLogicサーバーを【30分】で構築

AWS上にPassLogicサーバーを【30分】で構築

PassLogicをご試用いただき、ライセンスの追加やご購入をご検討の際には、こちらのパスロジお問い合わせページよりお問い合わせください。

>パスロジお問い合わせページ

今後も、PassLogic管理ツール画面の操作方法や、製品・サービスとの連携方法についても記事を公開してまいります。
今後とも、PassLogicおよびパスロジをよろしくお願い申し上げます。

>PassLogic製品紹介ページ
>パスロジ製品に関する資料請求・お問合せ

>PassLogic関連記事一覧

※記事中に記載されている、会社名、製品名、ロゴ等は、各社の登録商標または商標です。