こんにちは!ネットワークセキュリティスペシャリストの〇〇です。
今回は、現代のセキュリティアーキテクチャにおいて欠かせない「ゼロトラスト」の考え方、そしてそれを実現する技術の一つである「SASE(Secure Access Service Edge)」、さらにそのSASEの中核をなす「CASB(Cloud Access Security Broker)」に焦点を当てていきます。
特に、CASBがどのようにしてクラウドへのアクセスを「許可するのか」「ブロックするのか」、あるいは「制限をかけるのか」を判断する際の、条件付きアクセス(Conditional Access)の評価順序について、初心者の方にも分かりやすく、郵便配達や身近な例えを交えながら深掘りしていきましょう!
難しそうな言葉が出てきても大丈夫。一歩ずつ、丁寧に解説していきますからね!
—
迷探偵CASBの条件付きアクセス捜査日誌:不審なアクセスをどう見破る?
ゼロトラスト時代に「CASB」が注目される理由、ご存知ですか?
かつて、企業のセキュリティは「城壁」のように、会社のネットワークと外部インターネットの間に分厚い壁(ファイアウォールなど)を築き、内側は安全、外側は危険と考える「境界防御」が主流でした。
でも、考えてみてください。今は多くの企業が、Microsoft 365やSalesforce、Google Workspaceといった様々なクラウドサービスを利用していますよね。社員はオフィスだけでなく、自宅や出張先、カフェなど、あらゆる場所から会社のデータにアクセスします。
こうなると、「城壁」だけでは守りきれません。「安全なはずの城内」に、実は怪しい動きがあるかもしれませんし、社員が「城の外」からアクセスする際に、セキュリティが手薄になるリスクもあります。
そこで登場したのが、「誰も信じるな、常に検証せよ(Never Trust, Always Verify)」という考え方、そう、ゼロトラストです。
ゼロトラストでは、アクセスを許可する前に、「誰が」「どこから」「どんなデバイスで」「何に」アクセスしようとしているのかを徹底的に確認します。まるで、会社の受付で、来訪者全員に身分証明書の提示と訪問目的の確認を求めるようなイメージですね。
このゼロトラストを実現する上で、SASEという新しいセキュリティの枠組みが注目されており、そのSASEの中核を担うのが、クラウド利用のセキュリティを専門に守る「CASB」なんです。
CASBって、どんな「門番」なんでしょう?
CASBは、皆さんがクラウドサービスを使うときに、そのアクセスが「会社のルールに則っているか」をチェックし、必要に応じて制御する、いわば「クラウドアクセスのインテリジェントな門番」のような存在です。
例えば、皆さんが会社で大事な書類を郵便で送るときを想像してみてください。
郵便局員は、送り主が誰で、宛先はどこで、中身が危険物ではないか、封筒は破れていないかなどを確認しますよね。
CASBもこれと似ています。皆さんがクラウド上のファイルにアクセスしたり、データをダウンロードしたりする際、CASBはその「通信」を一時的に受け止め、こんなことをチェックします。
- 誰がアクセスしようとしているのか?(ユーザー認証)
- どんなデバイスを使っているのか?(会社支給のPCか?セキュリティパッチは最新か?)
- どこからアクセスしているのか?(会社のオフィスからか?海外の怪しいIPアドレスからか?)
- どんなデータにアクセスしようとしているのか?(機密情報か?公開情報か?)
これらの情報を総合的に判断して、「OK、アクセス許可!」「これはちょっと怪しいから、ダウンロードは禁止!」「完全にブロック!」といった判断を下すわけです。
そして、この判断基準となるのが、今回深掘りしていく「条件付きアクセス(Conditional Access)」のポリシーなんですね。
条件付きアクセス:クラウドの「入館チェックリスト」
条件付きアクセスとは、まさに「特定の条件が揃った場合にのみアクセスを許可したり、制限したりする」という考え方です。
「誰が、どこから、どんなデバイスで、何にアクセスしようとしているのか」という様々な要素を「条件」として組み合わせ、それに応じて「許可」「ブロック」「限定的なアクセス」といったアクションを動的に制御します。
これは、会社の受付で、来客に対して以下のような「入館チェックリスト」を使って判断するのと似ています。
1. 訪問者は誰ですか?(ユーザーの役割:社員、取引先、怪しい訪問者?)
2. どこから来ましたか?(位置情報:会社の正面玄関、裏口、それとも不審な場所?)
3. 持っているカバンはどんな状態ですか?(デバイスのコンプライアンス:会社支給品か、セキュリティチェック済みか?)
4. 何しに来ましたか?(アクセスするクラウドサービスやデータ)
CASBは、このチェックリストを瞬時に評価し、アクセスを許可するかどうかを判断します。
CASBの条件付きアクセス、評価の舞台裏!〜「優先順位」が命〜
さて、CASBが複数の条件を評価して最終的な判断を下すとき、最も重要になるのが「評価順序(優先順位)」です。
もし、複数のルールが同時に当てはまる場合、CASBはどのルールを適用すればいいのでしょうか?ここで、「どのポリシーから順に確認していくか」というルールが非常に大切になってくるのです。
一般的に、CASBのポリシー評価は、以下のような要素を組み合わせて行われます。
1. ユーザーの身分証明(ユーザーの役割やグループ)
- 「アクセスしようとしているのは、役員ですか?」「一般社員ですか?」「協力会社の方ですか?」といった、アクセス元の「身分」や「所属」をチェックします。
- 役員であれば特別な許可を与える、新入社員であればまだアクセスできないリソースがある、といったルールが考えられますよね。
2. アクセス元の場所(位置情報)
- 「どこからアクセスしていますか?」「会社のオフィス内ネットワークからですか?」「それとも自宅の安全なWi-Fiから?」「海外の、普段利用しない国からのアクセスですか?」といった「場所」をチェックします。
- 海外からのアクセスは原則ブロック、自宅からのアクセスは多要素認証を必須にする、といったルールが考えられます。
3. 利用する道具の状態(デバイスのコンプライアンス)
- 「使っているパソコンやスマートフォンは、会社のセキュリティ基準を満たしていますか?」「OSのパッチは最新ですか?」「ウイルス対策ソフトは有効ですか?」「会社が認めたデバイスですか?」といった「デバイスの状態」をチェックします。
- セキュリティパッチが適用されていないPCからのアクセスは、ダウンロードを禁止する、といったルールが考えられます。
これら3つの要素を、CASBは設定された優先順位(Priority)に従って、上から順に評価していくのです。
なぜ「評価順序」がそこまで重要なのか?
もし評価順序を間違えると、意図しないアクセスを許可してしまったり、逆に必要なアクセスをブロックしてしまったりする可能性があります。
例えば、こんな2つのポリシーがあったとしましょう。
- ポリシーA(優先度:高): 「役員グループからのアクセスは、場所を問わず全て許可する」
- ポリシーB(優先度:低): 「海外からのアクセスは、全てブロックする」
もし、海外出張中の役員がクラウドサービスにアクセスしようとした場合、どうなるでしょうか?
1. CASBはまず、優先度が高いポリシーAを評価します。
- 「アクセス元は役員グループか?」→「はい、役員グループです!」
- この時点で、ポリシーAにマッチし、「場所を問わず全て許可」というアクションが適用され、アクセスは許可されます。
2. ポリシーBは評価されません。
- 海外からのアクセスであっても、ポリシーAが優先されるため、ブロックされることはありません。
もし、これが逆の順序だったらどうなるでしょう?
- ポリシーB(優先度:高): 「海外からのアクセスは、全てブロックする」
- ポリシーA(優先度:低): 「役員グループからのアクセスは、場所を問わず全て許可する」
この場合、海外出張中の役員がアクセスしようとすると、まずポリシーBが評価され、「海外からのアクセスか?」→「はい、海外です!」となり、アクセスはブロックされてしまいます。役員は仕事ができなくなってしまいますよね!
このように、より限定的で例外的なルール(例:役員は特別)を高い優先度に、より広範囲に適用されるルール(例:海外からのアクセスはブロック)を低い優先度に設定するのが、ポリシー設定の鉄則です。まるで、郵便局で「特急便」が通常の郵便物より先に仕分けされるのと同じですね。
CASBポリシー設定の具体例(イメージ)
では、実際にCASBで条件付きアクセスのポリシーを設定する際のイメージを、具体的な設定例で見てみましょう。これはあくまで架空のCASB製品の設定例ですが、多くの製品でこのような考え方でポリシーを定義します。
# CASB 条件付きアクセスポリシー設定例 (イメージ)
#
# この設定はYAML形式で記述されていますが、
# 実際のCASB製品ではGUIやCLI、APIなどで同様のロジックを設定します。
# 評価は 'priority' の値が小さい(数値が若い)ものから順に行われます。
# 一致した最初のポリシーが適用され、それ以降のポリシーは評価されません。
policies:
# --- 最も優先度の高いポリシー(役員向け) ---
- name: "P01_役員向け_全アクセス許可"
priority: 100 # 最も高い優先度。役員は特別な権限を持つため最初に評価
description: "役員グループは、場所やデバイスの状態を問わず、全てのクラウドアプリにフルアクセスを許可します。"
conditions:
- type: "user_group"
operator: "equals"
value: "Executives" # ユーザーが「Executives」グループに所属している場合
actions:
- type: "allow_access"
scope: "all_cloud_apps" # 全てのクラウドアプリケーションへのアクセスを許可
# --- 次に優先度の高いポリシー(特定の地域からのアクセス制限) ---
- name: "P02_海外からのアクセスブロック"
priority: 200 # 役員ポリシーの次に評価。役員以外の海外アクセスを制御
description: "日本国外からのアクセスは、セキュリティリスクを考慮し、全てのクラウドアプリへのアクセスをブロックします。"
conditions:
- type: "location"
operator: "not_in"
value: "JP" # アクセス元の国が「日本(JP)」ではない場合
actions:
- type: "block_access"
scope: "all_cloud_apps" # 全てのクラウドアプリケーションへのアクセスをブロック
# --- その次に評価されるポリシー(非準拠デバイスからのダウンロード制限) ---
- name: "P03_非準拠デバイスからのダウンロード制限"
priority: 300 # 海外ブロックの次に評価。デバイスの状態をチェック
description: "企業のセキュリティポリシーに準拠していないデバイス(例:OSが古い、ウイルス対策ソフトなし)からのファイルダウンロードを制限します。"
conditions:
- type: "device_compliance"
operator: "equals"
value: "non_compliant" # デバイスが「非準拠」状態である場合
actions:
- type: "restrict_action"
action_type: "download" # ダウンロード操作を制限
scope: "all_cloud_apps" # 全てのクラウドアプリケーションに適用
# --- 一般的な社員向けのポリシー(特定の場所からのアクセス) ---
- name: "P04_一般社員_オフィス内限定アクセス"
priority: 400 # より一般的なポリシー。特定の条件を満たした場合に許可
description: "一般社員は、オフィス内ネットワークからのみ、特定のSaaSアプリへのフルアクセスを許可します。"
conditions:
- type: "user_group"
operator: "equals"
value: "Employees" # ユーザーが「Employees」グループに所属
- type: "location"
operator: "in"
value: "JP_Office_Network" # かつ、アクセス元が「オフィス内ネットワーク」である場合
actions:
- type: "allow_access"
scope: "selected_saas_apps" # 特定のSaaSアプリのみアクセスを許可
# --- デフォルトのポリシー(Catch-all) ---
- name: "P05_デフォルト_アクセス制限と監視"
priority: 999 # 最も低い優先度。上記いずれにも該当しないアクセスに適用される
description: "上記いずれのポリシーにも該当しないアクセスは、セッションを継続的に監視し、ファイル共有や印刷などの一部機能を制限します。"
conditions: [] # 条件なし(全てのアクセスにマッチ)
actions:
- type: "monitor_session" # セッションを監視
- type: "restrict_action"
action_type: "file_sharing, printing" # ファイル共有と印刷を制限
scope: "all_cloud_apps" # 全てのクラウドアプリケーションに適用
この設定例では、priorityという数値が小さいものから順にポリシーが評価されます。
1. まず、最も優先度の高いP01_役員向け_全アクセス許可が評価されます。もしアクセス元が役員であれば、このポリシーが適用され、即座にアクセスが許可されます。
2. 役員でなければ、次のP02_海外からのアクセスブロックが評価されます。もし海外からのアクセスであれば、ブロックされます。
3. 海外からのアクセスでなければ、P03_非準拠デバイスからのダウンロード制限が評価され、デバイスの状態に応じてダウンロードが制限される可能性があります。
4. そして、P04_一般社員_オフィス内限定アクセスのような、より具体的な条件を持つポリシーが評価され、最後にどのポリシーにも当てはまらないアクセスに対して、P05_デフォルト_アクセス制限と監視が適用される、という流れになります。
このように、CASBはまるでベテランの警備員のように、複雑な条件を瞬時に評価し、適切な対応を取ることで、クラウド利用のセキュリティを確保しているのです。
まとめ:CASBの条件付きアクセスは「賢い交通整理」
CASBの条件付きアクセスと、その評価順序の重要性について、ご理解いただけたでしょうか?
現代のビジネスにおいてクラウドサービスの利用はもはや不可欠です。しかし、それに伴うセキュリティリスクも無視できません。CASBは、まるでクラウドへのアクセスの「賢い交通整理役」のように、ユーザーの身分、アクセス元の場所、利用するデバイスの状態といった様々な要素を総合的に判断し、適切なアクセスの可否を判断しています。
そして、その判断を誤りなく、かつ効率的に行うために、ポリシーの評価順序(優先順位)の理解と、適切な設定が非常に重要になるということを覚えておいてくださいね。
初めは難しく感じるかもしれませんが、一つ一つの要素を分解して考えていけば、必ず理解できます。今日の学びが、皆さんのセキュリティ知識の一助となれば幸いです!
—
【次のステップへ】
今回はCASBの条件付きアクセスに焦点を当てましたが、SASEという大きな枠組みの中では、CASB以外にも様々なセキュリティ機能が連携して動いています。次は、SASE全体のアーキテクチャや、他のコンポーネントとの連携について深掘りしてみるのも面白いかもしれませんね!
コメント