※ 2018 年 5 月 22 日現在の情報をもとに作成しています
1. はじめに
Umbrella Platform サブスクリプションに付属する Umbrella Enforcement API の使用例を 2 回に渡って説明します。本記事はそのうちの 1 回目で、Umbrella Enforcement API の概要と実際に使用するまでの準備を取り上げます。
2. Umbrella Enforcement API とは
Umbrella Enforcement API は、他のセキュリティ製品が Umbrella と連携できるように Umbrella 側で用意した HTTPS のインターフェースで、この API に対して具体的に以下のアクションを行うことができます。
- Umbrella にセキュリティ イベントを送り込む (Umbrella 側ではその中に含まれるドメインのみを保持する)
- 保持されたドメインの一覧を取得する
- 保持されたドメインから特定のドメインを削除する
以下は 1 つ目のアクションの実際のデータ フローを図に表したものになります。

そして、Umbrella は他のセキュリティ製品から受け取ったドメインをセキュリティ ポリシーに組み込み、ブロック対象とすることができます。
ただし、送られてきたすべてのドメインが Umbrella 側で保持されるわけではなく、Benign と判断されているドメインは保持されないなど、一定のルールが存在します。ルールの詳細については、以下の公開文書に記載があります。
Umbrella Enforcement API – Domain Acceptance Process
https://enforcement-api.readme.io/reference#domain-acceptance-process2
3. 事前準備
Umbrella Enforcement API を使うには、まず Umbrella Dashboard の Policies -> Integrations に連携したい製品専用の API のエントリーを作成する必要があります。

いくつかの製品については、既に API のエントリーが用意されていますが、本記事では Security Product というエントリーを作成し、それを使用することにします。

作成した直後の Security Product のエントリーのステータスは Disabled となっていますので、必ず Enabled にします。また、API にアクセスするための URL が記載されていますので、これを控えておきます。
なお、この URL には customerkey というパラメーターが付いていますが、これは Umbrella Enforcement API にアクセスするための認証情報の役割をしますので、外部には絶対に公開しないようにします (HTTPS 通信の中では URL 部分は暗号化されます)。
最後に、Umbrella Dashboard の Policies -> Security Settings に今回のテスト用のポリシーを作成し、その中で Security Product に登録されたドメインのブロックを有効にします。
Umbrella Dashboard 側の準備は以上となります。次に、Umbrella Enforcement API にアクセスし、セキュリティ イベントを送ることになりますが、今回の使用例では、一般的な Linux 端末を用意し、アクセスには curl コマンドを使用することにします。
なお、実際にセキュリティ イベントを送信し、その中に含まれるドメインがブロックされるまでの説明については、次回の記事で紹介します。