2026年10月16日
2026年10月16日
WordPressのOkta(IDaaS)との連携方法
はじめに
WordPressサイトをセキュアにするために、統合型ID管理サービス(Identity-as-a-Service:IDaaS)であるOktaを利用することができます。これにより、パスワードの複雑性や多要素認証などのセキュリティ機能を強化することが可能になります。
症状・背景
このテーマが必要になる主な場面:
- サイト管理者として、ログインセキュリティを向上させたい
- ユーザーのパスワード管理を一元化したい
- 既存のOktaアカウントを使用してWordPressにシングルサインオン(SSO)を実装したい
手順・設定方法
ステップ1: Oktaアプリケーションの作成
# オーガニゼーションで新しい「アプリケーション」を作成します。
okta apps add --name "WordPress" --type web
# アプリケーションの基本情報を設定します(リダイレクトURI、ログインURLなど)。
okta apps edit <app-id> --login-redirect-uri=https://your-wordpress-site.com/wp-login.php?okta-auth=true
ステップ2: WordPressプラグイン「Okta SSO」のインストール
# 「Okta SSO for WordPress」プラグインをWordPressアドミンページからダウンロードします。
wp plugin install okta-sso-for-wordpress --activate
# プラグイン設定画面で、先ほど作成したOktaアプリケーションの「Client ID」と「Client Secret」を入力します。
wp okta sso set-client-id <client-id>
wp okta sso set-client-secret <client-secret>
# WordPressログインページにシングルサインオンのリンクを追加します。
wp option update login-sso-url "https://your-okta-domain.com/home/amazon_aws/wordpress"
ステップ3: ユーザーと役割のマッピング
# Oktaのグループ情報をWordPressのロールにマッピングします。
wp okta sso map-role --role "administrator" --okta-group "admins"
wp okta sso map-role --role "editor" --okta-group "writers"
# マッピングした設定を保存します。
wp option update okta-sso-user-mapping 'a:2:{s:10:"administrator";a:1:{i:0;s:6:"admins";}s:7:"editor";a:1:{i:0;s:6:"writers";}}'
ステップ4: 実践/トラブルシュート/監視
# ログインセッションの有効期限を確認します。
wp okta sso get-session-expiration --user <username>
# セッションが失われた場合、再認証を強制するためのコマンドです。
wp option update auth_cookie_expiration "3600"
注意事項
- セキュリティ: OktaのClient IDとClient Secretは秘密に保つことが重要です。不正アクセス防止のために適切な権限を設定してください。
- パフォーマンス: ログインページへの重複リダイレクトを防ぐために、WordPressの設定で「ログイン後のページ」が正しく設定されていることを確認してください。
- ユーザー管理: OktaグループとWordPressロール間のマッピングは定期的に見直し、必要に応じて更新することをお勧めします。
まとめ
1. セキュリティ強化: オンラインサービスを介したユーザーマネジメントが可能になり、パスワード管理の負担軽減につながります。
2. 一元的なアクセス: Oktaを経由することで、WordPressサイトへのアクセスと他の業務システム間でシングルサインオンを実現できます。
3. 柔軟性: グループやロールベースの権限設定により、細かいユーザーマネジメントが可能になります。
4. 監視機能: Oktaではユーザー活動履歴とログインイベントの追跡が可能で、セキュリティ対策の一環として活用できます。
5. ユーザーエクスペリエンス向上: パスワード忘れや再発行といった問題を最小限に抑え、サイトへのアクセスがよりスムーズになります。
関連記事: