Splunk 用 Miro アプリは、Splunk から Miro 監査ログへのアクセスを可能にし、集中監視、タイムリーなアラート、堅牢なデータ可視化機能を促進します。この設定を活用することで、ユーザーのアクティビティやセキュリティーイベントに関する情報を含むMiroの監査ログの包括的な概要と深い洞察を得ることができ、監視と分析のプロセスを合理化することができます。これにより、ログ管理が簡素化されるだけでなく、より多くの情報に基づいたデータ主導の洞察により、意思決定プロセスが強化されます。
利用可能なプラン: Enterprise
設定者:会社の管理者
Miro コンフィギュレーション
アクセストークンの生成
1. Miro Enterpriseの設定ページで、アプリとインテグレーション > Enterpriseインテグレーションに進みます。
Enterprise管理コンソールでSIEMを有効化
2. クリックしてSIEMトグルをオンにします。
トグルを有効化すると、アクセストークンをコピーしたり、新しいアクセストークンを生成することができます。
⚠️インテグレーションは、チームと結び付けられ、ユーザー数が最も多いチームです。ここで別のチームを選択することはできませんが、インテグレーションはEnterpriseプランのすべてのチームで機能し、インテグレーションに関連するイベントは監査ログにプラン全体で表示されることに注意してください。
他の管理者がトグルを有効にしている場合、アクセストークンをコピーすることはできません。ただし、インテグレーションを無効にすることはできます。
図 1:以下の場合に表示されるメッセージトグルがすでに有効な場合
Splunk の設定
Miro アプリをインストールする
1. Splunk ダッシュボードから、設定/アプリの管理アイコンをクリックしてアプリの 管理に移動します (図 4)。
図 1:設定/アプリ管理アイコン
2. アプリ]ページで、[その他のアプリを参照]をクリックします。
図 1:その他のアプリを閲覧する/span>/em>
3.Miro App for Splunkを検索し、インストールをクリックしてインストールを進めます。
図 1:Splunk 用のMiro アプリのインストール/span>/em>
4.認証情報を入力し、利用規約に同意するチェックボックスをクリックしてから、「ログインしてインストール」をクリックします。
図 1:ログインとインストール
5.アプリのインストール後、Splunk の再起動が必要になる場合があります。今すぐ再起動をクリックします。
Miro アプリの設定
Miro アプリをインストールすると、Splunk ダッシュボードで確認できます。アプリを設定するには、Miro App for Splunkをクリックします (図 8)。
図 1:Splunk 用 Miro アプリ
Configuration > Logging > Log levelに移動し、Log level を INFO に設定します(図 9)。
図 1:ログレベル/span>/em>
バージョン3.0.0からは、設定>プロキシに移動して Miro Splunk アプリのプロキシを設定することもできます。
図 1:プロキシの設定
Inputs(入力)タブに移動し、Create New Input(新規入力の作成)をクリックして、コネクタの新規入力を作成します。
新しい入力の作成
新しい入力の代表名を入力し、Splunk が Miro からデータを取得する間隔を定義し (60 秒ごとを推奨)、Miro アプリからコピーしたアクセストークンを追加して、[追加] をクリックします:
図 1:Miro監査ログの追加
入力が有効になっていることを確認します。この瞬間から、Splunk は Miro からの監査ログを受信し始めます。
図 1:ステータスの確認/span>/em>
検索機能の使い方
Splunk にどのイベントが送信されているのかを知りたい場合や、ログを確認したい場合は、Search(検索) タブから次を行ってください。
-
監査ログのイベントについては、source="miro_audit_logs" で絞り込み、指定したタイムスロットに Miro から取得された監査ログのリストが表示されます。
time_slot.jpg
図 1:Splunk での Miro の監査ログ -
ログについては、index="_internal" sourcetype="miroappforsplunk:log" で検索を絞り込むと、Miro アプリの指定した時間帯のログの一覧が表示されます。
filter_logs.jpg
図 1:Splunk での Miro ログ
データ可視化
Miro Splunkアプリは、データインサイトの概要を表示する2つの定義済みデータ可視化で充実させることができます。ダッシュボードは、以下の手順で、以下で提供される XML コードをご自身の Splunk セットアップのビジュアライゼーションに貼り付けることで作成できます:
- Splunk 管理者ホームページの [データの可視化] セクションをクリックします。
図 1:データの可視化
-
新しいダッシュボードを作成]をクリックし、適切と思われる詳細を入力します。
図 1:新しいダッシュボードの作成
図 1:新しいダッシュボードの作成
-
新しいダッシュボード・ビューで、「ソース」をクリックし、XMLコードを貼り付けます。
クリックすると、ユーザーアクティビティの可視化 XML コードが表示されます。<ダッシュボード テーマ="light" バージョン="1.1">。
<ラベル>Miroユーザーの活動</ラベル
<description>Miroアカウントのユーザーイベントの概要</description>。
<search id="baseearch">。
<query>source=miro_audit_logs|fields*|eval context.team.name = if(isnull('context.team'),'context.team.name', "なし")| 検索 context.organization.name = "$form.organization$" context.team.name = "$form.team$"</query> </query
<earliest>$time.earliest$</earliest>となります。
<latest>$time.latest$</latest>となります。
検索
<fieldset submitButton="false">。
<入力タイプ="時間" トークン="時間">。
<ラベル>時間範囲</ラベル
デフォルト
<初期>-30日</初期
<最新>現在</最新
デフォルト
入力内容
<入力タイプ="ドロップダウン" トークン="組織">。
<ラベル>組織</ラベル
<fieldForLabel>context.organization.name</fieldForLabel>。
<fieldForValue>context.organization.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.organization.name | dedup context.organization.name</query>。
検索
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
入力内容
<入力タイプ="ドロップダウン" トークン="チーム">。
<ラベル>チーム</ラベル
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
<fieldForLabel>context.team.name</fieldForLabel>。
<fieldForValue>context.team.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.team.name | dedup context.team.name</query>。
検索
入力内容
</fieldset>
<列
<パネル
<シングル
<タイトル>総イベント数</タイトル
<search base="baseearch">。
<クエリ>|統計カウント</クエリ
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
</row>
<列
<パネル
チャート, グラフ
<タイトル>日付別イベント</タイトル
<search base="baseearch">。
<query>| timechart count as Events</query>。
検索
<option name="charting.axisTitleX.visibility">collapsed</option>を指定します。
<option name="charting.axisTitleY.visibility">可視</option>.
<option name="charting.axisY2.enabled">0</option>を指定します。
<option name="charting.chart">エリア</option>。
<option name="charting.chart.nullValueMode">ギャップ</option>.
<option name="charting.chart.stackMode">積み上げ</option>.
<option name="charting.drilldown">なし</option>。
<option name="charting.layout.splitSeries">0</option>。
<option name="charting.legend.mode">標準</option>.
<option name="charting.legend.placement">なし</option>。
<option name="refresh.display">プログレスバー</option>。
チャート, グラフ
</panel>
<パネル
チャート, グラフ
<タイトル>チーム別イベント</タイトル
<search base="baseearch">。
<query>|チームとしてcontext.team.nameをリネーム|チームによって "イベント "としてカウントを統計|ソート - "イベント"</query></query
検索
<option name="charting.chart">パイ</option>。
<option name="charting.chart.sliceCollapsingThreshold">0.03</option>を指定します。
<option name="charting.drilldown">すべて</option>。
<option name="refresh.display">プログレスバー</option>。
<ドリルダウン
<set token="form.team">$click.value$</set>とします。
</drilldown>
チャート, グラフ
</panel>
</row>
<列
<パネル
<シングル
<タイトル>ボードイベント</タイトル
<search base="baseearch">。
<query>| search event = board_* | stats count</query>。
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
<パネル
<シングル
<タイトル>作成されたボード</タイトル
<search base="baseearch">。
<query>| search event = board_created | stats count</query></query
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
<パネル
<シングル
<タイトル>ボードオープン</タイトル
<search base="baseearch">。
<query>| search event = board_opened | stats count</query></query
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
</row>
<列
<パネル
チャート, グラフ
<title>オープンまたは作成されたボード</title
<search base="baseearch">。
<query>|検索 event = board_created OR event = board_opened | timechart count as "Boards created" by event</query></query></query
検索
<option name="charting.axisTitleX.visibility">collapsed</option>を指定します。
<option name="charting.axisTitleY.visibility">可視</option>.
<option name="charting.chart">列</option>。
<option name="charting.chart.stackMode">積み上げ</option>.
<option name="charting.drilldown">なし</option>。
<option name="charting.layout.splitSeries">0</option>。
<option name="charting.legend.placement">右</option>.
<option name="refresh.display">プログレスバー</option>。
チャート, グラフ
</panel>
</row>
ダッシュボード
クリックすると、セキュリティー活動の可視化 XML コードが表示されます。<ダッシュボード テーマ="light" バージョン="1.1">。
<ラベル>Miroセキュリティー活動</ラベル
<description>Miroアカウントのセキュリティーイベントの概要</description>。
<search id="baseearch">。
<query>source=miro_audit_logs|fields *|searchコンテキスト.organization.name = "$form.organization$"</query>。
<earliest>$time.earliest$</earliest>となります。
<latest>$time.latest$</latest>となります。
検索
<fieldset submitButton="false">。
<入力タイプ="時間" トークン="時間">。
<ラベル>時間範囲</ラベル
デフォルト
<初期>-30日</初期
<最新>現在</最新
デフォルト
入力内容
<入力タイプ="ドロップダウン" トークン="組織">。
<ラベル>組織</ラベル
<fieldForLabel>context.organization.name</fieldForLabel>。
<fieldForValue>context.organization.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.organization.name | dedup context.organization.name</query>。
検索
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
入力内容
<入力タイプ="ドロップダウン" トークン="チーム">。
<ラベル>チーム</ラベル
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
<fieldForLabel>context.team.name</fieldForLabel>。
<fieldForValue>context.team.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.team.name | dedup context.team.name</query>。
検索
入力内容
</fieldset>
<列
<パネル
<シングル
<タイトル>ログインに成功しました。
<search base="baseearch">。
<query>| search event = sign_in_succeeded | stats count</query></query
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
<パネル
<シングル
<タイトル>ログインに失敗しました。
<search base="baseearch">。
<query>| search event = sign_in_failed | stats count</query> 検索イベント = サインインに失敗しました。
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
</row>
<列
<パネル
チャート, グラフ
<タイトル>認証方法によるログイン</タイトル
<search base="baseearch">。
<クエリ>| search event = sign_in_* | timechart count as Events by details.authType</query></query
検索
<option name="charting.axisTitleX.visibility">collapsed</option>を指定します。
<option name="charting.axisTitleY.visibility">可視</option>.
<option name="charting.axisY2.enabled">0</option>を指定します。
<option name="charting.chart">列</option>。
<option name="charting.chart.nullValueMode">ギャップ</option>.
<option name="charting.chart.stackMode">積み上げ</option>.
<option name="charting.drilldown">なし</option>。
<option name="charting.layout.splitSeries">0</option>。
<option name="charting.legend.mode">標準</option>.
<option name="charting.legend.placement">右</option>.
<option name="refresh.display">プログレスバー</option>。
チャート, グラフ
</panel>
</row>
<列
<パネル
テーブル
<タイトル>イベントの共有</タイトル
<search base="baseearch">。
<query>| search event = *public_link* OR event = *sharing* | rename context.team.name as Team createdBy.name as User object.name as Board details.role as Details event as Event | table id _time Event Team User Board Details</query></query></query> </query
検索
<option name="count">10</option>。
<option name="drilldown">セル</option>。
<option name="refresh.display">プログレスバー</option>。
テーブル
</panel>
</row>
<列
<パネル
テーブル
<タイトル>ファイル・イベント</タイトル
<search base="baseearch">。
<query>| search event = board_exported OR event = file_* | rename context.team.name as Team createdBy.name as User object.name as Board details.type as Type details.object as Object event as Event | table id _time Event Team User Board Type Object </query></query
検索
<option name="count">10</option>。
<option name="drilldown">セル</option>。
<option name="refresh.display">プログレスバー</option>。
テーブル
</panel>
</row>
ダッシュボード
図 1:ダッシュボードの編集
ユーザー アクティビティー
最初の可視化はユーザーアクティビティで、Miroでのユーザーイベントの概要を見ることができます。それは以下の通りです。
- 経時的なチーム別、総イベント数。
- ボードイベント:作成されたボード、開かれたボード、合計。
user_activity.jpg
図 1:ユーザー アクティビティー
<ダッシュボード テーマ="light" バージョン="1.1">。
<ラベル>Miroユーザーの活動</ラベル
<description>Miroアカウントのユーザーイベントの概要</description>。
<search id="baseearch">。
<query>source=miro_audit_logs|fields*|eval context.team.name = if(isnull('context.team'),'context.team.name', "なし")| 検索 context.organization.name = "$form.organization$" context.team.name = "$form.team$"</query> </query
<earliest>$time.earliest$</earliest>となります。
<latest>$time.latest$</latest>となります。
検索
<fieldset submitButton="false">。
<入力タイプ="時間" トークン="時間">。
<ラベル>時間範囲</ラベル
デフォルト
<初期>-30日</初期
<最新>現在</最新
デフォルト
入力内容
<入力タイプ="ドロップダウン" トークン="組織">。
<ラベル>組織</ラベル
<fieldForLabel>context.organization.name</fieldForLabel>。
<fieldForValue>context.organization.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.organization.name | dedup context.organization.name</query>。
検索
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
入力内容
<入力タイプ="ドロップダウン" トークン="チーム">。
<ラベル>チーム</ラベル
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
<fieldForLabel>context.team.name</fieldForLabel>。
<fieldForValue>context.team.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.team.name | dedup context.team.name</query>。
検索
入力内容
</fieldset>
<列
<パネル
<シングル
<タイトル>総イベント数</タイトル
<search base="baseearch">。
<クエリ>|統計カウント</クエリ
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
</row>
<列
<パネル
チャート, グラフ
<タイトル>日付別イベント</タイトル
<search base="baseearch">。
<query>| timechart count as Events</query>。
検索
<option name="charting.axisTitleX.visibility">collapsed</option>を指定します。
<option name="charting.axisTitleY.visibility">可視</option>.
<option name="charting.axisY2.enabled">0</option>を指定します。
<option name="charting.chart">エリア</option>。
<option name="charting.chart.nullValueMode">ギャップ</option>.
<option name="charting.chart.stackMode">積み上げ</option>.
<option name="charting.drilldown">なし</option>。
<option name="charting.layout.splitSeries">0</option>。
<option name="charting.legend.mode">標準</option>.
<option name="charting.legend.placement">なし</option>。
<option name="refresh.display">プログレスバー</option>。
チャート, グラフ
</panel>
<パネル
チャート, グラフ
<タイトル>チーム別イベント</タイトル
<search base="baseearch">。
<query>|チームとしてcontext.team.nameをリネーム|チームによって "イベント "としてカウントを統計|ソート - "イベント"</query></query
検索
<option name="charting.chart">パイ</option>。
<option name="charting.chart.sliceCollapsingThreshold">0.03</option>を指定します。
<option name="charting.drilldown">すべて</option>。
<option name="refresh.display">プログレスバー</option>。
<ドリルダウン
<set token="form.team">$click.value$</set>とします。
</drilldown>
チャート, グラフ
</panel>
</row>
<列
<パネル
<シングル
<タイトル>ボードイベント</タイトル
<search base="baseearch">。
<query>| search event = board_* | stats count</query>。
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
<パネル
<シングル
<タイトル>作成されたボード</タイトル
<search base="baseearch">。
<query>| search event = board_created | stats count</query></query
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
<パネル
<シングル
<タイトル>ボードオープン</タイトル
<search base="baseearch">。
<query>| search event = board_opened | stats count</query></query
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
</row>
<列
<パネル
チャート, グラフ
<title>オープンまたは作成されたボード</title
<search base="baseearch">。
<query>|検索 event = board_created OR event = board_opened | timechart count as "Boards created" by event</query></query></query
検索
<option name="charting.axisTitleX.visibility">collapsed</option>を指定します。
<option name="charting.axisTitleY.visibility">可視</option>.
<option name="charting.chart">列</option>。
<option name="charting.chart.stackMode">積み上げ</option>.
<option name="charting.drilldown">なし</option>。
<option name="charting.layout.splitSeries">0</option>。
<option name="charting.legend.placement">右</option>.
<option name="refresh.display">プログレスバー</option>。
チャート, グラフ
</panel>
</row>
ダッシュボード
セキュリティー アクティビティー
2つ目の可視化はセキュリティーアクティビティで、Miroのユーザーイベントの概要を見ることができます。それは以下の通りです。
- ログインアクティビティー:ログイン成功と失敗したログイン数
-
イベントの共有:ボードを共有する際のユーザーイベントのリスト。
図20:セキュリティー アクティビティー
<ダッシュボード テーマ="light" バージョン="1.1">。
<ラベル>Miroセキュリティー活動</ラベル
<description>Miroアカウントのセキュリティーイベントの概要</description>。
<search id="baseearch">。
<query>source=miro_audit_logs|fields *|searchコンテキスト.organization.name = "$form.organization$"</query>。
<earliest>$time.earliest$</earliest>となります。
<latest>$time.latest$</latest>となります。
検索
<fieldset submitButton="false">。
<入力タイプ="時間" トークン="時間">。
<ラベル>時間範囲</ラベル
デフォルト
<初期>-30日</初期
<最新>現在</最新
デフォルト
入力内容
<入力タイプ="ドロップダウン" トークン="組織">。
<ラベル>組織</ラベル
<fieldForLabel>context.organization.name</fieldForLabel>。
<fieldForValue>context.organization.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.organization.name | dedup context.organization.name</query>。
検索
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
入力内容
<入力タイプ="ドロップダウン" トークン="チーム">。
<ラベル>チーム</ラベル
<選択肢 value="*">すべて</選択肢
<デフォルト>*</デフォルト
<初期値>*</初期値></初期値
<fieldForLabel>context.team.name</fieldForLabel>。
<fieldForValue>context.team.name</fieldForValue>。
<search base="baseearch">。
<query>| table context.team.name | dedup context.team.name</query>。
検索
入力内容
</fieldset>
<列
<パネル
<シングル
<タイトル>ログインに成功しました。
<search base="baseearch">。
<query>| search event = sign_in_succeeded | stats count</query></query
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
<パネル
<シングル
<タイトル>ログインに失敗しました。
<search base="baseearch">。
<query>| search event = sign_in_failed | stats count</query> 検索イベント = サインインに失敗しました。
検索
<option name="drilldown">なし</option>。
</シングル
</panel>
</row>
<列
<パネル
チャート, グラフ
<タイトル>認証方法によるログイン</タイトル
<search base="baseearch">。
<クエリ>| search event = sign_in_* | timechart count as Events by details.authType</query></query
検索
<option name="charting.axisTitleX.visibility">collapsed</option>を指定します。
<option name="charting.axisTitleY.visibility">可視</option>.
<option name="charting.axisY2.enabled">0</option>を指定します。
<option name="charting.chart">列</option>。
<option name="charting.chart.nullValueMode">ギャップ</option>.
<option name="charting.chart.stackMode">積み上げ</option>.
<option name="charting.drilldown">なし</option>。
<option name="charting.layout.splitSeries">0</option>。
<option name="charting.legend.mode">標準</option>.
<option name="charting.legend.placement">右</option>.
<option name="refresh.display">プログレスバー</option>。
チャート, グラフ
</panel>
</row>
<列
<パネル
テーブル
<タイトル>イベントの共有</タイトル
<search base="baseearch">。
<query>| search event = *public_link* OR event = *sharing* | rename context.team.name as Team createdBy.name as User object.name as Board details.role as Details event as Event | table id _time Event Team User Board Details</query></query></query> </query
検索
<option name="count">10</option>。
<option name="drilldown">セル</option>。
<option name="refresh.display">プログレスバー</option>。
テーブル
</panel>
</row>
<列
<パネル
テーブル
<タイトル>ファイル・イベント</タイトル
<search base="baseearch">。
<query>| search event = board_exported OR event = file_* | rename context.team.name as Team createdBy.name as User object.name as Board details.type as Type details.object as Object event as Event | table id _time Event Team User Board Type Object </query></query
検索
<option name="count">10</option>。
<option name="drilldown">セル</option>。
<option name="refresh.display">プログレスバー</option>。
テーブル
</panel>
</row>
ダッシュボード