FAQ

マニュアル目次Manual Index

本ページは、CA Log Viewer の利用中に出やすい疑問をまとめたものです。マニュアルの はじめに も併せて参照してください。

必須 3 件

UPN が空 / 未取得 になる場合があるのはなぜですか?

CA Log Viewer は UPN 平文を DB に永続保存しない PII 保護方針 を採用しています。アプリを再起動した場合、過去取得分のサインインログ表示で UPN 列が「(未取得)」となることがあります。

解消手順:

  1. アプリを継続起動中であれば、UPN は表示用キャッシュから復元されます。
  2. 長期間放置して再起動した場合は、設定タブ → 「旧データの全削除」 → 取得ボタンで再取得すれば UPN 解決率 100% に戻ります。
  3. 開発者モード (設定タブ → 開発者向け) を有効化すると、UPN 取得診断 (PII なし、件数のみ) で解決率を確認できます。
本アプリの PII 保護方針として、UPN 平文を DB に保存しません。詳細は プライバシーポリシー をご覧ください。

「未適用」のサインインが多く見えます。これは問題でしょうか?

条件付きアクセスポリシーが「未適用」と判定されるサインインには、複数の正常な原因があります:

  • 対象範囲外: そのサインインの対象ユーザー / アプリがポリシーの割り当て範囲に含まれていない
  • 除外条件で除外: 除外ユーザー / 除外グループ / 除外場所等の条件にマッチして除外された
  • レポートモード判定: ポリシーがレポートモードのため、結果に影響しない判定が行われた
  • 条件未マッチ: ポリシーの条件 (場所 / 端末状態 / アプリ等) のいずれかが今回のサインインで非該当

確認方法:

  1. 調査タブで「未適用」で絞り込み、詳細パネルの「適用ポリシー」セクションで実際にどのポリシーが評価されたかを確認
  2. HTML レポートを出力すると、「ポリシーマッチなし」観点で代表ログ + 確認観点が表示されます
  3. 本アプリの 3 軸集約表 (ユーザー別 / アプリ別 / ポリシー別) で、未適用の偏りを俯瞰できます

Microsoft Graph 権限がないと何が起きますか?

CA Log Viewer は以下の 3 つの委任権限を必要とします。不足するとサインインログが取れない・ポリシー名が空になる・ユーザー種別が解決できないなどの症状が出ます。

  • AuditLog.Read.All — サインインログ本体の取得 (必須、不足すると 401/403 エラーで取得失敗)
  • Policy.Read.ConditionalAccess — CA ポリシー名の解決 (不足すると詳細パネルの「適用ポリシー」表でポリシー名が空 / 集約表の「ポリシー別」が機能しない)
  • User.Read.All — ユーザー種別 (Member / Guest) の解決 (不足するとゲスト判定が「不明」になる)

権限不足の確認方法:

  1. 設定タブ → 「権限状況を確認」ボタンで現在のスコープを案内
  2. 取得後にエラーメッセージが出たら、Entra portal のアプリ登録 → API のアクセス許可 で、上記 3 スコープが「管理者の同意」状態かを確認
  3. テナント管理者でない場合は、テナント管理者に同意 (admin consent) を依頼してください

その他のよくある質問

個人情報 (UPN・IP・場所等) は外部に送信されますか?

いいえ。CA Log Viewer は Microsoft Graph 以外の外部エンドポイントには接続しません。取得したサインインログはローカル端末上の SQLite DB に保存され、利用者の操作で全件削除可能です。詳細は プライバシーポリシー をご覧ください。

デモモードはどんなときに使いますか?

テナント未接続でも UI と HTML レポートを試せる機能です。110 件 / 6 シナリオのテストデータが組み込まれており、すべて *.example ドメイン + RFC 5737 IP のみで実テナント情報を含みません。Microsoft Store 版にはデモモードは含まれません (一般エンドユーザー向けバイナリには配布されません)。

言語切替後に UI が一部反映されない場合があります

CA Log Viewer の言語切替は 起動時固定方式 です。設定タブで言語を変更したら、必ずアプリを再起動してください。再起動後はすべての画面 + HTML レポート + デモデータが選択言語で表示されます。

This page lists frequently asked questions when using CA Log Viewer. Also see Getting Started in the manual.

Top 3 questions

Why is the UPN sometimes empty / "(not fetched)"?

CA Log Viewer follows a PII policy that does not persist plain UPNs in the database. After an app restart, previously fetched logs may show "(not fetched)" in the UPN column.

How to resolve:

  1. While the app stays running, UPNs are restored from the display cache.
  2. If you've been away for 7+ days and restart, go to Settings → "Delete all legacy data" → press "Fetch" again to bring the UPN resolution rate back to 100%.
  3. Enable developer mode (Settings → Developer options) to see UPN resolution diagnostics (no PII, counts only).
As the app's PII protection policy, plain UPNs are not stored in the database. See the Privacy Policy for details.

Many sign-ins show "policy not applied". Is something wrong?

"Not applied" can have several normal causes:

  • Out of scope: The user / app of that sign-in is not in the policy's assignment scope
  • Excluded: Matched an exclusion (excluded users / groups / locations, etc.)
  • Report-only judgment: The policy is in report-only mode and judged without affecting the outcome (Report-only* result)
  • Conditions did not match: A policy condition (location / device state / app, etc.) did not match this sign-in

How to investigate:

  1. Filter the Investigate tab by "Not applied" (CA status), and check which policies were actually evaluated in the Detail Pane → "Applied policies" section
  2. Export the HTML report — the "No policy match" aspect shows sample logs + check points
  3. The built-in 3-axis aggregation (by user / by app / by policy) reveals where the "not applied" distribution skews

What happens without Microsoft Graph permissions?

CA Log Viewer requires three delegated permissions. Missing any of them leads to symptoms like fetch failures, empty policy names, or unresolved user types.

  • AuditLog.Read.All — fetch the sign-in logs themselves (required; without it the fetch fails with 401/403)
  • Policy.Read.ConditionalAccess — resolve CA policy names (without it, the "Applied policies" table in the Detail Pane shows empty names; the "by policy" aggregation cannot work)
  • User.Read.All — resolve user type (Member / Guest) (without it, guest judgment becomes "Unknown")

How to check:

  1. Settings → "Check permissions" button shows guidance on current scopes
  2. If errors appear after fetch, go to the Entra app registration → API permissions and verify the three scopes have admin consent
  3. If you're not a tenant admin, ask a tenant admin to grant admin consent

Other questions

Is any personal data (UPN, IP, location, etc.) transmitted externally?

No. CA Log Viewer connects only to Microsoft Graph. Fetched sign-in logs are stored in a local SQLite DB and can be fully deleted by the user. See the Privacy Policy for details.

When would I use demo mode?

Demo mode lets you try the UI and HTML report without connecting to a tenant. It bundles 110 sample records / 6 scenarios using only *.example domains and RFC 5737 IPs (no real tenant data). Demo mode is not included in the Microsoft Store build (excluded for end-user releases).

The UI doesn't fully reflect language changes

CA Log Viewer uses a startup-fixed language model. After changing the language in Settings, please restart the app. All screens, HTML reports, and demo data will then appear in the chosen language.