セッション監査ログの保存機能

セッション監査ログの保存機能

Surflyではセッション中の操作や閲覧サイトのログをS3ストレージに保存することができます。
セッション監査ログの保存にはダッシュボードオプションの設定が必要となります。設定方法は こちら をご参照ください。

1.セッション監査ログの保存機能の安全性

すべてのセッション監査ログは、ダッシュボードでしたS3ログバケットにのみ保存されるため、Surflyを含め、お使いのお客様以外がセッション監査ログにアクセスすることはできません。
また、セッション監査ログには参加者の個人情報は保存されません。またマスキング機能をご利用の場合、マスキングされたデータがセッション監査ログに保存されることもありません。

マスキングデータに関する注意
マスクされた要素/フィールドが、method="get "を持つHTMLフォームに存在する場合、またはフィールドの値がURLで使用される場合は注意が必要です。
マスキング対象フィールドに入力された値がセッション監査ログのinput_changeイベントとして記録されることはありませんが、relocate_startイベント(セッション内で新しくURLを指定しWEBを開いた時のイベント)を通じて追跡することができ、ブラウザのネットワーク活動を通じて公開される可能性があります。


2.セッションログに保存される情報

セッションログはJSONファイルで保存され、オブジェクトの配列として保存されます。
一つのオブジェクトが一つのイベントに対応しており、基本的にはそれぞれのイベントの中に、"time"、"type"、"details"、"session_id"の情報が記録されています。

以下のようなイベントが記録され、上記の情報以外にも様々な情報がイベントに応じて保存されます。

セッションや参加者に関連するイベント

・session_created

セッションが開始されるときに記録されるイベントです。このイベントのみ、"details"セクションにsession_idの情報が保存されます。
"details"

session_id
セッションID
start_url
セッションを開始したURL
ip
セッションを作成したユーザーのIPアドレス
created_form
セッションの作成方法
options
セッションに適用されているオプションの設定
server_region
セッションに利用されているサーバーの地域
※app.surfly.jpはサーバーの地域を選択できないため、情報が記録されません。
meta
metaデータ(データが存在する場合のみ)

・leader_joined

リーダーリンクを開いたときに記録されるイベントです。リーダーのユーザー情報(メールアドレスや使用しているブラウザ)などが保存されます。
"details"

client_index
ユーザーのインデックス。リーダーの場合は"0"
"user_params"

avatar
(Gravatarでアバターを設定している場合、)アバター情報
※"email"情報が記録されてるユーザーがセッションに参加すると、必ずgravatar.comと通信を行いURLが記録されます。
email
使用しているメールアドレス
follower_prefix
事前に決められたフォロワー名。リーダーの場合は""
ip
リーダーのIPアドレス
name
ユーザー名
queue_index
キューのインデックス
user_agent
ユーザーが使用してるOSやブラウザの詳細情報
各ブラウザが提供しているUser Agentの情報です。ブラウザによっては情報が偽装されていたり、バージョンの詳細が取得できない場合があります。
username
ユーザー名

・invitation_sent

セッション招待のメールやSMSが送信されたときに記録されるイベントです。
"details"

invite_by
招待方法("email"か"sms")
to
招待時に入力したメールアドレスや電話番号

・follower_joined

フォロワーがフォロワーリンク(セッションURL)を開いたときに記録されるイベントです。フォロワーのユーザー情報(メールアドレスや使用しているブラウザ)などが、違うフォロワーが参加するたびにそれぞれ保存されます。
"details"

client_index
ユーザーのインデックス
"user_params"

avatar
(Gravatarでアバターを設定している場合、)アバター情報
※"email"情報が記録されてるユーザーがセッションに参加すると、必ずgravatar.comと通信を行いURLが記録されます。
email
(オペレーターや参加時にメールアドレスを入力したクライアントのみ)使用しているメールアドレス
follower_prefix
事前に決められたフォロワー名。例:「フォロワー2」
ip
フォロワーのIPアドレス
name
ユーザー名
queue_index
キューのインデックス
user_agent
ユーザーが使用してるOSやブラウザの詳細情報
各ブラウザが提供しているUser Agentの情報です。ブラウザによっては情報が偽装されていたり、バージョンの詳細が取得できない場合があります。
username
ユーザー名

・follower_left

"details"
avatar(Gravatarでアバターを設定している場合、)アバター情報
※"email"情報が記録されてるユーザーがセッションに参加すると、必ずgravatar.comと通信を行いURLが記録されます
client_index
ユーザーのインデックス
color
フォロワーのアノテーションツールとアバターの色(Gravatarが提供されていない場合)
country_code
IPアドレスに基づく国コード
deviceType
”Desktop”または"mobile"
email
(オペレーターや参加時にメールアドレスを入力したクライアントのみ)使用しているメールアドレス
index
リーダーは常に"0"、その他の参加者は"1"以上の数字
name
ユーザー名
online
イベント発生時のユーザーの状態。"online"または "offline"
screenHeight
画面の高さ(pixcel)
screenWidth
画面の幅(pxcel)
ua
ユーザーが使用しているブラウザのユーザーエージェント情報
WebRTCEnabled
WebRTCが有効かどうか
"drawingSettinss"

color
アノテーション/描画ツールの色
enabled
enable_drawingオプションが有効かどうか
mode
描画モード。"Permanent"または"temporary"
timeout
一時的(temporary)な描画モードにおいて、注釈が消え始める時間(秒)
width
アノテーションツールの幅
"user_params"
avatar(Gravatarでアバターを設定している場合、)アバター情報
※"email"情報が記録されてるユーザーがセッションに参加すると、必ずgravatar.comと通信を行いURLが記録されます。
email(オペレーターや参加時にメールアドレスを入力したクライアントのみ)使用しているメールアドレス
follower_prefix事前に決められたフォロワー名。例:「フォロワー2」
ipフォロワーのIPアドレス
nameユーザー名
queue_indexキューのインデックス
user_agentユーザーが使用してるOSやブラウザの詳細情報
各ブラウザが提供しているUser Agentの情報です。ブラウザによっては情報が偽装されていたり、バージョンの詳細が取得できない場合があります。
usernameユーザー名

・session_end

Surflyセッションが終了する際に記録されるイベントです。
"details"

duration
セッションの長さ
participants
セッションに参加した人数

操作権の交替に関連するイベント

・control_gained

セッション内でユーザーが操作権を握った際に記録されるイベントです。
"details"

client_index
ユーザーのインデックス
username
ユーザー名

・control_switch

セッション内で違うユーザーに操作権が交替した際に記録されるイベントです。
"details"

client_index
ユーザーのインデックス
controller
操作権のあるユーザーがリーダーかフォロワーかどうか

・control_switch_request

セッション内で、ユーザーが操作権の交替をリクエストした際に記録されるイベントです。
"details"

request_type
操作交替リクエストの種類(操作権のリクエスト/承認/拒否)

コブラウズ内容に関するイベント

・relocate_start

Webページがセッション内で開かれた際に記録されるイベントです。
"details"

url
開かれたWebページのURL
セッション内で新しいSurflyタブを開いた際に記録されるイベントです。
"details"

url
開かれたWebページのURL
username
ユーザー名

・switch_active_tab

ユーザーが違うSurflyタブに切り替えた際に記録されるイベントです。
"details"

url
Surflyタブを切り替える前にアクティブだったタブで表示しているURL

・click

操作権のあるユーザーがセッション内の要素をクリックした際に記録されるイベントです。
"details"

xpath
アクティブになったタブで表示しているURL
attributes
"href"や"id"など、要素の属性情報
node_name
クリックが検出されたノード名

・input_change

ユーザーが<input>、<select>、<textarea>要素の値に変更を加えた際に記録されるイベントです。
"details"

xpath
変更が検出された特定の要素のXpath
"attributes"
"id"や"class"など、要素の属性情報
value
要素の値
node_name
変更が検出されたノード名
"parent_from_attributes"
"action"、"class"、"id"など親要素の属性情報

・document_edit

アップロードされたファイルが、ドキュメントエディターで編集された際に記録されるイベントです。
"details"

action
どんな編集を行ったかの情報
"annotations"

author
編集者
id
変更ID
tool
ツール名
type
ツールタイプ

・submit

フォームが送信された際に記録されるイベントです。
"details"

xpath
送信された特定のフォームのXpath
node_name
フォームが送信されたノード名
"form_data"
フォームで送信されたデータの情報
"attributes"
フォームの属性

・screenshot_generated

セッション内で自動スクリーンショットが行われた際に記録されるイベントです。

・webrtc_stream_exception

WebRTCスクリーンショットのフローがユーザーによって中断された際に記録されるイベントです。ユーザーがスクリーンショットを行えない要素を選択した際などに表示されます。
"details"

message
例外メッセージ

・webrtc_stream_ended_by_user

WebRTCスクリーンショットのフローがユーザーによって中断された際に記録されるイベントです。ユーザーがかなり早い段階でWebRTCのストリームを終了した可能性があります。

・document_share

セッション内でドキュメントが共有された際に記録されるイベントです。
"details"

file_name
共有されたファイル名
url
共有ファイルのURL

・file_download

セッション内でドキュメントがダウンロードされた際に記録されるイベントです。
"details"

file_name
ダウンロードされたファイル名
user_name
ファイルをダウンロードしたユーザー名

・chat

セッション内で送信されたチャットメッセージが記録されるイベントです。
"details"

username
ユーザー名
message
メッセージの内容

・video_chat_enabled

ユーザーがビデオチャットの設定画面から「開始」をクリックした際に記録されるイベントです。
"details"

client_index
ユーザーのインデックス

・video_chat_archiving_started

ユーザーがビデオチャットに参加する際に、Vonage APIでビデオチャットの録画を設定していると記録されるイベントです。実際にビデオチャットを利用しているかやアーカイブが保存されているかどうかは関係なく、セッションの開始と同時にイベントが記録されます。
"details"

opentok_session_id
OpentokのセッションID

・pause_started

セッション一時停止の際に記録されるイベントです。
"details"

client_index
ユーザーのインデックス

・pause_ended

セッション一時停止を解除した際に記録されるイベントです。
"details"

client_index
ユーザーのインデックス

カスタムイベント

・client_log

セッション内で監査ログを保存するようカスタムで設定した際に記録されます。監査ログの保存方法については、インテグレーションマニュアルのこちらをご参照ください。
"details"
msgセッション内で保存したい変数などの値のリストが保存されます。