ADVERTISEMENT

【Slack】アプリホームの表示で困った時の監査ログで原因を追う方法

【Slack】アプリホームの表示で困った時の監査ログで原因を追う方法
🛡️ 超解決

Slackアプリを開発・導入していると、アプリホームが特定のユーザーに表示されない、あるいは権限エラーが発生するといった問題に直面することがあります。この問題は、アプリの設定、ワークスペースのポリシー、個々のユーザー設定など、複数の要因が絡むため、原因の特定に苦労するでしょう。そこで本記事では、Slackが提供する監査ログ機能を使い、どのイベントが問題を引き起こしているのかを特定する方法を、実務に即して解説します。アプリホーム表示に関するトラブルシューティングの際に、ぜひ参考にしてください。

【要点】この記事で確認すること

  • 最初に見る場所: Slackの監査ログ画面とアプリの管理画面。
  • 切り分けの軸: アプリ設定の問題か、ワークスペースの権限設定の問題か、個別ユーザーの設定の問題か。
  • 注意点: 監査ログの参照にはワークスペースの管理者権限が必要です。アプリの再インストールはユーザーへの影響を考慮して実施してください。

ADVERTISEMENT

アプリホームが表示されない原因を切り分ける3つのポイント

問題解決の第一歩は、原因の切り分けです。アプリホームが表示されない原因は、大きく分けて三つのカテゴリに分類できます。それぞれの特徴を理解することで、監査ログを確認する際の手掛かりになります。

アプリ設定の誤り(Appのスコープ不足)

アプリホームを正しく表示するには、アプリのマニフェストファイルで適切なボットトークンスコープを設定する必要があります。具体的には、app_homeスコープが必須です。開発者がこのスコープを追加したにもかかわらず、アプリの再インストールを行っていない場合は、設定が反映されません。また、インタラクティブな機能(ボタン操作など)をホームタブで実装する場合は、chat:writecommandsなどの追加スコープも必要になります。

ワークスペースの権限設定(管理者による制限)

ワークスペースの管理者が、アプリのインストールや特定の権限を制限している場合があります。例えば、アプリがユーザーのプロファイル情報を読む権限(users:read)を要求しているにもかかわらず、管理者がその権限を拒否していると、アプリホームが機能しません。このような場合、監査ログにapp_scope_deniedイベントが記録されます。

ユーザー固有の設定(プライバシー設定)

ユーザー個人が、アプリのホームタブを表示しない設定にしている可能性があります。Slackクライアントの設定メニューから、「プライバシーと管理」→「アプリのホームタブ」で表示設定を変更できます。この設定はユーザーごとに独立しているため、監査ログでは直接確認できません。ただし、特定のユーザーのみ問題が発生している場合は、この可能性を疑ってください。

監査ログを確認する前の準備

必要な管理者権限の確認

監査ログを確認できるのは、ワークスペースのオーナーまたは管理者権限を持つメンバーのみです。もしくは、管理者から「監査ログを表示する」権限が付与されたメンバーも閲覧できます。権限がない場合は、適切な管理者に依頼してください。権限の有無は、Slackのメニューから「設定と管理」→「ワークスペースの設定」→「権限」の順に進み、「監査ログ」の項目で確認できます。

監査ログでアプリホーム問題の原因を追う具体的な手順

ここからは、実際に監査ログを操作する手順を解説します。以下の手順に沿って進めてください。

  1. Slackに管理者権限でログインし、メニューから「設定と管理」→「ワークスペースの設定」を開きます。
  2. 左サイドバーにある「監査ログ」をクリックします。監査ログのダッシュボードが表示されます。
  3. フィルタアイコンをクリックし、「イベント」フィールドにapp_homeと入力してEnterキーを押します。関連するイベント(app_home_openedapp_home_errorなど)が絞り込まれます。
  4. さらに、調査対象のアプリ名やユーザー名でフィルタを追加します。「メンバー」や「詳細」フィールドが利用できます。例えば、問題が発生しているユーザーのメールアドレスを入力すると、そのユーザーに関連するイベントのみを表示できます。
  5. 結果リストから、app_home_opened(アプリホームが開かれた)、app_uninstalled(アプリがアンインストールされた)、tokens_revoked(トークンが失効した)などのイベントを探します。特にエラーを示すイベント(app_scope_denieduser_scope_denied)は重要な手掛かりです。
  6. 各イベントの詳細をクリックし、reason(理由)やactor(実行者)のフィールドを確認します。権限拒否の場合は、具体的なスコープ名(例:users:read)が記録されていることがあります。
  7. 問題の時間帯に該当するエラーイベントがないか、日付範囲を指定して検索します。例えば、「昨日の午後2時から3時の間にアプリホームが表示されなくなった」という報告があれば、その時間帯に絞って監査ログを確認します。

状況別比較表:原因と対応

以下の表に、よくある状況とその原因、監査ログで確認すべきイベント、対応策をまとめました。トラブル発生時の参考にしてください。

状況 考えられる原因 監査ログで確認するイベント 対応策
アプリホームが真っ白で何も表示されない アプリのスコープ不足、またはアプリのエラー app_scope_deniedapp_home_error 開発者がアプリにapp_homeスコープを追加し、再インストールする。
「権限がありません」と表示される ワークスペース管理者が権限を拒否 app_scope_denied(actorが管理者) 管理者が承認するか、アプリが必要とする権限を見直す。
特定のユーザーだけ表示されない そのユーザーのプライバシー設定、またはユーザートークンの欠如 user_scope_deniedtokens_revoked ユーザーにアプリの再認証を促すか、管理者がトークンを再発行する。
以前は表示されていたのに急に見えなくなった アプリのアップデートによるトークン失効、または管理者による権限変更 tokens_revokedapp_uninstalled 監査ログで変更時刻と変更者を特定し、適切な対応を取る。

監査ログだけではわからない場合の調査ポイント

監査ログは非常に強力なツールですが、すべてを網羅しているわけではありません。監査ログだけでは原因が特定できない場合、以下のポイントを追加で調査してください。

アプリの管理画面の確認

Slack APIサイト(api.slack.com)のアプリ管理画面から、アプリの「OAuth & Permissions」セクションを確認します。ここでは、実際に付与されているトークンとスコープを確認できます。監査ログで権限拒否が記録されていても、管理画面で未承認のままになっている場合があります。また、トークンの有効期限が切れていないかも併せて確認してください。

アプリの開発者ログ

アプリが自社開発の場合は、アプリサーバー側のログを確認します。Slack APIからのリクエストが正しく処理されているか、エラーが発生していないかをチェックします。特に、/slack/eventsエンドポイントのログが重要です。Slackが送信したイベントに対して、アプリが適切なレスポンスを返しているかどうかがわかります。

よくある質問(FAQ)

ここでは、アプリホームと監査ログに関してよく寄せられる質問とその回答を紹介します。

Q: 監査ログは誰でも見られますか?
A: いいえ。ワークスペースのオーナーまたは管理者権限を持つメンバーのみが閲覧できます。権限がない場合は、管理者に依頼してください。

Q: 過去のログはどこまでさかのぼれますか?
A: Slackのプランによって異なります。無料版では約90日間、Enterprise Gridではさらに長期間保存されます。お使いのプランを確認してください。

Q: アプリホーム表示に必要な最低限のスコープ(権限)は何ですか?
A: app_homeスコープが必須です。また、インタラクティブ機能(ボタン操作など)を使う場合はcommandschat:writeなども必要です。監査ログのイベント詳細には、どのスコープが拒否されたかが記録されていることが多いため、確認してください。

まとめ

アプリホームの表示問題は、監査ログを効果的に活用することで、原因を迅速に特定できます。まずは監査ログで該当時間帯の権限関連イベントを確認し、問題の切り分けを行ってください。それでも解決しない場合は、アプリ管理画面や開発者ログと組み合わせて調査を進めるとよいでしょう。原因が特定できれば、適切な権限設定やアプリの再設定により、安定的な運用が可能になります。本記事で紹介した手順を、実際のトラブル解決にお役立てください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT