Entra ID条件付きアクセスポリシーにおける”送信元IPアドレス”を条件で利用する際の注意点

Entra ID条件付きアクセスポリシーにおいて、特定の送信元IPアドレス(グローバルIPアドレス)以外からの通信をブロックするような設定をすることは多いと思います。

ブロック対象外アドレスとして登録しているにも関わらず、ブロックされてしまうケースがありました。

原因:IPv4/IPv6 の混在

自分が利用しているグローバルIPアドレスを調べるサイト(例: https://www.cman.jp/network/support/go_access.cgi )で、グローバルIPアドレスを調べると、サイトによってはIPv4アドレスが表示される場合があります。

このIPv4アドレスを、条件付きアクセスポリシーにて許可対象アドレスとして設定しても、Entra IDへの通信がIPv6で実施された場合、許可対象アドレスと認識されずに、ブロックされてしまいます。

デバイスが、インターネット上のサービスと通信する際に、IPv4/IPv6のどちらかを使うかは、それなりに複雑なロジックがあるようです(このIPv4/IPv6の選定ロジックについては、私は詳しく存じ上げておりません)

基本的には、まずはIPv6での通信を試みるようですが、たとえば、アクセス先のサーバがIPv4のみに対応している場合は、IPv4通信が使われるようです。

そのため、条件付きアクセスポリシーで利用する”送信元IPアドレス"はIPv4/IPv6の両方を登録しておくのが無難かと思います。

補足:IPv6アドレスについて(ChatGPT回答含みます)

IPv6の場合、デバイス毎に異なるアドレスが使われるのか、その場合、大量のIPv6アドレスをEntra IDに許可アドレスとして登録する必要があります。またIPv6が動的に変化する場合、Entra IDに事前に登録することができなくなってしまいます。この辺りについて、調べた内容を残しておきます。

家庭・SOHO・一般企業のネットワークでは、複数端末が同じルータ配下にあっても、Entra ID に見える IPv6 アドレスは “基本的に同じ1つ” なる

① ISP の IPv6 アドレスは「プレフィックスをルータに1つだけ配る」設計

日本の主要 ISP(v6プラス、transix、OCN、@nifty、BIGLOBE、Softbank)はルータにだけグローバル IPv6 プレフィックス(例:/56 や /64)を割り当てる。

ルータにだけグローバル IPv6 プレフィックス(例:/56 や /64)を割り当てる

→ 端末は内部ネットワークで別々の IPv6 を持つ(プライベート扱い)

→ ルータが出口で “1つのIPv6アドレス” に変換して外に出す(NAT66)

②日本のISPの IPv6 は「ほぼ NAT66」または「1つのEUI-64」で出る

実際の例(よくあるパターン)

内部LAN(端末側)

Windows A → 2400:abcd:1111:2222::10
Windows B → 2400:abcd:1111:2222::20
iPhone → 2400:abcd:1111:2222::30

外部(Microsoftが見るIP)

全部 = 2400:abcd:3333:4444::abcd (1つだけ)

Entra ID のサインインログでも 1つの IPv6 しか記録されません。

③ 例外:企業ネットワークで IPv6 プレフィックスを分配する場合

大企業などが IPv6 を本格運用している場合は:

  • 端末ごとにユニークな IPv6 が外部に出る
  • NAT66 を使わず、端末の IPv6 がそのまま外へ
  • プレフィックスは /48 など広大

この場合、Entra ID に 大量の IPv6 を登録する必要がある可能性があります。