Dev Dashboard の IP 許可リストで、固定 IP と ASN(自律システム番号)を同じリストに登録できるようになった。固定 IP と動的 IP が混在するアプリでも設定しやすくなる。IP 許可リストは近く全ての公開アプリとカスタムアプリで必須になる予定。
IP アドレスで制限するか、ネットワーク(ASN)で制限するかを選ぶ方式。IP アドレス/範囲の上限は 100 件。
IP アドレス/CIDR 範囲(最大 250 件)と ASN(最大 10 件)を同時に登録可能。片方だけの登録もできる。
「IP addresses or CIDR ranges」欄に登録
「Networks (ASN)」欄に登録
「Limit ASNs to countries」で設定
| 項目 | 変更前 | 変更後 |
|---|---|---|
| IP と ASN の併用 | どちらか一方 | 併用可 片方だけでも可 |
| IP アドレス/範囲の上限 | 100 件 | 250 件 |
| ASN の上限 | 記載なし | 10 件 |
| 国による制限 | 記載なし | 最大 10 か国。ASN のみに適用 |
| 許可リスト外からのリクエスト | 記載なし | 403 で失敗 |
| 必須かどうか | 任意 | 近く必須化 全ての公開アプリ・カスタムアプリが対象(時期は記載なし) |
可能な限り IP アドレスで許可する。自社サーバーだけがアプリのアクセストークンを使えるため、最も安全な方法とされている。
サーバーレス関数のように IP が変わるリクエストにだけ ASN を追加する。その上で、アプリを動かしている国に絞って登録する。
Dev Dashboard でアプリの Settings ページを開き、IP allowlist セクションへ。
固定 IP は IP/CIDR 欄へ。動的な送信元だけ ASN 欄に登録し、国で絞る。
強制適用(enforcement)を ON にする前に、更新した許可リストを直近のトラフィックで検証する。
登録漏れのある送信元からの API 呼び出しは 403 で失敗する。アプリ側のエラーハンドリングや監視で、403 の急増を「許可リスト漏れ」の兆候として検知できるようにしておきたい。
登録した IP か ASN のどれか 1 つに一致すれば許可。ASN を追加すると、それだけ許可される範囲が広がる(AND で絞り込まれるわけではない)。
「Limit ASNs to countries」は ASN 経由のリクエストだけを絞る。IP アドレスで登録した送信元には国の制限は適用されない。
単一 IP だけでなく CIDR 範囲も 1 件として登録可能で、上限は 250 件。固定 IP が多いマルチリージョン構成でも、CIDR でまとめれば上限内に収めやすい。
IP 許可リストは近く 全ての公開アプリとカスタムアプリで必須になる予定(開始時期は記載なし)。Shopify も全アプリでの利用を強く推奨している。Shopify API を呼ぶ全経路(バッチ、Webhook 処理、管理画面のバックエンド、サーバーレス関数など)の送信元を洗い出し、固定 IP にできるものは固定 IP に寄せておくのが安全。