2026年9月8日

2026年9月8日

WordPressのIAP(Identity-Aware Proxy)連携方法

はじめに

WordPressサイトを安全に管理するために、Google Cloud Platform(GCP)上のサーバーにはIdentity-Aware Proxy(IAP)の利用が推奨されます。IAPは認証とアクセス制御機能を持つ高度なセキュリティソリューションであり、これを利用することで、WordPressへのログインや操作をより安全に行うことができます。

症状・背景

このテーマが必要になる主な場面:

  • WordPressサイトの管理者権限が漏洩した場合
  • サードパーティ製プラグインによる不正アクセスがあった場合
  • ネットワークセキュリティポリシーを強化する必要がある場合
  • Google Cloud Platform上でWordPressサイトを管理する場合

手順・設定方法

ステップ1: IAPの有効化とサービスアカウントの作成

# GCPプロジェクトを選択します。
gcloud config set project [PROJECT_ID]

# デフォルトサービスアカウントを作成します。
gcloud iam service-accounts create wp-admin --display-name "WordPress Administrator"

# サービスアカウントにIAPのアクセス権限を付与します。
gcloud projects add-iam-policy-binding [PROJECT_ID] \
    --member="serviceAccount:wp-admin@[PROJECT_ID].iam.gserviceaccount.com" \
    --role="roles/iap.tunnelResourceAccessor"

ステップ2: WordPressサイトへのIAPアクセスルールの設定

# IAPリソースを作成します。
gcloud iap resource-rules create wp-access-rule \
    --resource-name "projects/[PROJECT_ID]/global/httpServices/[TARGET_PROXY_NAME]" \
    --access-list="[ACCESS_LIST_NAME]"

# アクセスリストを定義します。
gcloud iap access-lists create [ACCESS_LIST_NAME] \
    --description="WordPress admin access" \
    --members="serviceAccount:wp-admin@[PROJECT_ID].iam.gserviceaccount.com"

ステップ3: WordPressへのログインURLの作成と設定

# IAP URLを取得します。
iap_url=$(gcloud iap web-backend-config get "projects/[PROJECT_ID]/global/httpServices/[TARGET_PROXY_NAME]" \
    --format="value(iap.oidcAudiences)")

# WordPressにIAP経由でアクセスするための設定を追加します。
sed -i '/\[W3TC\].*/a \[wpseo\]\nlogin_url=https://iap-idp-oauth2-proxy.[PROJECT_ID].iap.gserviceaccount.com/oauth2/v4/token?audience='"$iap_url"'\&scope=openid%20email' /var/www/html/wp-config.php

ステップ4: ログと監視の設定

# IAPログを有効にします。
gcloud logging sinks create iap-logs \
    --output-monitored-resources=iap.googleapis.com\
    --sink-filter="resource.type=\"iap_tcpproxy\" OR resource.type=\"iap_httpproxy\"" \
    gs://[BUCKET_NAME]/iap_logs

注意事項

  • <実践的な注意点1>: サービスアカウントの権限は最小限に抑えること。
  • <実践的な注意点2>: IAP URLを変更する際は、WordPressの設定も更新すること。
  • <セキュリティ上の注意>: 他者のサービスアカウントを使用しないようにすること。
  • <パフォーマンス/運用上の注意>: 高負荷時や大量アクセス時にはIAPの性能に影響が出る可能性がある。

まとめ

1. 基本設定: GCPプロジェクトとサービスアカウントを準備し、IAPへのアクセス権限を設定します。

2. リソースルール作成: WordPressサイト用のIAPリソースを作成して、アクセス制御リストを定義します。

3. ログインURL変更: WordPressへのログインURLをIAP経由に変更することでセキュアなアクセスを実現します。

4. ログと監視: IAPからのログ出力を有効にして、サイトの状態を確認できるように設定します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ