見出し画像

PowerCMS X で Okta のSAML認証を設定する

PowerCMS X の有償ラグイン「SingleSignOn」をご紹介します。
本記事は Okta による SAML2.0 の認証設定です。


本記事の設定情報

手順は以下の想定で進めます。自身の環境と異なる場合はご注意ください。
PowerCMS X 管理画面URL

https://<mydomain.jp>/PowerCMSX/index.php

PowerCMS X アプリケーションディレクトリ

/var/www/html/PowerCMSX/

PowerCMS X ユーザー
Okta に作成したメールアドレスで、PowerCMS X にもユーザーを作成してください。

サーバーの設定と PowerCMS X プラグインの設定

最初に下記内容の設定が必要です。

上記のリンクに参考内容があります。
元の記事は下記ページです。

Okta の設定

Okta は無料トライアルがありますので、その環境で試していきます。

30日間の無料トライアルを始める

申込みをしますとメールが届きますので、メールに記載のURLにアクセスします。

STEP 1

「Other」をクリックします。

Choose the apps that are most important to integrate

「PowerCMS X」と入力して「Submit」ボタンを押下します。

PowerCMS X と入力

「Next」ボタンを押下します。

Next

STEP 2

「Import from csv or xls file」をクリックして「Next」ボタンを押下します。

Where are your users imported from?

STEP 3

「Single Sign-On (SSO)」をクリックして「Next」ボタンを押下します。

What Okta features are you most interested in?

STEP 4

What do you want to solve with Okta?

キャプチャを撮り忘れてしまいましたが、空のまま「Done」ボタンを押下してください。

スタートアップ

「Oktaに​ユーザーを​追加する」→「インポート元」→「ユーザーを​直接追加」から手作業でユーザーの追加ができます。
ただし、ログインメールアドレスが登録されていますので、そのユーザーで動作検証をしていきます。

スタートアップ

Oktaで新しいアプリケーションを追加

「アプリケーション」から「アプリケーション」を選択します。
「アプリ統合を作成」をクリックし、SAML 2.0を選択します。

アプリケーション
アプリ統合を作成

一般設定

アプリ名は「 PowerCMS X」を入力して「次へ」をクリックします。

アプリ名は「 PowerCMS X」を入力

SAMLを構成

以下の入力をします。

シングルサインオンURL

<PowerCMS X 管理画面URL>/pt-sso.php?__mode=acs&_model=user

オーディエンスURI(SPエンティティID)

PowerCMSX

デフォルトの​RelayState

空のままでOK

名前IDの​フォーマット

EmailAddress

アプリケーションの​ユーザー名

メール

次で​アプリケーションの​ユーザー名を​更新:

作成・更新
SAMLの​設定

「属性ステートメント(オプション)」と「グループ属性ステートメント(オプション)」は未設定のままで大丈夫です。

フィードバック

未入力で「終了」をクリックします。

フィードバック

Idp の情報を取得

「アプリケーション」から 「PowerCMS X」をクリックします。

アプリケーション

「割り当て」タブ、「割り当て」プルダウンから「ユーザーに割り当て」をクリックします。

ユーザーに割り当て

ユーザーを割り当てます。

ユーザーを割り当てる

割り当てが完了すると「割り当て」タブにユーザーが表示されます。
[重要!] このユーザーのメールアドレスで PowerCMS X ユーザーを作成しておく必要があります。

割り当て

SAMLの​設定手順を​表示

「サインオン」タブの右下にある「SAMLの​設定手順を​表示」をクリックします。

SAMLの​設定手順を​表示

「IDプロバイダーの​シングルサインオンURL」をメモしてください。
「証明書をダウンロード」ボタンを押下してください。
この2つは PowerCMS X の設定に必要です。

PowerCMS Xを​構成するには​以下が​必要です

PowerCMS X の設定

「cert.cer」にファイル名変更してサーバーに設置

ダウンロードした証明書「okta.cer」を「cert.cer」にファイル名を変更します。(※ okta.cer のままでも大丈夫です。そのときは後述のプラグイン設定の値も合わせてください)

「cert.cer」をプラグインを「plugins/SingleSignOn/cert/」に配置します。

例
/var/www/html/PowerCMSX/plugins/SingleSignOn/cert/

念のため、所有者とグループを apache にします。

sudo chown apache:apache /var/www/html/PowerCMSX/plugins/SingleSignOn/cert/cert.cer

SingleSignOn プラグイン設定

SingleSignOn プラグイン設定画面にアクセスして以下の設定をします。

Identity ProviderのSSOエンドポイントURL
メモした「IDプロバイダーの​シングルサインオンURL」の値を貼り付けます。

照合するカラム
email

NameIDフォーマット
emailAddress

エンティティID
PowerCMSX

ACSエンドポイントURL
https://{PowerCMS X 管理画面URL}/pt-sso.php

Identity Providerの公開鍵ファイル名、または公開鍵ファイルの絶対パス
cert.cer

プラグイン「SingleSignOn」の設定

SAMLログイン

PowerCMS X をログアウトして、ログイン画面にアクセスします。
「SAML Login」ボタンを押下します。
もしボタンが表示されない場合はログイン画面をカスタマイズしている可能性がありますので、貴社のPowerCMS X 管理者に問い合わせてください。

ログイン画面

Okta にログインします。

oktaログイン

「セットアップ」をクリックします。

セキュリティ方式の設定

ご自身のスマホで「Okta Verify」アプリをインストールしてQRの登録をします。

スマホアプリの認証が完了したら、PowerCMS X のダッシュボードが表示されたと思います。

PowerCMS X ダッシュボード

成功するまでに何度か失敗をすると思いますので、その時はブラウザのシークレットモードや異なるブラウザなどで試すとイチから開始できます。もしくはクッキーを削除してみてください。

Okta はいくつかオプションがあるようで、私はプッシュ通知が来て、スマホアプリで「はい、私です」ボタンを押下したらログインできました。

セキュリティ方式により自分の身元を確認する


いいなと思ったら応援しよう!