OneLoginでWordPressのID管理をし隊

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

情報システム課の宮澤です。
今回は、OneLoginを利用して、WordPressのID管理を簡単にできて、セキュリティの強化も図れる方法を紹介します。

前提条件

今回の記事では、以下の2つが揃っていることが前提で記載しています。
WordPressの環境はAMIMOTO AMIを利用することで、AWS上に簡単に準備出来ます。

  • OneLogin(Enterprise以上)が利用できる
  • WordPressがセットアップされている

OneLogin側の設定

OneLoginに管理者IDでログインし、”Apps>Add Apps”に移動します。

スクリーンショット_2016-05-31_16_44_18

検索欄に”WordPress”と入力し、表示された”WordPress”のSAML2.0コネクタを選択します。

スクリーンショット_2016-06-02_18_23_48

OneLogin上の表示名を設定して”SAVE”を押します。

スクリーンショット_2016-06-02_18_24_29

“Configuration”タブを開き、Consumer URLとLogout URLを以下の形式にしたがって入力します。
Consumer URL:http://{prefix}.{your_subdomain}.com/wp-login.php?saml_acs
Logout URL:https://{prefix}.{your_subdomain}.com/wp-login.php?saml_sls

スクリーンショット_2016-06-02_18_27_01

“Palameters”を開き設定を行いますが、設定内容は初期状態で問題無いです。

スクリーンショット_2016-06-02_18_27_34

SSOタブを押して”View Details”を押します。

スクリーンショット_2016-06-02_18_28_21

以下のアイコンをクリックすることでX509証明書をクリップボードにコピーできます。
※次項のWordPress側の設定で利用します。

スクリーンショット_2016-06-02_18_28_44

 

WordPress側の設定

WordPressの管理画面にログインして、”プラグイン>新規追加”に移動します。

スクリーンショット_2016-06-14_15_01_28

検索欄に”OneLogin SAML SSO”と入力して検索して、”OneLogin SAML SSO”の”今すぐインストール”を押します。

スクリーンショット_2016-06-14_15_10_52

プラグインインストール実行の画面が表示され、完了したら”プラグインを有効化”を押します。

スクリーンショット_2016-06-14_15_12_00

ナビゲーションメニューの”設定>SSO/SAML Settings”に移動します。

スクリーンショット_2016-06-14_15_18_39

SSO/SAML Settingsのページで、”IDENTITY PROVIDER SETTINGS”と”ATTRIBUTE MAPPING”の2つの項目について以下のように入力を行います。
”ATTRIBUTE MAPPING”の項目を設定することで、OneLoginの情報をWordPressのユーザーにマッピングすることができます。

IDENTITY PROVIDER SETTINGS

  • IdP Entity ID: Issuer URL
  • Single Sign On Service URL: SAML 2.0 EndPoint(HTTP)

  • Single Log Out Service URL: 空欄または、 <http://app.onelogin.com/client/apps>

  • X.509 Certificate: OneLogin上で確認したX.509証明書

スクリーンショット_2016-06-14_15_46_15

ATTRIBUTE MAPPING

  • Username: User.Username

  • E-mail: User.email

  • First Name: User.FirstName

  • Last Name: User.LastName

  • Role: memberOf

スクリーンショット_2016-06-14_15_45_57

”変更を保存”を押して、設定は完了です。
さらに、
OPTIONSの項目の”Create user if not exists”を有効にすることで、初回ログイン時にユーザーがいない場合は、自動的にOneLoginのユーザー情報を利用してユーザーを作成することもできます。

まとめ

WordPressにOneLoginのSSOプラグインを導入して設定することで、簡単にOneLoginからのSSOを実現することができました。
これを行うことで、ユーザーはパスワードを利用せずにWordPressを利用可能になり、管理者はID管理がOneLoginに一元化されるので、運用負担が軽減されます。
例えば、AMIMOTOでWordPressを運用していてID管理をしっかりしたいという要件を満たすことができます。
また、WordPress以外でもIDP連携可能なWebアプリケーションであれば、同様の設定をOneLoginで行うことができます。

AWS運用自動化サービス「Cloud Automator」