【Ask SORACOM Vol.1】 SORACOM Beamの転送先でアクセス制限をかけるには? 他

2019/11/21

こんにちは、サポートエンジニアの三國です。

ソラコムでは多くのお客様からお問い合わせを頂いておりますが、新しい試みとして多くのお客様のナレッジとできるようなお問い合わせ・回答を不定期に紹介していきたいと思います。SORACOM サービスのご利用にあたって気付きになれば幸いです。 なお内容についてはお客様より許可を頂いて掲載しております。また、FAQ サイトも随時更新していますのでご参照ください。

それでは第一回、早速まいりましょう!


質問 1.

ユーザーコンソールや SORACOM CLI から 1,000 件以上の SORACOM Harvest のデータを一括ダウンロードする方法はありますか?

回答 1.

SORACOM Harvest のデータダウンロードはユーザーコンソールでは現状 1,000 件が上限となりそれ以上を一括ダウンロードする方法はありません。 SORACOM CLI バージョン 0.5.0 以上であれば以下のように --fetch-all オプションをつければ自動でページネーションされ、一括ダウンロードが可能です。

soracom subscribers get-data --fetch-all --imsi "SIMのIMSI"

SORACOM CLI も日々機能改善していますので、以下ドキュメントも参考に是非最新版を利用ください。

(参考) SORACOM CLI 利用ガイド

なお、API の呼び出し量が多すぎる場合は HTTP レスポンスのステータスコードとして 429 (Too Many Requests) が返却される可能性があります。 そのような場合は以下の API 利用ガイドを参考に呼び出しタイミングを調整するか、サポート窓口へ相談してください。

(参考) SORACOM API 利用ガイド


質問 2.

現在 SORACOM Beam を使って写真を転送先に立てたサーバーへ HTTP で POST しています。

  • エントリポイント: http://beam.soracom.io:8888/upload
  • 転送先: https://転送先のサーバー/upload/

転送先である https://<転送先のサーバー>/upload/ は SORACOM 以外からも POST 送信を受け付けてしまえる状況なため、セキュリティ上のリスクを懸念しています。

これを SORACOM からの POST だけに限定したい場合、どういった処理をするべきでしょうか?

回答 2.

SORACOM Beam で HTTP アクセスする転送先にて、SORACOM からの POST だけに限定されたい際は以下 3 つの方法が考えられます。

方法 1

送信元 IP で制限したい場合、Beam を利用しているグループにて Virtual Private Gateway (VPG) を利用し、VPG 固定グローバル IP アドレスオプションを用いる方法が推奨です。固定グローバル IP アドレスオプションについては、以下ドキュメントの「VPG を使用した Beam」の部分を参照してください。

(参考) SORACOM Beam : 機能の説明

なお上記ドキュメントにも記載がありますが VPG や固定グローバル IP アドレスオプションには費用が発生しますのでご注意ください。

(参考) VPG のご利用方法と料金

方法 2

IP 単位の制御でなく、署名ヘッダの検証で SORACOM からのアクセスだけを許可するという方法もあります。Web サーバ側で認証の仕組みを準備する必要がありますが、SORACOM 側で追加の費用は発生せずに利用できます。この方法では事前共有鍵と通信ヘッダーに入っている IMSI, IMEI およびタイムスタンプを元に、SHA256 でダイジェストした値を生成し、ヘッダに付与します。付与したヘッダを Web サーバ側で検証することでセキュリティを担保できます。詳細は以下の URL を参考にしてください。

(参考) SORACOM Beam : Beam を使用したデータの送信 - Beam が付与する署名ヘッダと事前共有鍵について

方法 3

以下の URL の「(1-2) Air SIM のソース IP アドレスを利用する方法(特定地域向け IoT SIM (旧日本向け Air SIM) のみ)」があります。Web サーバ側で IP アドレス認証ができますが、固定グローバル IP アドレスオプションと比較するといくつかのポイントがあります。

(参考) Air SIM に固定のグローバル IP アドレスを割り当てることはできますか?

方法 3 を希望する場合は上記に記載されたポイントについてご理解いただき、同意していただけることを明記の上でソラコムの ユーザーコンソール からサポートチケットを起票してください。Air SIM のソース IP アドレスをご案内いたします。


質問 3.

SORACOM Napter の接続元として Amazon VPC 内の EC2 または WorkSpaces を考えています。 セキュリティ上の理由で、EC2 または WorkSpaces からのアクセス先を制限したいのですが、Napter から払い出す IP アドレスとアクセスポートの範囲を制限できますか?

回答 3.

現時点では、SORACOM Napter にて払い出される IP アドレスとポート番号はお客様側で制限できません。 接続元が VPC 内のリソースとのことですので、たとえば以下のような方法が考えられます。

  1. AWS Lambda などから Napter の IP アドレスとポート番号を払い出す SORACOM API createPortMapping を呼び出す
  2. レスポンスのボディに IP アドレスとポート番号 が含まれるため、それらをもとに VPC のセキュリティグループの許可設定を行う
  3. 必要に応じてユーザーに IP アドレスとポート番号を通知したり、レスポンスボディの createdTime, duration をもとにセキュリティグループの設定削除をスケジュールする

お客様による開発が必要となりますが、上記のような運用であればデバイス、PC 両方の観点でよりセキュアにできます。 createPortMapping API のリファレンスは以下をご参照ください。

(参考) API リファレンス - createPortMapping


バックナンバーは asksoracom カテゴリで確認できます!

それでは、次回もお楽しみに!


Posted by mick at 2019/11/21