Understanding usage restrictions (使用制限について)Understanding usage restrictions

すべての RMS 対応アプリケーションは、使用制限を適用する必要があります。All RMS enabled applications must enforce usage restrictions. 使用制限とは、ユーザーが操作 (例: ドキュメントの印刷) を実行しようとしたが、A usage restriction is a condition that results when a user tries to take an action (ex. その操作を実行するための権限 (例: 印刷権限) がドキュメントの RMS ポリシーによって付与されていないprinting a document), but the RMS policy for that document does not grant them permission or right to perform that action (ex. 状態です。the PRINT right).

ドキュメントに対するユーザーのアクセス許可は、IpcAccessCheck 機能を使用して照会できます。A user's permissions for a document can be queried by using the IpcAccessCheck function.

使用制限を含む設計Designing with usage restrictions

  • 標準の RMS 権限について理解するFamiliarize yourself with standard RMS rights

    アプリケーションに適用できるすべての RMS 権限については、「Usage restriction reference (使用制限のリファレンス)」を参照してください。For the full set of RMS rights your application may enforce, see Usage restriction reference.

    アプリケーションで定義される権限は状況に固有のもので、それを超える場合は標準の RMS 権限が作成されることがあります。Note that application defined rights specific to your situation and that go beyond the standard RMS rights may be created.

  • 使用制限の強制ポイントを特定するIdentify usage restriction enforcement points

    使用制限の強制ポイントとは、アプリケーションの制御フロー内で使用制限を強制する必要がある場所です。A usage restriction enforcement point is a place in your application's control flow where you need to enforce a usage restriction. Usage restriction reference (使用制限のリファレンス)」のトピックに、一般的な強制ポイントの例がいくつか紹介されています。The Usage restriction reference topic gives several examples of common enforcement points.

    独自のアプリケーションを評価して、どの使用制限の強制ポイントを適用するかを判断します。Evaluate your own application to determine which usage restriction enforcement points apply.

    Usage restriction reference (使用制限のリファレンス)」で説明されているすべての強制ポイントが必要なわけではありません。Your application may not need all enforcement points described in Usage restriction reference. たとえば、アプリケーションがコンテンツの印刷をユーザーに許可していない場合は、IPC_GENERIC_PRINT 権限についてチェックする必要はありません。For example, if your application does not allow users to print content, it does not need to check for the IPC_GENERIC_PRINT right.

  • 各強制ポイントでアクセス権のチェックを実行するように、コードを更新します。Update your code to perform an access check at each enforcement point

    特定の権限の適用方法については、「Usage restriction reference (使用制限のリファレンス)」を参照してください。For guidance about how to enforce specific rights, see Usage restriction reference.

使用制限のリファレンスUsage restriction reference

使用制限は、次の定数で定義されます。Usage restrictions are defined by the following constants.

「AD RMS の権限」列に記載されている各ユーザーの権限には、それぞれ説明、適用ポイント、および推奨される適用方法が示されています。Each user right, listed in the AD RMS right column, has a description, an enforcement point, and suggested methods for enforcement.

AD RMS 権限/説明AD RMS right/description 適用方法How to enforce
IPC_GENERIC_ALLIPC_GENERIC_ALL

ユーザーにすべての権限を付与します。Grants all rights to the user.

一般的な適用ポイント:なしCommon Enforcement Points: None
この権限はシステムで使用され、通常は直接確認することができません。This right is used by the system and generally should not be checked directly.

次の例に示すように、IpcAccessCheck では、この権限を使用して、その他の権限をユーザーに付与するかどうかを決定します。IpcAccessCheck uses this right to determine whether to grant the user other rights as in this example.

/* fAccessGranted is set to TRUE if either the IPC_GENERIC_WRITE or the IPC_GENERIC_ALL right is granted */

IpcAccessCheck(hKey, IPC_GENERIC_WRITE, &fAccessGranted);
IPC_GENERIC_READIPC_GENERIC_READ

ドキュメントの内容を読み取る権限。The right to read document contents.

一般的な適用ポイント:ドキュメントの読み込みCommon Enforcement Points: Document load
ドキュメントの内容の読み込みまたは表示を行いません。Don't load or present document contents
IPC_GENERIC_WRITEIPC_GENERIC_WRITE

ドキュメントの内容を編集する権限。The right to edit document contents

一般的な適用ポイント:ドキュメントの変更Common Enforcement Points: Document modification
ドキュメントの内容を変更するために使用できる UI コントロールを編集不可にします。Make any UI controls that can be used to modify document contents non-editable.

ドキュメントの変更をトリガーするメニュー項目を無効にします。Disable any menu items that trigger document changes. 典型的な例としては、 [編集] > [切り取り][編集] > [貼り付け][挿入] があります。Edit > Cut, Edit > Paste, and Insert are typical examples.

ドキュメントの変更をトリガーするショートカット メニュー項目を無効にします。Disable any shortcut menu items that trigger document changes.
AD RMS の権限なしNo AD RMS right

説明なしNo description

一般的な適用ポイント:保存Common Enforcement Points: Save
[ファイル] > [保存] メニューを無効にします。Disable the File > Save menu.

この権限は元のドキュメントに対する変更を表さないため、 [ファイル] > [名前を付けて保存] を制御しません。Note This right does not control File > Save As because that right does not represent a change to the original document.

保存をトリガーするために使用できるキーボード ショートカット (Ctrl + S など) を無効にします。Disable any keyboard shortcut that can be used to trigger a save (for example, Ctrl+S).

ヒント ユーザーがこの権限を持っていない場合に失敗するように、 [ファイル] > [保存] の主要なコードを更新することをお勧めします。Tip A best practice is to update your core File > Save code to fail if the user doesn't have this right. これは、保存をトリガーするために使用できる UX メカニズムがない場合の安全策として機能します。This acts as a safety net if you miss any UX mechanisms that can be used to trigger a save.
IPC_GENERIC_EXTRACTIPC_GENERIC_EXTRACT

保護された形式からコンテンツを抽出し、保護されていない形式にする権限。The right to extract content from a protected format and place it in an unprotected format.

一般的な適用ポイント:クリップボードへのコピーCommon Enforcement Points: Copy-to-clipboard
[編集] > [コピー] メニューを無効にします。Disable the Edit > Copy menu. [編集] > [切り取り] メニューを無効にします。Disable the Edit > Cut menu.

ショートカット メニューの [コピー][切り取り] を無効にします。Disable Copy and Cut from any shortcut menus.

コピーをトリガーするために使用できるキーボード ショートカット (Ctrl + C、Ctrl + X など) を無効にします。Disable any keyboard shortcut that can be used to trigger a copy (for example, Ctrl+C or Ctrl+X).

ユーザーがこの権限を持っていない場合は、データのコピーを拒否するように WM_CUT のウィンドウ メッセージ ハンドラーを更新します。Update window message handlers for WM_CUT to reject copying of data if the user does not have this right. Windows が提供する既定のメッセージ ハンドラーをウィンドウで使用する場合は、このウィンドウをサブクラス化して、WM_COPYWM_CUT の独自のハンドラーを指定します。If the window is using the default Windows-provided message handler, subclass this window and provide your own handlers for WM_COPY and WM_CUT.
AD RMS の権限なしNo AD RMS right

説明なしNo description

一般的な適用ポイント:名前を付けて保存Common Enforcement Points: Save As
[名前を付けて保存] ダイアログ ボックスで、RMS 保護なしでドキュメントを保存するファイル形式を無効にします。In your Save As dialog box, disable any file formats that would result in the document being saved without RMS protection.
AD RMS の権限なしNo AD RMS right

説明なしNo description

一般的な適用ポイント:Alt + PrintScreenCommon Enforcement Points: Alt+PrtScn
ドキュメントの内容を表示するウィンドウで IpcProtectWindow を呼び出します。Call IpcProtectWindow on any windows that render document contents.
IPC_GENERIC_EXPORTIPC_GENERIC_EXPORT

保護された形式からコンテンツを抽出し、AD RMS で保護される別の形式にする権限。The right to extract content from a protected format and place it in a different AD RMS-protected format.

一般的な適用ポイント:名前を付けて保存Common Enforcement Points: Save As
[名前を付けて保存] ダイアログ ボックスで、他のファイル形式として保存する機能を無効にします。In your Save As dialog box, disable the ability to save to any other file formats.

ヒント ユーザーがこのファイルを別の形式として保存しようとした場合、およびユーザーがこの権限を持っていない場合に失敗するように、 [ファイル] > [名前を付けて保存] の主要なコードを更新することをお勧めします。TipA best practice is to update your core File > Save As code to fail if the user attempts to save this file to a different format and doesn't have this right. これは、名前を付けて保存をトリガーするために使用できる UX メカニズムがない場合の安全策として機能します。This acts as a safety net if you miss any UX mechanisms that can be used to trigger a save as.
IPC_GENERIC_PRINTIPC_GENERIC_PRINT

ドキュメントの内容を印刷する権限。The right to print document contents.

一般的な適用ポイント:のCommon Enforcement Points: Print
[ファイル] > [印刷] メニューを無効にします。Disable the File > Print menu.

印刷をトリガーするために使用できるキーボード ショートカット (Ctrl + P など) を無効にします。Disable any keyboard shortcut that could be used to trigger a print (for example, Ctrl+P).

印刷をトリガーするために使用できるショートカット メニュー項目を無効にします。Disable shortcut menu items that could be used to trigger a print.

ヒント ユーザーがこの権限を持っていない場合に失敗するように、 [ファイル] > [印刷] の主要なコードを更新することをお勧めします。Tip A best practice is to update your core File > Print code to fail if the user doesn't have this right. これは、印刷をトリガーするために使用できる UX メカニズムがない場合の安全策として機能します。This acts as a safety net if you miss any UX mechanisms that can be used to trigger a print.
IPC_GENERIC_COMMENTIPC_GENERIC_COMMENT

一部のアプリケーションでは、主要なドキュメントの内容を更新せずに、ドキュメントにコメントや注釈を追加する機能がサポートされています。Some applications support the ability to add comments and annotations to the document without updating core document contents.

この権限は、この機能に対するユーザー アクセスを許可します。This right grants the user access to this capability.

一般的な適用ポイント:Common Enforcement Points:

[校閲] > [コメントの挿入]Review > Insert comment

[校閲] > [コメントの削除]Review > Delete Comment
ドキュメントのコメントまたは注釈を変更するために使用できるメニュー項目を無効にします。Disable any menu items that can be used to modify document comments or annotations. 例として、 [校閲] > [コメントの挿入][校閲] > [コメントの削除] などがあります。Review > Insert comment and Review > Delete Comment are examples.

ドキュメントのコメントの変更をトリガーできるキーボード ショートカットを無効にします。Disable any keyboard shortcut that could trigger modification of document comments.

既定の実装では、新しいコメントをファイルに保持するために IPC_GENERIC_COMMENTIPC_GENERIC_WRITE の両方が必要です。Note A default implementation requires both IPC_GENERIC_COMMENT and IPC_GENERIC_WRITE to persist new comments to a file. アプリケーションでは、IPC_GENERIC_COMMENT 権限が付与され、IPC_GENERIC_WRITE 権限が付与されない場合にサポートを追加できます。Applications may choose to add support for the case where the IPC_GENERIC_COMMENT right is granted and the IPC_GENERIC_WRITE right is not. この場合、ドキュメントの変更がコメントだけに制限されていれば、保存が許可されます。In this case, it is permitted to allow Save, as long as document modifications are restricted to comments only.
IPC_VIEW_RIGHTSIPC_VIEW_RIGHTS

説明なしNo description

一般的な適用ポイント:N/ACommon Enforcement Points: N/A
システムにより適用されます。Enforced by the system. この権限が付与されている場合を除き、システムは開発者によるライセンスからのユーザー権限の一覧のクエリを許可しません。The system will not allow the developer to query the user rights list from a license unless this right is granted.
IPC_EDIT_RIGHTSIPC_EDIT_RIGHTS

一部のアプリケーションでは、AD RMS で保護されたコンテンツのユーザーと権限のセットをユーザーが変更できます。Some applications allow users to modify the set of users and rights for AD RMS-protected content.

この権限は、この機能に対するユーザー アクセスを許可します。This right grants the user access to this capability.

一般的な適用ポイント:UI コントロールを編集するアプリケーションの権限Common Enforcement Points: Application rights editing UI control
ドキュメントの RMS ポリシーを編集するために使用できる UI へのユーザー アクセスを無効にします。Disable user access to any UI that can be used to edit the RMS policy for a document.