[index] AMF Securityリファレンスマニュアル 2.2.3

# 付録 / CSVファイル

各一覧画面の「CSV にエクスポート」ボタンをクリックすると、一覧の内容をCSV（カンマ区切りテキスト）形式でダウンロードすることができます。
また、これらをテキストエディターなどで編集して、「システム設定」/「システム情報」画面から認証データとしてインポートすることもできます。

> Note

> > 「デバイス」/「接続中 デバイス一覧」画面、「スイッチ」/「接続中 AMF メンバー 一覧」画面からエクスポートできるCSVファイルは、通常の認証データとは書式が異なります。「システム設定」/「システム情報」画面からインポートすることはできません。

> Note

> > 各一覧画面の「CSV にエクスポート」ボタンでダウンロードしたデータは、AMF Securityに登録されたデータが出力されます。AMF Securityに登録するデータについては「リファレンス編」もご参照ください。

## 文字コード

各一覧画面でダウンロードしたCSVファイルと、「システム設定」/「システム情報」画面からダウンロードした認証データのCSVファイルのテキストの文字コードは「UTF-8」です。

> Note

> > CSVファイルをAMF Securityにアップロードする場合、CSVファイルに日本語などのマルチバイト文字が含まれている場合、文字コードが「UTF-8」であることを確認してください。「UTF-8」以外の文字コードを使用した場合、アップロード時にエラーが表示されてアップロードができません。

## 出力される項目

CSVファイルをエクスポートできる画面と、CSVファイルに出力される項目は以下となります。

### 凡例

CSVファイルでは、複数のデータ項目（フィールド）を二重引用符（""）でくくり、カンマ（,）で区切ります。

> Note

> > 以下の例では画面表示のためカンマ（,）の後に半角スペースを表示していますが、実際にエクスポートされるCSVファイルでは、カンマの後に半角スペースは含まれません。
> > また、画面表示による折り返しと実際のデータの改行を区別するため、行末に矢印（ ↓）を表示していますが、実際にエクスポートされるCSVファイルでは、行末に矢印は含まれません。
> > カンマの前後や行末など、二重引用符（""）の外に文字や記号を含むCSVファイルをインポートするとエラーになります。

- 灰色の文字列はキーワード（予約語）を指します。基本的にそのまま入力してください。

  sesc.device ↓
- 青色の文字列は一般的な変数値（一般的な文字列、数値など）を示します。

  （デバイス ID） ↓
- スクエアブラケット（角カッコ、[ ]）で囲まれた部分は省略可能であることを示します。

### デバイス

「デバイス」/「デバイス一覧」画面からエクスポートできる、またはデバイス定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではdevice.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
デバイス追加画面のデバイス ID・タグ・備考・インターフェースがテーブル名「device」で、セキュリティーポリシーがテーブル名「rule」でエクスポートされます。

"#","table","デバイス ID","備考","タグ" ↓
"+","device","device_1","device_note","User_A","%ports","%port","00:00:5e:00:53:20","MAC_name","MAC_note" ↓
"+","rule","device_1","sesc.device","","pass","10","True","%options","m_location_name=1F","m_schedule_name=3月イベント","s_network_name=営業部" ↓

■ 書式
デバイスの登録行（テーブル名「device」）は次の書式で記述します。

"+", "device", "（デバイス ID）", "（タグ）", "（備考）", "%ports", "%port", "（MACアドレス）", "（インターフェース名称）", "（備考）" ↓

複数のインターフェースを関連付ける場合は、「"%port"」以降（"%port"、MACアドレス、インターフェース名称、備考）を繰り返します。

"+", "device", "（デバイス ID）", "（タグ）", "（備考）", "%ports", "%port", "（MACアドレス）", "（インターフェース名称）", "（備考）", "%port", "（MACアドレス）", "（インターフェース名称）", "（インターフェース備考）", ... ↓

デバイスにセキュリティーポリシーを指定する場合は、デバイスの登録行（テーブル「device」）に続いて、セキュリティーポリシーの登録行（テーブル「rule」）を次の書式で記述します。

"+", "rule", "（デバイス ID）", "（実行者）（AMF Securityの設定画面で追加した場合はsesc.device）", "（（理由）（AMF Securityの設定画面で追加した場合は空欄）", "pass", "（優先度）", "True", "%options"[, "m_location_name=（ロケーション ID）"][, "m_ofs_port=（ポート名）"][, "m_schedule_name=（スケジュール ID）"][, "m_network_name=（ネットワーク ID）"] ↓

セキュリティーポリシーの各フィールドは、指定が不要な場合は省略可能です。

- ロケーション（m_location_name=（ロケーション ID））
- スイッチポート（m_ofs_port=（ポート名））
- スケジュール（m_schedule_name=（スケジュール ID））
- ネットワーク（m_network_name=（ネットワーク ID））

複数のセキュリティーポリシーを指定する場合は、セキュリティーポリシーの登録行を複数記述します。同じ優先度を指定した場合、後から読み込んだもので上書きされます。

### 接続中 デバイス一覧

「デバイス」/「接続中 デバイス一覧」画面からエクスポートできるCSVファイルは、画面に表示されているMACアドレスの状態を出力するもので、通常のデバイス認証データとは書式が異なります。
「システム設定」/「システム情報」画面から直接インポートすることはできません。テキストエディターなどによる編集の手順については、付録「CSVを利用した認証データの作成」をご覧ください。

### 未認証グループ

「グループ」/「未認証グループ一覧」画面からエクスポートできる、または未認証グループ定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではgroup.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
「グループ」/「未認証グループ追加」画面のグループID・備考・有効/無効がテーブル名「group」で、セキュリティーポリシーがテーブル名「rule」でエクスポートされます。

"#","table","グループ ID","備考","アクション","有効" ↓
"+","group","イベント訪問客","","fail","true" ↓
"+","rule","イベント訪問客","sesc.unauthGroup","","pass","30","True","%options","m_location_name=1Fカンファレンスルーム","m_schedule_name=10月イベント","s_network_name=来客用" ↓

■ 書式
未認証グループの登録行は次の書式で記述します。

"+", "group", "（グループ ID）", "（備考）", "（detect：検出のみの未認証グループ、pass：セキュリティーポリシー設定を持たない通常の未認証グループ、fail：セキュリティーポリシー設定を持つ通常の未認証グループ）", "（true：有効またはfalse：無効）" ↓

未認証グループにセキュリティーポリシーを指定する場合は、未認証グループの登録行に続いて、セキュリティーポリシーの登録行を次の書式で記述します。

"+", "rule", "（グループ ID）", "（実行者）（AMF Securityの設定画面で追加した場合はsesc.unauthGroup）", "（グループ備考）", "（pass：通過またはdetect：検出のみ）", "（優先度）", "True", "%options"[, "m_location_name=（ロケーション ID）"][, "m_schedule_name=（スケジュール ID）"][, "m_network_name=（ネットワーク ID）"] ↓

セキュリティーポリシーの各フィールドは、指定が不要な場合は省略可能です。

- ロケーション（m_location_name=（ロケーション ID））
- スケジュール（m_schedule_name=（スケジュール ID））
- ネットワーク（m_network_name=（ネットワーク ID））

### AMFメンバー

「スイッチ」/「AMF メンバー 一覧」画面からエクスポートできる、またはAMFメンバー定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではswitch.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
「スイッチ」/「AMF メンバー 追加」画面の名称・備考・アカウントグループ IDが、テーブル名「switch」でエクスポートされます。

"#","table","スイッチ ID","備考","Datapath ID","アップストリーム ポート","アカウントグループ ID" ↓
"+","switch","AMF-Member1","#1Fスイッチ","-","","" ↓
"+","switch","AMF-Member2","#1Fスイッチ","-","","group1" ↓

■ 書式
AMFメンバーの登録行は次の書式で記述します。

"+", "switch", "（名称）", "（備考）", "-", "", "（アカウントグループ ID）" ↓

### 接続中 AMF メンバー 一覧のCSVファイルのエクスポート

接続中のAMFメンバー一覧を、CSVファイルに書き出します。

1. 「スイッチ」/「接続中 AMF メンバー 一覧」画面を表示します。
2. 画面右上の「CSV にエクスポート」ボタンをクリックし、CSVファイルをダウンロードします。
   エクスポート時のファイル名は、デフォルトではamf_member_active.csvです。

### アカウントグループ

「システム設定」/「アカウントグループ一覧」画面からエクスポートできる、またはアカウントグループ定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではaccount_group.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
「システム設定」/「アカウントグループ追加」画面のアカウントグループ ID・備考が、テーブル名「account_group」でエクスポートされます。

'"#","table","アカウントグループ ID","備考" ↓
'"+","account_group","group1","営業管理" ↓
'"+","account_group","group2","来客管理" ↓

■ 書式
アカウントグループの登録行は次の書式で記述します。

"+", "account_group", "（アカウントグループ ID）", "（備考）" ↓

### ネットワーク

「ポリシー設定」/「ネットワーク一覧」画面からエクスポートできる、またはネットワーク定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではnetwork.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
「ポリシー設定」/「ネットワーク追加」画面のネットワーク ID・備考・VLAN IDがテーブル名「network」でエクスポートされます。

"#","table","ネットワーク ID","備考","VLAN ID" ↓
"+","network","営業部","営業ネットワーク","123" ↓
"+","network","来客用","ゲストネットワーク","456" ↓

■ 書式
ネットワークの登録行は次の書式で記述します。

"+", "network", "（ネットワーク ID）", "（備考）", "（VLAN ID）" ↓

### ロケーション

「ポリシー設定」/「ロケーション一覧」画面からエクスポートできる、またはロケーション定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではlocation.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
「ポリシー設定」/「ロケーション追加」画面のロケーション ID・備考・スイッチ IDがテーブル名「location」でエクスポートされます。

"#","table","ロケーション ID","備考" ↓
"+","location","1F","1Fエリア","%switch-names","x510-28GTX" ↓
"+","location","1Fカンファレンスルーム","1Fカンファレンスルーム","%switch-names","AT-TQ4400" ↓

■ 書式
ロケーションの登録行は次の書式で記述します。

"+", "location", "（ロケーション ID）", "（備考）", "%switch-names", "（スイッチ ID）" ↓

複数のOpenFlowスイッチを関連付ける場合は、関連付けるスイッチ IDを繰り返します。

"+", "location", "（ロケーション ID）", "（備考）", "%switch-names", "（スイッチ ID）", "（スイッチ ID）",... ↓

### スケジュール

「ポリシー設定」/「スケジュール一覧」画面からエクスポートできる、またはスケジュール定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではschedule.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
「ポリシー設定」/「スケジュール追加」画面のスケジュール ID・備考・開始日時・終了日時がテーブル名「schedule」でエクスポートされます。

"#","table","スケジュール ID","備考","開始日時","終了日時" ↓
"+","schedule","入社","3月入社","20XX-03-01 00:00:00","" ↓
"+","schedule","10月末イベント","","20XX-10-25 00:00:00","20XX-11-04 00:00:00" ↓

■ 書式
スケジュールの登録行は次の書式で記述します。

"+", "schedule", "（スケジュール ID）", "（備考）", "（開始日時）", "（終了日時）" ↓

開始日時または終了日時を指定しない場合は空欄にします。

### アクション

「ポリシー設定」/「アクション一覧」画面からエクスポートできる、またはアクション定義としてインポートできるCSVファイルの書式を示します。
■ エクスポート例
エクスポート時のファイル名は、デフォルトではaction.csvです。
エクスポート時は、1行目にコメント行が出力されます。インポート用のCSVファイルを作成する場合は、このヘッダーは不要です。
「ポリシー設定」/「アクション追加」画面のアクション ID・アクションの実行者・原因・OpenFlowアクション・優先度・AMFアクション・アクションの各種条件がテーブル名「action」でエクスポートされます。

"#","table","アクション ID","アクションの実行者","原因","アクション","優先度","有効" ↓
"+","action","不審デバイス遮断","sesc.action","ポートスキャン","drop","10","True","%options","m_device_mac=00:00:5E:00:53:01" ↓

■ 書式
アクションの登録行は次の書式で記述します。

"+", "action", "（アクション ID）", "（アクションの実行者）", "（理由）", "（pass（通過(許可)）、isolate（隔離）、drop（破棄(遮断)）、またはlog-only（ログ））", "（優先度）", "True", "%options"[, "action_amf=（AMFアクション：isolate（隔離）、drop（パケット破棄）、link-down（リンクダウン）、ipfilter（IPフィルター）、またはlog-only（ログ））"][, "m_device_mac=（デバイスMACアドレス）"][, "m_device_ip=（デバイスIPv4アドレス）"][, "m_device_name=（デバイス ID）"][, "m_device_tag=（デバイスタグ）"][, "m_location_name=（ロケーション ID）"][, "m_network_name=（ネットワーク ID）"][, "s_vlan_id=（通過/隔離 VLAN ID）"] ↓

「"%options"」以降の各フィールドは、指定が不要な場合は省略可能です。

- AMFアクション（action_amf=（アクション））
- デバイスMACアドレス（m_device_mac=（デバイスMACアドレス））
- デバイスIPv4アドレス（m_device_ip=（デバイスIPv4アドレス））
- デバイス（m_device_name=（デバイス ID））
- デバイスタグ（m_device_tag=（デバイスタグ））
- ロケーション（m_location_name=（ロケーション ID））
- ネットワーク（m_network_name=（ネットワーク ID））
- 通過/隔離 VLAN ID（s_vlan_id=（通過/隔離 VLAN ID）））

### 認証データのダウンロード

「システム設定」/「システム情報」画面でダウンロードする認証データは、上記の各種データを必要な順で一括して記載したものです。
通常、すべての種類の認証データが登録されている場合、次の順で記述されます。

1. アカウントグループ
2. AMFメンバー
3. ロケーション
4. スケジュール
5. ネットワーク
6. デバイス
7. 未認証グループ
8. アクション

■ エクスポート例

"+","account_group","group1","営業管理" ↓
"+","account_group","group2","来客管理" ↓
"+","switch","AMF-Member1","#1Fスイッチ","-","","" ↓
"+","switch","AMF-Member2","#1Fスイッチ","-","","group1" ↓
"+","location","1F","1Fエリア","%switch-names","x510-28GTX" ↓
"+","location","1Fカンファレンスルーム","1Fカンファレンスルーム","%switch-names","AT-TQ4400" ↓
"+","schedule","入社","3月入社","2017-03-01 00:00:00","" ↓
"+","schedule","10月末イベント","","2017-10-25 00:00:00","2017-11-04 00:00:00" ↓
"+","network","営業部","営業ネットワーク","123" ↓
"+","network","来客用","ゲストネットワーク","456" ↓
"+","device","device_1","device_note","User_A","%ports","%port","00:00:5e:00:53:20","MAC_name","MAC_note" ↓
"+","rule","device_1","sesc.device","","pass","10","True","%options","m_location_name=1F","m_schedule_name=入社","s_network_name=営業部" ↓
"+","group","イベント訪問客","","fail","true" ↓
"+","rule","イベント訪問客","sesc.unauthGroup","","pass","30","True","%options","m_location_name=1Fカンファレンスルーム","m_schedule_name=10月末イベント","s_network_name=来客用" ↓
"+","action","不審デバイス遮断","sesc.action","ポートスキャン","drop","10","True","%options","m_device_mac=00:00:5e:00:53:01" ↓

## CSVファイルのインポート

「システム設定」/「システム情報」画面では、認証データをCSV形式でダウンロードしたり、テキストエディターなどで編集したCSVファイルをアップロードしたりすることができます。
アップロードするデータは、「システム設定」/「システム情報」画面からダウンロードした認証データ、または、各一覧画面のCSVファイルのどちらをもとにすることもできます。
各一覧画面のCSVファイルを編集して「システム設定」/「システム情報」画面から認証データとしてAMF Securityへアップロードする際、異なる画面のCSVファイルを編集したものアップロードする場合は、必要な情報を次の順でアップロードしてください。

1. セキュリティーポリシー定義
   ロケーション、ネットワーク、スケジュールのいずれの順でインポートすることもできます。
   ただし、ロケーションの定義をインポートする前に、必ずAMFメンバーの定義をインポートしておく必要があります。
   - ネットワーク
   - AMFメンバー ⇒ ロケーション
   - スケジュール
2. デバイス・未認証グループ定義
   デバイス認証データと未認証グループの定義は、どちらから先にインポートすることもできます。
   - デバイス
   - 未認証グループ
3. アクション定義
   AMFメンバー、セキュリティーポリシー（ネットワーク、ロケーション、スケジュール）、デバイス、未認証グループの認証データを一通りインポートした上で、最後にアクション定義をインポートします。

登録の順番が上記と異なる際、未登録の情報が含まれる場合は、エラーとなります。
例えば、デバイスの認証データをアップロードする際、セキュリティーポリシーに指定されたロケーション ID、スケジュール ID、ネットワーク ID、スイッチ ID、スイッチポートのうち、いずれか1つでもAMF Securityに登録されていないIDを記述した場合は、インポートに失敗し、デバイス認証データは更新されません。