ADRMS にて ServiceLocator.asmx に対して匿名認証を有効化する際の注意事項について

 

こんにちは、RMS サポートの益戸です。
今回は、RMS サーバーにて匿名認証を有効化する際の注意事項についてご案内します。
フォレスト間の Active Directory の信頼関係がない組織間にて連携するシナリオや、RMS を利用するユーザーが社外にいる場合など、要件によっては RMS サーバーの ServiceLocator.asmx へ匿名認証を有効化しなければいけない場合があります。
ServiceLocator.asmx に対しては公開情報でも様々な記述がある為、改めて匿名認証を有効化する場合の制限事項やサポータビリティについて整理しました。

====================================================
RMS サーバーの ServiceLocator.asmx の匿名認証について
====================================================
RMS サーバーでは、他フォレストの RMS サーバーと連携する機能を有しています。
その際、連携先のフォレストと Windows のフォレスト間の信頼関係は必ずしも必要なく、RMS サーバー上の IIS の認証については匿名認証を有効にする、またはダミーのユーザーを使用することで回避することができます。
ダミーのユーザーを使用しない場合、ServiceLocator.asmx に匿名認証を付与することで動作させる構成は適切なサポートされる構成となります。

 

AD RMS and Server Design
https://technet.microsoft.com/ja-jp/library/ee221071(v=ws.10).aspx

-- 該当部抜粋 --
Please remember that an AD RMS Trust does not require a Windows Forest Trust or connectivity between AD RMS domains Remember that there are Windows Integrated Authentication constraints placed on the licensing pipeline within IIS.
In order for a user from another domain to be able to request a use license, the user must be able to authenticate to your server running IIS.
This can be accomplished in several ways such as enabling anonymous authentication, establishing a Windows trust relationship with the other forest,  or using a dummy account for authentication.

 

 

The DOs and DON’Ts of RMS
https://blogs.technet.microsoft.com/rmssupp/2007/10/18/the-dos-and-donts-of-rms/

-- 該当部抜粋 --
DO set the IIS permissions on the License.asmx, and the ServiceLocator.asmx in the licensing pipeline to 'anonymous access' only, on your Internet facing RMS machine, if you have a TUD (Trusted User Domain) with another company, or are trusting Passport RACs.

 

 

一方で、ServiceLocator.asmx に匿名認証を付与することで、500 番の例外処理が発生することも事象として把握いたしております。

AD RMS Troubleshooting: 500 exception on servicelocator.asmx
https://social.technet.microsoft.com/wiki/contents/articles/17290.500-exception-on-servicelocator-asmx.aspx

 

また、上記エラーを受け、以下の公開情報では、ServiceLocator.asmx に対する匿名アクセスが誤りである記述もあります。

 

Step 2: Configure AD RMS to Work Across Forests
https://technet.microsoft.com/en-us/library/ef69894c-0231-427d-b921-f6fff770cd74

-- 該当部抜粋
Error in guide: Do not configure ServiceLocator.asmx for anonymous access

In the procedure “To enable anonymous access on the AD RMS licensing pipeline”, do not do steps 6 through 8 to configure anonymous authentication for ServiceLocator.asmx (for either domains). This configuration is not needed and will result in an error. For more information, see https://social.technet.microsoft.com/wiki/contents/articles/17290.500-exception-on-servicelocator-asmx.aspx

 

 

このように、公開情報内でも一部、矛盾が発生している状況となりますが、意図としては以下の通りとなります。

 

1. ServiceLocator.asmx に匿名認証を付与すると、想定外の動作がいくつか起こることから、基本的には、匿名認証は付与しないことを推奨する。
2. シナリオによっては、匿名認証の付与以外で対応することが出来ない為、そういったケースに限り、制限事項があるものの設定自体についてはサポート対象とする。

 

=================================================================
RMS Client SDK の Renew 処理について
=================================================================
ServiceLocator.asmx に匿名認証を設定した場合、IpcGetTemplateIssuerList など pContext を使用できる API において、pContext を指定しない場合には、証明書の更新ができないという事例が報告されています。
その為、SharePoint や RMS Protection Tool など、弊社 MSIPC ベースのアプリケーションの一部や、MSIPC SDK を使用したアプリケーションにおいて、RAC の有効期限が切れた場合に、キャッシュをクリアしなければ更新ができないといった不具合が発生します。
これらについては、新規で RAC などの証明書を取得するロジックと、証明書を更新するロジックが異なるために発生します。

開発部門としても、ServiceLocator.asmx に対して匿名認証をつけなければ動作しないシナリオを把握する一方で、そのシナリオが非常に稀なシナリオであることから、改善はせず、キャッシュクリアでの対応を回避策として採用し修正を行わないという結論を出しております。

弊社としましては、双方のシナリオをサポートする一方で、必要な要件がない場合には可能な限り、サイドエフェクトが大きい ServiceLocator.asmx への匿名認証の有効化は避けていただくことを推奨いたします。

一番大きい影響点としては、証明書の更新ができないという問題となりますが、それ以外にも潜在的にエラーとなる場合もあります。
その為、そういった環境にて想定されない動作が発生した場合には、まずはキャッシュフォルダーを削除し、事象が改善するかどうかご確認ください。
キャッシュの場所については以下となりますが、Rights Management Services Analyzer Tool を使用し、キャッシュをクリアすることも可能です。

 

<キャッシュのパスについて>
クライアント モードのパス : %localappdata%\Microsoft\MSIPC
サーバー モードのパス : %allusersprofile%\Microsoft\MSIPC\Server*\

 

RMS クライアントのデプロイに関する注意事項
/ja-jp/information-protection/rms-client/client-deployment-notes#BKMK_Settings

 

Rights Management Services Analyzer Tool
https://www.microsoft.com/ja-jp/download/details.aspx?id=46437