###################################################################### # All Rights Reserved, Copyright FUJITSU LIMITED 2015-2018 # # API実行サンプル名: # 05-005_ファイアーウォールポリシーへのルール挿入/除去 # # 内容: # ファイアーウォールポリシーへルールを挿入、もしくは除去する手順です。 # # 版数:v1.0 # 更新日:2017/09/01 ###################################################################### 手順: ─────────────────────────────────── 項番1.ファイアーウォールルールの確認 項番2.ファイアーウォールポリシーの確認 項番3.ファイアーウォールポリシーへルールを挿入 項番4.ファイアーウォールポリシーからルールの除去 ─────────────────────────────────── 事前準備: あらかじめ以下を準備する必要があります。 ─────────────────────────────────── ・ルータ ・ファイアーウォールポリシーに登録済みのファイアーウォールルール ・ファイアーウォールポリシーに挿入するファイアーウォールルール ・ファイアーウォールポリシー ・ファイアーウォール ─────────────────────────────────── 注意事項: 事前に追加するファイアーウォールルールを作成してください。作成手順は APIユーザーズガイド「ファイアーウォールルール作成」を参照してくだ さい。 項番1.ファイアーウォールルールの確認 ファイアーウォールポリシーに挿入するファイアーウォールルールを確認 します。 環境定義コマンド例: ====================================================================== # FW_RULES_ID=<ポリシーに挿入するファイアーウォールルールID> FW_RULES_ID=4c3c7ef6-977e-4067-8f73-a2dce4f95372 API実行コマンド例: ====================================================================== curl -s $NETWORK/v2.0/fw/firewall_rules/$FW_RULES_ID -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "firewall_rule": { "protocol": "tcp", "description": "", "ip_version": 4, "tenant_id": "<プロジェクトID>", "enabled": true, "source_ip_address": "192.168.100.1/24", "destination_ip_address": null, "firewall_policy_id": "7e1f9349-6048-4371-ad43-9078d42abd3j", "action": "allow", "shared": false, "source_port": null, "position": 8, "destination_port": "22", "id": "2e8d428b-f206-4489-a1bc-1c86d48f65e3", "name": "TEST_FW_RULE_01", "availability_zone": "jp-west-2a" } } ====================================================================== 項番2.ファイアーウォールポリシーの確認 作成済みのファイアーウォールポリシーを確認します。 API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/fw/firewall_policies -X GET -H "X-Auth-Token: $OS_AUTH_TOKEN" | jq . レスポンス例: ====================================================================== { "firewall_policies": [ { "availability_zone": "jp-west-2a", "description": "", "id": "7e1f9349-6048-4371-ad43-9078d42abd3j", "shared": false, "audited": false, "tenant_id": "<プロジェクトID>", "firewall_rules": [ "8b5d49d8-49b8-4c04-a545-bab5f5b1b265", "08f25f4f-421d-4274-a5b4-79fa5b3fc740", "5e5c1fc7-3c4c-4ec7-8c79-db81af0c3013", "2af77aef-4309-4b6d-b2e2-b6c5134c4a27", "a0500170-619f-4444-bb7f-947b0f536ac6", "d1521158-8063-4897-a29f-675752cc2769", "9f19abf2-7a3d-4c20-9896-ff7936263734", "322288b2-e343-4b0a-9c9c-741e60717ar1", "aba90126-4ae9-4c8a-90e3-c2bcab149165", "fb1a7b3c-03fd-40f3-8264-32e0509d6cm4", "d99cdfcd-cf90-41c7-bf1f-cb44dd457320", "9e1fa62f-6d20-442e-a4db-10235ad1396e", "6f2e14a9-ca16-4485-bc3c-0fb1dee31209" ], "name": "TEST_FWaaS_Polisy" } ] } ====================================================================== 項番3.ファイアーウォールポリシーへルールを挿入 作成済みのファイアーウォールポリシーにファイアーウォールルールを追加 します。 環境定義コマンド例: ====================================================================== # FWP_ID=<対象のファイアーウォールポリシーID> FWP_ID=7e1f9349-6048-4371-ad43-9078d42abd3j # FWR_ID=<追加するファイアーウォールルールID> FWR_ID=2e8d428b-f206-4489-a1bc-1c86d48f65e3 # INSERT_AFTER=<追加するファイアーウォールルールの前に設定するファイ # アーウォールルールID> INSERT_AFTER=9e1fa62f-6d20-442e-a4db-10235ad1396e # INSERT_BEFORE=<追加するファイアーウォールルールの後に設定するファイ # アーウォールルールID> INSERT_BEFORE=6f2e14a9-ca16-4485-bc3c-0fb1dee31209 注意事項: 「INSERT_AFTER」「INSERT_BEFORE」の設定はどちらかを指定してくだ さい。 API実行コマンド例:(「INSERT_AFTER」を設定する場合) ====================================================================== curl -Ss $NETWORK/v2.0/fw/firewall_policies/$FWP_ID/insert_rule -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"firewall_rule_id": "'$FWR_ID'" ,"insert_after": "'$INSERT_AFTER'" }' | jq . API実行コマンド例:(「INSERT_BEFORE」を設定する場合) ====================================================================== curl -Ss $NETWORK/v2.0/fw/firewall_policies/$FWP_ID/insert_rule -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"firewall_rule_id": "'$FWR_ID'" , "insert_before": "'$INSERT_BEFORE'" }' | jq . レスポンス例: ====================================================================== { "availability_zone": "jp-west-2a", "name": "TEST_FWaaS_Polisy", "firewall_rules": [ "8b5d49d8-49b8-4c04-a545-bab5f5b1b265", "08f25f4f-421d-4274-a5b4-79fa5b3fc740", "5e5c1fc7-3c4c-4ec7-8c79-db81af0c3013", "2af77aef-4309-4b6d-b2e2-b6c5134c4a27", "a0500170-619f-4444-bb7f-947b0f536ac6", "d1521158-8063-4897-a29f-675752cc2769", "9f19abf2-7a3d-4c20-9896-ff7936263734", "322288b2-e343-4b0a-9c9c-741e60717ar1", "aba90126-4ae9-4c8a-90e3-c2bcab149165", "fb1a7b3c-03fd-40f3-8264-32e0509d6cm4", "d99cdfcd-cf90-41c7-bf1f-cb44dd457320", "9e1fa62f-6d20-442e-a4db-10235ad1396e", "2e8d428b-f206-4489-a1bc-1c86d48f65e3", "6f2e14a9-ca16-4485-bc3c-0fb1dee31209" ], "shared": false, "audited": false, "tenant_id": "<プロジェクトID>", "id": "7e1f9349-6048-4371-ad43-9078d42abd3j", "firewall_list": [ "da112b8f-4fab-4e0c-b35e-5b7bec4e3wr5" ], "description": "" } ====================================================================== 項番4.ファイアーウォールポリシーからルールの除去 作成済みのファイアーウォールポリシーからファイアーウォールルールを 除去します。 環境定義コマンド例: ====================================================================== # FWP_ID=<対象のファイアーウォールポリシーID> FWP_ID=7e1f9349-6048-4371-ad43-9078d42abd3j # FWR_ID=<除去したいファイアーウォールルールID> FWR_ID=2e8d428b-f206-4489-a1bc-1c86d48f65e3 API実行コマンド例: ====================================================================== curl -Ss $NETWORK/v2.0/fw/firewall_policies/$FWP_ID/remove_rule -X PUT -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"firewall_rule_id": "'$FWR_ID'" }' | jq . レスポンス例: ====================================================================== { "availability_zone": "jp-west-2a", "name": "TEST_FWaaS_Polisy", "firewall_rules": [ "8b5d49d8-49b8-4c04-a545-bab5f5b1b265", "08f25f4f-421d-4274-a5b4-79fa5b3fc740", "5e5c1fc7-3c4c-4ec7-8c79-db81af0c3013", "2af77aef-4309-4b6d-b2e2-b6c5134c4a27", "a0500170-619f-4444-bb7f-947b0f536ac6", "d1521158-8063-4897-a29f-675752cc2769", "9f19abf2-7a3d-4c20-9896-ff7936263734", "322288b2-e343-4b0a-9c9c-741e60717ar1", "aba90126-4ae9-4c8a-90e3-c2bcab149165", "fb1a7b3c-03fd-40f3-8264-32e0509d6cm4", "d99cdfcd-cf90-41c7-bf1f-cb44dd457320", "9e1fa62f-6d20-442e-a4db-10235ad1396e", "6f2e14a9-ca16-4485-bc3c-0fb1dee31209" ], "shared": false, "audited": false, "tenant_id": "<プロジェクトID>", "id": "7e1f9349-6048-4371-ad43-9078d42abd3j", "firewall_list": [ "da112b8f-4fab-4e0c-b35e-5b7bec4e3wr5" ], "description": "" } ====================================================================== 以上