レポートのデータ権限問題Descriptionユーザーが特定の独立したレポートや、ダッシュボードやホームページの一部であるレポートを表示している場合に、レポートに表示されている情報が期待よりも少ないと思われるか、データがまったく表示されない場合があります。 この状況が発生する原因は多数ありますが、この記事では、その中から最も一般的な原因をいくつか示し、その問題を解決または回避できると考えられる方法についても説明します。Resolutionこの状況が発生する原因は多数ありますが、その中からいくつかを示し、それを修正できる可能性がある方法について詳しく説明します。 レポートが共有されていない レポートを表示できない、またはアクセスできない最も一般的で明白な原因は、(個々のユーザー、ロール、またはグループとして) レポートにアクセスしようとしているユーザーにレポートが共有されていないことです。デフォルトでは、新しく作成されたレポートは共有されないため、レポート作成者またはアドミンロールを持つユーザー以外はアクセスできません。 通常、レポートは、ユーザー個人の単位で共有したり、1 つ以上のグループと共有したり、システム上の 1 つ以上のロールに割り当てたりすることができます。 このようなアクセス権限の問題は、通常、レポートがリストに表示されなかったり、レポートを開いたり選択したりするオプションに表示されなかったりする原因になります。他のユーザーがダッシュボードまたはホームページにアクセスできても、そのようなレポートにはアクセスできないダッシュボードまたはホームページに対してそのレポートが追加された場合、ダッシュボードはそのレポートが通常表示される場所に、「レポートを表示できるのは、特定のユーザーまたはグループのみです」というメッセージを表示します。 この問題を修正するには、レポートの所有者 (またはアドミニストレーター) が、そのレポートの表示とアクセスの権限を持つべき適切な個人とレポートを共有する必要があります。この設定は、レポートの所有者により、表示されるレポート内の共有アイコンから直接実行できます。 リストレポートに表示される行数が期待より少ない レポートに関して報告されることがあるもう 1 つの一般的な問題は、リストタイプのレポートで、レポートに表示される行が閲覧者が期待するよりも少ないことです。たとえば、あるユーザーが表示したリストレポートに100 行があっても、別のユーザーが同じレポートを表示すると、表示される行が少なくなったり、まったく表示されなくなったりする場合があります。 レポートから 1 つ以上の行が削除された場合は、通常、セキュリティ上の制約によりリストからいくつかのグループが削除されたことを示すメッセージも表示されます。 たとえば、アクティブプリンターのリストレポートが、あるユーザーには次のように表示されるとします。 ただし、同じレポートを別のユーザーが表示しようとすると、大きく異なる結果が表示される場合があります。 この問題の一般的な原因は、リストタイプのレポートでは、レポートによって返される各行が、まずそのレポートのソーステーブルで定義されているすべての読み取りアクセスコントロール (Access Control, ACL) レコードと比較されるためです。 したがって、このリストレポートの例では、そのレポートに表示される可能性のあるリストの行ごとに次の ACL が考慮されます。 この問題を修正するには、この情報を表示する必要があるユーザーのために、対象のテーブルおよびフィールドへの必要な読み取り権限を付与する新しい ACL を作成 (または既存の ACL レコードを更新) する必要があります。ACL レコードを変更するか、新しい ACL レコードを作成するには、一時的に security_admin に昇格されたアドミンアカウントが必要です。また、通常どおり、特にシステム内の ACL やその他のセキュリティ関連オブジェクトを編集する場合は細心の注意を払う必要があります。 不完全なデータを示すグラフレポート レポートの閲覧で発生することが非常に多いもう 1 つの問題は、グラフタイプのレポート (リストタイプ以外のレポートとして定義) が、別のユーザーの同じレポートと比較して、不完全なデータセットを表示する可能性があることです。 この問題は、レポートが生成されて閲覧者に表示される前に、ソーステーブルのデータに対して何らかのクエリ前ビジネスルールが実行されていることが原因で発生します。 したがって、該当するビジネスルールがそのレポートのソーステーブルで見つかり、権限または同様の条件に基づいてデータが制限されている場合、その条件を満たさないレコードはレポートに含める対象として扱われません。 そのため、(特にグループまたはロールのアクセス権限のため) アクセス権限レベルが異なるユーザーには、同じレポートでも大きく異なる結果が表示されることがあります。 たとえば、インスタンスに「カテゴリ別のすべてのインシデント」というタイトルのレポートがあり、作成者の場合、このレポートは次のように表示されるとします。 しかし、同じレポートでも、別のユーザーから次のように非常に小さなデータのサブセットが表示されたと報告を受ける場合があります。 このような違いが発生する理由を調査すると、このレポートのソーステーブルである「インシデント」には、クエリ前ビジネスルールが関連付けられていることが分かります。このビジネスルールは、エンドユーザーに最終レポートを表示したり、ダッシュボードやホームページにレポートを表示したりする前に、レポートデータに対して実行されます。 したがって、この例では、特定のユーザーがアクセスできるレコードを制限する、すぐに利用可能なクエリ前ビジネスルールが、そのままインシデントテーブルで実行されていることが分かりました。 この特定のケースでは、この特定のユーザーは ITIL ロールのメンバーではなく、そのインシデントの最初の作成者または呼び出し元でもなく、そのインシデントのウォッチリストのメンバーでもないため、当該のレコードを確認できません。ただし、このユーザーはこうしたレコードの送信者であるため、レポートにはそのユーザーに対応するレコードが 1 つ含まれていることが分かります。 このレポートで取り扱われている実際のデータを確認すると、現在ログインしているこのユーザーには対象である特定の要件を満たしているレコードが 1 つだけあるため、そのユーザーに表示されるバージョンのレポートにそれが含まれていることが分かります。 このような問題を修正するための方法はいくつかあります。ユーザーを適切なロール (そのビジネスルールの許可対象ロールリストに指定されている) に追加するか、必要に応じてビジネスルールを変更して、該当するデータに必要なセキュリティ態勢を維持しながら、ユーザーに必要な権限を提供することができます。 前述の問題と同様、特定のレコードの種類に対する読み取り ACL もテーブル内の特定のレコードへのアクセスを制限する場合があるため、そのレポートで期待されるよりも少ないデータに基づいてレポートが表示される原因になる可能性があります。 また、この特定の問題はグラフレポートの観点から説明されていますが、クエリ時のビジネスルールはリストレポートで返される行にも当てはまることに注意してください。ただし、これらの行は ACL によって制限されることが多く、たいていの場合 ACL はビジネスルールよりも大幅に制限が厳しいため、この問題は通常、リストタイプのレポートではあまり発生しません。 Additional Informationレポートがデータを返さなかったり、返されるデータが期待より少なかったりする原因は多数考えられます。この記事では、特定のレポートに表示されるデータが少なかったり、データが 1 つもなかったりするという問題に関する一般的な発生源をいくつか説明しています。そのため、返されたレポートが不完全であると思われる問題のトラブルシューティングと解決には、まずこれらの発生源に対応することが効果的です。