Understanding usage restrictions (使用制限について)
重要
2020 年 3 月より前にリリースされた Microsoft Rights Management Service SDK のバージョンは非推奨です。2020 年 3 月のリリースを使用するには、以前のバージョンを使用するアプリケーションを更新する必要があります。 詳細については、 非推奨の通知を参照してください。
Microsoft Rights Management Service SDK の今後の機能強化は計画されていません。 分類、ラベル付け、保護サービスには、Microsoft Information Protection SDK の導入を強くお勧めします。
すべての RMS 対応アプリケーションは、使用制限を適用する必要があります。 使用制限とは、ユーザーがアクションを実行しようとした場合 (ドキュメントの印刷など) が発生する条件ですが、そのドキュメントの RMS ポリシーでは、その操作を実行する権限 (PRINT 権限など) は付与されません。
ドキュメントに対するユーザーのアクセス許可は、IpcAccessCheck 機能を使用して照会できます。
使用制限を含む設計
標準の RMS 権限について理解する
アプリケーションに適用できるすべての RMS 権限については、「Usage restriction reference (使用制限のリファレンス)」を参照してください。
アプリケーションで定義される権限は状況に固有のもので、それを超える場合は標準の RMS 権限が作成されることがあります。
使用制限の強制ポイントを特定する
使用制限の強制ポイントとは、アプリケーションの制御フロー内で使用制限を強制する必要がある場所です。 「Usage restriction reference (使用制限のリファレンス)」のトピックに、一般的な強制ポイントの例がいくつか紹介されています。
独自のアプリケーションを評価して、どの使用制限の強制ポイントを適用するかを判断します。
「Usage restriction reference (使用制限のリファレンス)」で説明されているすべての強制ポイントが必要なわけではありません。 たとえば、アプリケーションでユーザーがコンテンツを印刷できない場合、 IPC_GENERIC_PRINT の権限を確認する必要はありません。
各強制ポイントでアクセス権のチェックを実行するように、コードを更新します。
特定の権限の適用方法については、「Usage restriction reference (使用制限のリファレンス)」を参照してください。
使用制限のリファレンス
使用制限は、次の定数で定義されます。
「AD RMS の権限」列に記載されている各ユーザーの権限には、それぞれ説明、適用ポイント、および推奨される適用方法が示されています。
AD RMS 権限/説明 | 適用方法 |
---|---|
IPC_GENERIC_ALL ユーザーにすべての権限を付与します。 一般的な適用ポイント: なし |
この権限はシステムで使用され、通常は直接確認することができません。 次の例に示すように、IpcAccessCheck では、この権限を使用して、その他の権限をユーザーに付与するかどうかを決定します。 /* 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_READ ドキュメントの内容を読み取る権限。 一般的な適用ポイント: ドキュメントの読み込み |
ドキュメントの内容の読み込みまたは表示を行いません。 |
IPC_GENERIC_WRITE ドキュメントの内容を編集する権限。 一般的な適用ポイント: ドキュメントの変更 |
ドキュメントの内容を変更するために使用できる UI コントロールを編集不可にします。 ドキュメントの変更をトリガーするメニュー項目を無効にします。 編集>一般的な例は、切り取り、貼り付けの編集>、挿入です。 ドキュメントの変更をトリガーするショートカット メニュー項目を無効にします。 |
AD RMS の権限なし 説明なし 一般的な適用ポイント: 保存 |
[ファイル>の保存] メニューを無効にします。 注 この権限は元のドキュメントに対する変更を表さないため、[ファイル]>[名前を付けて保存] を制御しません。 保存をトリガーするために使用できるキーボード ショートカット (Ctrl + S など) を無効にします。 ヒント ユーザーがこの権限を持っていない場合に失敗するように、[ファイル]>[保存] の主要なコードを更新することをお勧めします。 これは、保存をトリガーするために使用できる UX メカニズムがない場合の安全策として機能します。 |
IPC_GENERIC_EXTRACT 保護された形式からコンテンツを抽出し、保護されていない形式にする権限。 一般的な適用ポイント: クリップボードへのコピー |
[コピーの編集>] メニューを無効にします。 [切り取り編集]> メニューを無効にします。 ショートカット メニューの [コピー] と [切り取り] を無効にします。 コピーをトリガーするために使用できるキーボード ショートカット (Ctrl + C、Ctrl + X など) を無効にします。 ユーザーがこの権限を持っていない場合は、データのコピーを拒否するように WM_CUT のウィンドウ メッセージ ハンドラーを更新します。 Windows が提供する既定のメッセージ ハンドラーをウィンドウで使用する場合は、このウィンドウをサブクラス化して、WM_COPY と WM_CUT の独自のハンドラーを指定します。 |
AD RMS の権限なし 説明なし 一般的な適用ポイント: 名前を付けて保存 |
[名前を付けて保存] ダイアログ ボックスで、RMS 保護なしでドキュメントを保存するファイル形式を無効にします。 |
AD RMS の権限なし 説明なし 一般的な適用ポイント: Alt + PrintScreen |
ドキュメントの内容を表示するウィンドウで IpcProtectWindow を呼び出します。 |
IPC_GENERIC_EXPORT 保護された形式からコンテンツを抽出し、AD RMS で保護される別の形式にする権限。 一般的な適用ポイント: 名前を付けて保存 |
[名前を付けて保存] ダイアログ ボックスで、他のファイル形式として保存する機能を無効にします。 ヒント ユーザーがこのファイルを別の形式として保存しようとした場合、およびユーザーがこの権限を持っていない場合に失敗するように、[ファイル]>[名前を付けて保存] の主要なコードを更新することをお勧めします。 これは、名前を付けて保存をトリガーするために使用できる UX メカニズムがない場合の安全策として機能します。 |
IPC_GENERIC_PRINT ドキュメントの内容を印刷する権限。 一般的な適用ポイント: 印刷 |
[ ファイル>の印刷 ] メニューを無効にします。 印刷をトリガーするために使用できるキーボード ショートカット (Ctrl + P など) を無効にします。 印刷をトリガーするために使用できるショートカット メニュー項目を無効にします。 ヒント ユーザーがこの権限を持っていない場合に失敗するように、[ファイル]>[印刷] の主要なコードを更新することをお勧めします。 これは、印刷をトリガーするために使用できる UX メカニズムがない場合の安全策として機能します。 |
IPC_GENERIC_COMMENT 一部のアプリケーションでは、主要なドキュメントの内容を更新せずに、ドキュメントにコメントや注釈を追加する機能がサポートされています。 この権限は、この機能に対するユーザー アクセスを許可します。 一般的な適用ポイント: コメントの挿入を確認 > する コメントの削除を確認 > する |
ドキュメントのコメントまたは注釈を変更するために使用できるメニュー項目を無効にします。
レビュー>[コメントの挿入] と [コメントの削除の確認>] の例を示します。 ドキュメントのコメントの変更をトリガーできるキーボード ショートカットを無効にします。 注 既定の実装では、新しいコメントをファイルに保持するために IPC_GENERIC_COMMENT と IPC_GENERIC_WRITE の両方が必要です。 アプリケーションでは、IPC_GENERIC_COMMENT 権限が付与され、IPC_GENERIC_WRITE 権限が付与されない場合にサポートを追加できます。 この場合、ドキュメントの変更がコメントだけに制限されていれば、保存が許可されます。 |
IPC_VIEW_RIGHTS 説明なし 一般的な適用ポイント: N/A |
システムにより適用されます。 この権限が付与されている場合を除き、システムは開発者によるライセンスからのユーザー権限の一覧のクエリを許可しません。 |
IPC_EDIT_RIGHTS 一部のアプリケーションでは、AD RMS で保護されたコンテンツのユーザーと権限のセットをユーザーが変更できます。 この権限は、この機能に対するユーザー アクセスを許可します。 一般的な適用ポイント: UI コントロールを編集するアプリケーション権限 |
ドキュメントの RMS ポリシーを編集するために使用できる UI へのユーザー アクセスを無効にします。 |