
本記事はPalo Alto Networks社のPrisma Accessで、Egress IPアドレスの変更通知をSlackに連携する方法についてご紹介します。
IPアドレスの変更通知とは
Prisma Accessでは、ユーザーがインターネットやSaaSアプリにアクセスする際にテナント固有のIPアドレスが割り当てられます。このIPアドレスをSaaSサービスなどでホワイトリスト化することで、送信元IPアドレスに基づくアクセス制御が可能になります。
しかし、急激なネットワーク負荷の増加に伴いPrisma Accessがオートスケーリングすることによって、テナントに割り当てられたIPアドレスが増減する可能性があります。その際、SaaSサービス側で許可しているIPアドレスの変更が必要になるため、IPアドレスの変更通知を受け取り対応することが重要になります。
※IPアドレスの増減は頻繁に発生するものではありませんが、利用ユーザー数の増減が多く発生する環境では十分に考慮する必要があります。
===参照情報===
Prisma Accessでは、オートスケーリング用のグローバルIPアドレスが顧客専用の予約IPアドレスとして確保されます。オートスケーリングの際、これらのIPアドレスを優先的に割り当て、不足時は新規IPアドレスを確保して割り当てます。
Slack側のワークフロー設定
Slackチャネルに通知を送信するために、Slackアプリケーションのワークフローを作成します。
※Slackでワークフローを作成するためには有料サブスクリプションが必要です
Slackアプリで [ワークスペース] > [ツール] > [ワークフロー] に移動します。
[+ 新規] > [ワークフローを構築する] をクリックします。
[イベントを選択する] をクリックし、イベントとして [Webhookから] を選択します。
[変数を設定する] をクリックして、「キー」と「データタイプ」を指定します。
1つ目の変数を指定したら [終了] をクリックし、再度 [変数を設定する] をクリックして追加の変数を設定できます。
- キー: addrType, addrChangeType, utc_timestamp, text
- データタイプ: テキスト

変数の設定が完了したら [続行する] をクリックします。
ワークフロー画面で [ステップを追加する] をクリックします。
今回は [チャンネルへメッセージを送信する] を選択します。
メッセージを送信するチャネルを選択します。
通知メッセージを入力します。[変数を入力する] をクリックして変数を選択することができます。
[保存する] をクリックします。
設定を確認します。
右上の [完了] をクリックします。ワークフローの名前と説明、権限を設定したら [公開する] をクリックします。
[Webhookを使って開始する] から、ウェブリクエストのURLを確認することができます。

Prisma Access側の設定
Prisma AccessにWebhook URLを設定します。
Strata Cloud Managerにログインし、[Configuration] > [NGFW and Prisma Access] に移動します。
[Configuration Scope: Prisma Access] を指定し、[セットアップ] をクリックします。
インフラストラクチャ設定の歯車マークをクリックします。
[出力 IP の通知 URL] でWebhook URLを入力して [保存] をクリックします。
[設定のプッシュ] を実施して設定を適用します。
Prisma AccessはHTTP POSTリクエストを使用して通知を送信します。このPOSTリクエストには、以下の通知データがJSON形式で含まれています。
{"addrType": "public_ip", "addrChangeType": "add", "utc_timestamp": "2019-01-31 23:08:19.383894", "text": "Address List Change Notification"}
{"addrType": "public_ip", "addrChangeType": "delete", "utc_timestamp": "2019-01-31 23:13:35.882151", "text": "Address List Change Notification"}
{"addrType": "loopback_ip", "addrChangeType": "update", "utc_timestamp": "2019-01-31 23:29:27.100329", "text": "2018-05-11 23:29:27.100329"}
Webhook URLにHTTP POSTリクエストを送信してみます。
指定したチャネルで、指定した形式のメッセージを受け取ることができました。
Slack API
Slackの無料サブスクリプションでも通知を受信することは可能です。
ただし変数を設定することができないため、Prisma Accessから送信される通知データ内の "text" で指定された情報しか受け取ることができません。アドレス変更タイプ (add/delete/update) などの情報は受信することができません。
Slack API からアプリを作成します。
[Create New App] > [From scratch] を選択し、アプリ名とSlack Workspaceを指定して [Create App] をクリックします。
[Incoming Webhooks] > [Activate Incoming Webhooks] をクリックして [On] にします。
画面下部までスクロールし、 [Add New Webhook] をクリックします。
[Webhook用のチャンネル] を選択して [許可する] をクリックします。
[Webhook URL] をPrisma Accessに設定します。
Webhook URLにHTTP POSTリクエストを送信してみます。
指定したチャネルで、"text" 部分のメッセージを受け取ることができました。
まとめ
今回は、Prisma AccessのEgress IP変更通知をSlackで受信する方法についてご紹介しました。
本設定を適用することで、Prisma Access側でIPアドレスが変更される際に即座に通知を受信できるようになります。
Webhook対応のアプリケーションであればSlack以外でも連携ができますので、ぜひ試してみてください。
__________________________________________________________________________________
※本ブログの内容は投稿時点での情報となります。
今後アップデートが重なるにつれ正確性、最新性、完全性は保証できませんのでご了承ください。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
技術統括部 第4技術部 2課
PCNSE, PSE Strata/SASE/Cortex Professional
中村 愛佳 -Manaka Nakamura-

