IRM ファイルの処理

最終更新日: 2010年4月4日

適用対象: SharePoint Foundation 2010

権限が管理されたコンテンツに対する 2 つの基本的な処理について考察することで、Microsoft SharePoint Foundation において IRM (Information Rights Management) システムのコンポーネントが共同でどのように機能し、ドキュメント ライブラリ内の権限が管理されたコンテンツを使用可能にするのかを理解することができます。

  • 保護されたドキュメントをダウンロードする

  • ドキュメント ライブラリにそのドキュメントをアップロードする

次のシナリオは、権限が管理されたドキュメントを SharePoint Foundation が処理する方法について、一般的に説明するために作成されています。エンド ツー エンドの手順については説明していません。ドキュメント ライブラリに指定している IRM 設定によって、実際の処理は異なります。

SharePoint Foundation から IRM で保護されたドキュメントをダウンロードする

ユーザーが IRM の有効なドキュメント ライブラリにファイルを要求したとき、SharePoint Foundation はまずドキュメント メタデータの同期などの標準的な処理を実行します。ドキュメントの権限が管理されている場合、SharePoint Foundation はドキュメントのファイルの種類に関連付けられた IRM プロテクターが登録されているかどうかを確認します。登録されていない場合、SharePoint Foundation は権限を保護せずにそのドキュメントをユーザーに対してダウンロードします。

適切な IRM プロテクタが登録されていて、そのプロテクタが統合プロテクタである場合は、SharePoint Foundation はドキュメントに対する IL (発行ライセンス) を生成します。IL には次のものが含まれます。

  • そのドキュメントに固有なドキュメント キー。この秘密キーは権限が管理されたドキュメントのデータを暗号化するために使用されます。

  • そのドキュメントにアクセスすることができるユーザーのリストと、対応するアクセス権。SharePoint Foundation はこのリストに自身とドキュメントをダウンロードしたユーザーを追加します。

  • そのドキュメントがダウンロードされているドキュメント ライブラリの GUID。

次に、SharePoint Foundation は IRM プロテクターを呼び出して、既にドキュメントの権限が管理されているかどうかを確認します。たとえば、そのドキュメントがドキュメント ライブラリにアップロードされる前に、クライアント アプリケーションで権限の管理が適用されるような場合も考えられます。既にファイルの権限が管理されている場合は、SharePoint Foundation はそれ以外に権限を管理することなくドキュメントをユーザーにダウンロードします。

注意

SharePoint Foundation が権限を管理することのできるドキュメントのみをドキュメント ライブラリが受け取るように設定した場合、ユーザーは SharePoint Foundation 以外のアプリケーションから権限の保護を適用されたドキュメントをアップロードできません。

ドキュメントに保護が必要な場合は、SharePoint Foundation は IRM プロテクタを呼び出して IRM に保護されたバージョンのドキュメントであることを示すファイル ストリームを作成します。

  • プロテクターが統合プロテクターである場合は、SharePoint Foundation は IRM プロテクターに RMS 暗号化処理へのアクセス権を与えます。さらに SharePoint Foundation は、IRM プロテクターにドキュメントの IL およびエンド ユーザー ライセンス (EUL) へのアクセス権を与えます。IRM プロテクターは保護されたファイルに両方を含めます。

  • プロテクターが自律プロテクターである場合は、SharePoint Foundation は IRM プロテクターに権限データおよびドキュメントに関するその他のメタデータを提供します。自律プロテクターは自身の権限管理処理を設定および実行して、権限が管理されたバージョンの要求ファイルを作成する必要があります。自律プロテクターは RMS またはその他の権限管理処理を利用して、保護されたドキュメントを作成できます。

どちらの場合でも、IRM プロテクタがドキュメントの権限を保護できた場合は、SharePoint Foundation は保護されたドキュメントをユーザーに対してダウンロードします。プロテクタがドキュメントの権限を保護できなかった場合は、SharePoint Foundation は権限を保護せずにユーザーに対してドキュメントをダウンロードします。IRM プロテクタに重大なエラーが発生した場合は、SharePoint Foundation はドキュメントのダウンロードを取り消します。

特に、IRM プロテクタが次のエラー コードのいずれかを返した場合、SharePoint Foundation は権限を保護せずにユーザーに対してドキュメントをダウンロードします。

  • MSOIPI_STATUS_ALREADY_PROTECTED   ファイルは既に IRM で保護されています。

  • MSOIPI_STATUS_CANT_PROTECT   プロテクタの一般エラーです。

  • MSOIPI_STATUS_NOT_MY_FILE   指定されたファイルは、この IRM プロテクタに関連付けられたファイルの種類ではありません。

これらのタイプのエラーが発生することはまれです。たとえば、SharePoint Foundation がプロテクターを呼び出してファイルを暗号化する処理に達する前に、SharePoint Foundation はファイルの種類に基づいて適切なプロテクターを選択し、そのプロテクターを呼び出して、ファイルの権限が既に保護されているかどうかを確認します。

カスタム プロテクターを作成する開発者は、プロテクターがこれらのコードを返すべきかどうか、また上記のエラー コードをいつ返すかについて決定する責任があります。暗号化されていないファイルを提供しないのであれば、これらのコードを SharePoint Foundation に返すようプロテクターにプログラムしてはなりません。

これらのエラー コードの詳細については、「I_IrmProtector.HrProtectRMS メソッド」および「I_IrmProtector.HrProtect メソッド」を参照してください。

要求されたファイルがユーザーのコンピューターにダウンロードされた後で、クライアント アプリケーションはプロテクターの使用している権限管理サービスに直接アクセスしてファイルを解読します。RMS サーバーまたはその他の権限管理サーバーの場合も同様です。RMS の場合は、クライアント アプリケーションはドキュメントに対する EUL を要求します。その他の権限管理サーバーである場合は、クライアント アプリケーションはファイルへの同様のアクセス権を要求します。

図 1 は、ドキュメント ライブラリに対して権限が管理されたドキュメントをユーザーが要求するときの一般的な処理フローを示します。

図 1. 権限が管理されたドキュメントをユーザーが要求するときの処理フロー

権限が管理されたドキュメントが要求されたときの処理

SharePoint Foundation に IRM で保護されたドキュメントをアップロードする

保護されたファイルをユーザーがドキュメント ライブラリにアップロードするとき、SharePoint Foundation はそのドキュメントのファイルの種類を処理する IRM プロテクターが登録されていないか再度確認します。プロテクターが登録されていない場合、SharePoint Foundation は解読や処理を実行せずにドキュメントをアップロードします。ただし、権限が保護されないアイテムは拒否するようドキュメント ライブラリに設定されている場合、SharePoint Foundation はファイルのアップロードを取り消します。

SharePoint Foundation が適切な IRM プロテクタを見つけた場合は、SharePoint Foundation はそのプロテクタを呼び出し、保護されていないバージョンのドキュメントであることを示すファイル ストリームを生成します。

  • IRM プロテクタは SharePoint Foundation に IL を返します。SharePoint Foundation は、ドキュメント IL に格納されているドキュメント ライブラリ GUID と、ドキュメントがアップロードされるライブラリの GUID を比較します。

  • プロテクタが統合プロテクタである場合は、IRM プロテクタは RMS 解読処理へのアクセス権を与えるよう SharePoint Foundation に要求することができます。

  • プロテクターが自律プロテクターである場合は、IRM プロテクターが解読処理を設定および実行します。自律プロテクターは、そのドキュメントのドキュメント ライブラリ GUID を直接 SharePoint Foundation に返します。それから、SharePoint Foundation は自律プロテクターの返したドキュメント ライブラリ GUID と、そのドキュメントがアップロードされるライブラリの GUID を比較します。

どちらの場合でも、SharePoint Foundation は次の処理を行います。

  • ドキュメント ライブラリの GUID が一致した場合、IRM プロテクタはファイル ストリームを生成することができ、SharePoint Foundation はファイル ストリームを使用して暗号化されていないバージョンのドキュメントを生成します。

    次に、SharePoint Foundation はドキュメントのメタデータの同期などの標準的な処理を実行してから、ドキュメントを格納します。

  • ドキュメント ライブラリの GUID が一致しない場合は、SharePoint Foundation はドキュメントのアップロードを取り消します。

図 2 は、権限が管理されたドキュメントをユーザーがチェックインするときの一般的な処理フローを示します。

図 2. 権限が管理されたドキュメントをユーザーがチェックインするときの処理フロー

ユーザーが権限が管理されたドキュメントをチェックインする

関連項目

タスク

[方法] IRM プロテクタを登録する

概念

SharePoint Foundation における Information Rights Management

SharePoint Foundation での IRM フレームワーク アーキテクチャ

カスタム IRM プロテクタ