WordPress のプラグイン「 OneLogin SAML SSO 」を使ったので、設定項目についてまとめていきます。
AWSSSO との連携を想定して書いていきます。
###Enable
SAML ログインの有効、無効を切り替えます。
#IDENTITY PROVIDER SETTINGS
連携先(今回はAWSSSO)の情報を設定します。
###IdP Entity Id
AWS SSO発行者URLをコピペします。
###Single Sign On Service Url
サインイン時に認証リクエストを送信する IdP の URL ターゲット。
AWS SSOサインインURLをコピペします。
###Single Log Out Service Url
サインアウト時にSLO リクエストを送信する IdP の URL ターゲット。
AWS SSOサインアウトURLをコピペします。
###X.509 Certificate
IdP の x509 証明書を設定します。
AWS SSO 証明書をダウンロードして、中身をコピペします。
###Create user if not exists
ログインしたユーザーが WordPress に存在しない場合、 IdP から提供されたデータを元に新しいユーザーを作成します。
###Update user data
SSO 側でユーザー情報が更新された場合、IdP から提供されたデータを元に WordPress ユーザーのアカウント情報を更新します。
###Force SAML login
有効の場合、ユーザーにIdPでの認証を強制します。
###Single Log Out
シングルログアウトの有効、無効を切り替えます。
###Keep Local login
WordPress ユーザーを使ったログインを行う、通常のログインフォームの有無を設定します。
###Alternative ACS Endpoint
/wp-login.php?saml_acs とは異なる Assertion Consumer Endpoint を使用する場合に有効にします。この設定を変更した後は、新しい値でIdPを更新する必要があります。
###Match Wordpress account by
WordPress ユーザーを検索するためにどのフィールドを使用するかを選択します。
###Trigger wp_login hook
有効にすると、wp_login フックがトリガーされます。
###Multi Role Support
複数のロールへの対応を有効/無効にします。
###Trust URL domains on RelayState
RelayStateパラメータで信頼したいドメインを設定。
カンマ区切りで列挙する。
#ATTRIBUTE MAPPING
IdP でのユーザー属性と WordPress のユーザー属性を対応させる設定。
- Username
- First Name
- Last Name
- Nickname
- Role
- Remenber Me
#ROLE MAPPING
IdP でのロールと WordPress の権限グループの対応を設定します。
- Administrator
- Editor
- Author
- Contributor
- Subscriber
###Multiple role values in one saml attribute value
ロールの値が一意の属性文(複数の属性文ではなく)で提供された場合、これを有効にすると、プラグインはこれらの値を .で分割しようとします。
###Regular expression for multiple role values
複雑な多値データからロールを抽出する正規表現(前のオプションを有効にするために必要)。
#ROLE PRECEDENCE
IdPが複数のロールを返した場合に、それらの優先順位を設定する。
- Administrator
- Editor
- Author
- Contributor
- Subscriber
#CUSTOMIZE ACTIONS AND LINKS
ユーザーがメールアドレスやパスワードを変更する機能や、パスワードをリセットする機能を有効にすることができます。また、ユーザー登録やパスワード紛失時のリンクを無効にすることもできます。
###Prevent use of ?normal
チェックを入れると、このオプションを無効にし、有効でない場合はローカルログインを提供します。
###Prevent reset password
チェックを入れるとパスワードリセットが無効になります。
###Prevent change password
チェックを入れるとパスワード変更が無効になります。
###Prevent change mail
チェックを入れるとメールアドレスの変更が無効になります。
###Stay in WordPress after SLO
有効の場合ログイン時に AWSSSO ログインページにアクセスせず WordPress のログインフォームにとどまります。
###User Registration
ユーザー登録リンクを上書きします。
###Lost Password
紛失したパスワードのリンクを上書きします。
###SAML Link Message
Keep Local login」が有効な場合は、SAMLリンクにメッセージとして表示されます。
#ADVANCED SETTINGS
カスタマイズやセキュリティ問題に関するパラメータの設定。
###Debug Mode
有効にするとエラーと警告が表示されます。 SAML ワークフローをデバッグするために設定します。
###Strict Mode
有効な場合、 署名、暗号化されていないメッセージを拒否します。 SAML 標準に従っていないメッセージも拒否されます。
###Service Provider Entry Id
サービスプロバイダーのEntity IDを設定します。指定されていない場合は、「php-saml」が使用されます。
###Lowercase URL encoding?
一部のIdPは小文字のURLエンコーディングを使用できますが、このプラグインは大文字のURLエンコーディングを想定しているため、非互換性の問題を修正できるようにします。
###Encrypt nameID
有効にすると SP が送信する nameID は暗号化されます。
###Sign AuthnRequest
有効にすると SP が送信する samlp:AuthnRequest メッセージは署名されます。
###Sign LogoutRequest
有効にすると SP が送信する samlp:logoutRequest メッセージは署名されます。
###Sign LogoutResponse
有効にすると SP が送信する samlp:logoutResponse メッセージは署名されます。
###Reject Unsigned Messages
有効の場合、受信した符号なしの samlp:Response 、 samlp:LogoutRequest 、 samlp:LogoutResponse を拒否します。
###Reject Unsigned Assertions
有効の場合、符号なしのsamlを拒否します。
###Reject Unencrypted Assertions
有効の場合、暗号化されていないsamlを拒否します。
###Retrieve Parameters From Server
サーバから、元のクエリパラメータを抽出する機能。
署名検証に失敗することがある場合は、この機能を有効にします。
###NameIDFormat
要求されたサブジェクトを表現するために使用する NameID のフォーマットを指定します。
###requestedAuthnContext
AuthnRequest で送られる AuthContext を選択します。
###Service Provider X.509 Certificate
SP のパブリック x509 証明書を設定します。sp.crtで証明書を提供する場合は、このフィールドを空にします。
###Service Provider Private Key
SP のプライベート キーを設定します。sp.key で秘密鍵を提供する場合は、このフィールドを空にします。
###Signature Algorithm
署名の際に使用されるアルゴリズムを設定します。
###Digest Algorithm
ダイジェスト処理に使用されるアルゴリズムを設定します。
#参考資料
https://qiita.com/pioho07/items/c196ebfc4a5a2cdb04b2#wordpress-saml%E8%A8%AD%E5%AE%9A