3
1

More than 3 years have passed since last update.

Cognitive Services のエンドポイントへのアクセス制限 ~ ファイアウォール機能を試す

Last updated at Posted at 2020-12-10

Cognitive Services の各サービスを Web API として利用するためにはサブスクリプションキーが必要、とは言っても、自分が所有しているエンドポイント(Web API リクエスト先 URL) に誰からでもアクセスされるのは気になります。
一番単純な方法として、Cognitive Services のエンドポイントにファイアウォールを設定し、Azure Virtual Network で設定する IP アドレス、または Private Endpoint 接続 (Azure の他のサービスとの接続) のみからのアクセスに制限することが可能です。

今回はこのファイアウォール機能を有効にして、ひとまず指定する IP アドレスのみアクセス可能にする手順を紹介します。
※ Face API を例としていますが、他の Cognitive Services のサービスでも手順は同じです。

Azure Portal からネットワーク設定

利用している Cognitive Services のサービスを Azure Portal で表示します。
左バナーから [ネットワーク] を選択します。

Firewall and virtual networks タブの内容を編集していきます。
- 許可するアクセス先 : 選択したネットワークとプライベートエンドポイント を選択します。
- ファイアウォール : 現在アクセスしているデバイスのグローバルアドレスが表示されますので、クライアントIPアドレス に ☑ (チェック) をつけます。

[Save] をクリックして設定内容を保存します。

20201210_CognitiveServices_Firewall.png

指定した IP アドレスからアクセス

それでは、Face API へのアクセス制限を設定した PC から (=設定した IP アドレスを使って)、Face API に HTTP リクエスト を送信してみます。

送信画像

20201210_CognitiveServices_RegisteredIP.png

これまで通り顔が検出されています。

指定外の IP アドレスからアクセス

今度は IP アドレスを変更して(Wifi再起動など)、同様に HTTP リクエストを送信します。
Access Denied (403) が戻ることが分かります。Virtual Network/Firewall のため、と理由が書かれていますね。(現在の自分の IP アドレスまで記載してくれていますね)

20201210_CognitiveServices_OtherIP.png

ドキュメント

Microsoft Docs > Azure Cognitive Services 仮想ネットワークを構成する

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1