Samlp VS. WsFed
schedule 2018/08/22 refresh 2023/11/08
こんにちは。セシオスサポートチームです。
40度も超える暑い日本で、ユーザはあんまり気にしていないけど、チーム内では熱が出るほどMicrosoft 365のお話です。
Microsoft 365でフェデレーション構成(SSO)を有効にする際に必ず認証プロトコルの選択が必要となります。選択肢として、Samlp(SAML)とWsFed(WS-Federation)の2択になります。
SAMLについての解釈は省略いたしますが、インターネットドメイン間で第三機関(IDプロバイダ)によるユーザー認証を行うための標準規格であることを認識していただければと思います。WS-Federationも同じような規格内容で解釈できますが、Active Directory を絡んだMS社製品と関連深い規格としています。
つまり、シングルサインオン分野において、標準規格のSAMLが主流となりますが、Microsoft365では、SAMLとWS-federationの両方をサポートしています。blog.technet.microsoftによれば、Microsoft365においては、WS-federationがより広く使用され、より多くのクライアントで動作してます。Outlook、SharePoint、SkypeなどMicrosoftがサポートするアプリケーションの場合、WS-federationの方の親和性が高いようです。
そのためなのかわかりませんが、SSOの認証プロトコル構成上、両者はほとんど同じようですが、属性の利用についてはわずかな違いがあるようです。
例えば、 SSO構成する場合、Microsoft365側第三認証機関(IDP)のIdP証明書を所持する必要がありますが、その証明書期限が切れた場合、新IdP証明書を更新(認識)させる必要があります。Microsoft365のフェデレーションドメイン属性の中に「NextSigningCertificate」という属性があり、この属性に新IdP証明書を設定すれば、Microsoft365側新旧IdP証明書を所持することになり、旧IdP証明書が期限切れた時から新IdP証明書の認識ができ、SSOの認証構成に途切れがなくシングルサインオンが継続されます。
しかし、この「NextSigningCertificate」の設定について、実施方法によって、WsFedの場合は設定可能ですが、SAMLの場合はエラーになってしまいます。
従って、SAMLの場合、明示的にパラメータ「-PreferredAuthenticationProtocol SAMLP」を指定する必要があります。もちろん、WsFedの場合指定してもしなくても問題ないです。
ちなみに、IdP証明書の有効期限までの二週間ほど前から、Microsoft365の管理コンソールに証明書を更新しないとログインできなくなる趣旨の警告メッセージが表示されます。この2週間ほどの猶予期間にIdP証明書を更新するかNextSigningCertificateを設置するかの必要があります。
WS-federationの優位性が高いであることはなんとなく感じてしまいます。SeciossLinkの利用状況からにしても、SAMLに対するサポートは遅れているような印象ですが、具体的にどのような差異があるか?残念ながら、まともな情報はありません。契約されたサポート窓口に問い合わせしてもプレミアム窓口にまわされてしまいます。
一方で、WS-federationを利用したお客様のほうが安定した状況を受けられます。SeciossLinkの利用としても最近Ws-federationの利用を優位に薦めております。