コンテキストアウェアアクセスでGoogle Workspaceのセキュリティを強化してみた

記事タイトルとURLをコピーする

G-gen の三浦です。当記事では、コンテキストアウェア アクセス(CAA)を使って Google ドライブ等の Google Workspace アプリケーションへのアクセスを制御する方法を紹介します。

コンテキストアウェア アクセスとは

コンテキストアウェア アクセス(以降、CAA)は、IP アドレスやデバイスの状態などのコンテキスト(背景情報)に基づいてアクセスを制御する、Google Workspace の機能です。

Google ドライブ、Gmail、Google カレンダー、Looker Studio などに条件付きでアクセス制御を適用できます。

使用例 :

  • IP アドレス制限 : 社内ネットワークの IP アドレスからのみ Google ドライブへのアクセスを許可し、社外(自宅や公共 Wi-Fi)からの利用を禁止する。

  • デバイス制限 : 会社支給のモバイルデバイス(iPhone、Android)からのみ Gmail へのアクセスを許可し、私用デバイスからの利用を禁止する。

参考 : コンテキストアウェア アクセスの概要

前提条件

CAA は、Google Workspace(Cloud Identity)の特定のエディション(Frontline Standard、Enterprise Standard、Enterprise Plus、Cloud Identity Premium 等)で利用できます。

詳細は以下のドキュメントをご参照ください。

検証内容

以下の手順で CAA を設定し、動作を確認します。

  1. モニターモードの設定
    社内 IP アドレスのみにアクセスを制限するルールを作成し、モニターモード(検知のみでブロックしない)で設定します。

  2. 動作確認(モニターモード)
    社内外のアクセス状況を確認し、ログを確認します。

  3. アクセスレベル変更(アクティブモード)
    アクティブモードに切り替え、条件外のアクセスをブロックするように設定します。

  4. 動作確認(アクティブモード)
    社内 IP アドレスからアクセス可能で、社外からはブロックされることを確認します。

  5. 複合条件の設定
    社内 IP アドレスに加え、多要素認証(MFA)を利用している場合のみ許可する条件を設定します。

  6. 複合条件の動作確認(アクティブモード)
    条件に合致しないアクセスがブロックされることを確認します。

動作確認

モニターモードの設定

Google Workspace の管理コンソール(URL : https://admin.google.com)にログインします。

[セキュリティ] > [アクセスとデータ管理] > [コンテキストアウェア アクセス] に移動します。

コンテキストアウェア アクセスへ移動

CAA が無効な場合は、[有効にする] を選択して有効化します。その後 [アクセスレベル] を選択します。

有効化とアクセスレベルの選択

[アクセスレベルを作成] を選択します。

アクセスレベルを作成を選択

以下を設定し、[作成] を選択します。

  • アクセスレベル名:任意の名前を入力します。
  • 条件:[基本] > [IP サブネット] を選択し、社内 IP アドレスを入力します。

1つ目のアクセスレベルの作成

[アプリに割り当て] を選択します。

アプリに割り当てを選択

適用する対象(ユーザーまたはグループまたは組織部門)とアプリを選択し、[割り当て] を選択します。

適用対象の選択

アクセスレベルを選択し、「監視」にチェックを入れて「続行」を選択します。モニターモード(監視)では、アクセスレベルの影響範囲をログで確認でき、ブロックは行われません。

なおアクセスレベルは複数選択できますが、OR 条件で動作するため、いずれかのアクセスレベルを満たす場合は接続が許可されます。

[続行] を選択します。

続行を選択

内容を確認し、[割り当て] を選択します。

モニターモードの適用

動作確認(モニターモード)

社内および社外から Google ドライブ、Google カレンダー、Gmail にアクセスします。この段階では、どちらからもアクセス可能です。

アクセス確認

[レポート] > [監査と調査] > [コンテキストアウェア アクセスのログイベント] を選択します。

ログイベントの選択

以下の条件で検索し、モニターモードでブロックされたユーザーのログを確認します。意図しないブロックが発生していないか確認してください。

  • イベント 次に一致 アクセス拒否(モニターモード)
  • アクセスレベルの適用 次の文字を含む アクセスレベル名

モニターモードのログ確認

アクセスレベル変更(アクティブモード)

[セキュリティ] > [コンテキストアウェア アクセス] へ移動し、 [アプリにアクセスレベルを割り当てる] を選択します。

アプリにアクセスレベルを割り当てるを選択

アクセスレベルを適用する対象とアプリを選択し、[割り当て] を選択します。

割り当てを選択

監視のチェックを外し、アクティブのチェックを入れて [続行] を選択します。

アクティブモードへの変更

[続行] を選択し、内容を確認し、[割り当て] を選択します。

続行を選択
アクティブモードの適用

動作確認(アクティブモード)

社内 IP アドレス及び社外 IP アドレスからアクセスします。社内 IP アドレスでは正常にアクセスでき、社外 IP アドレスではアクセスがブロックされることを確認します。

ブロック確認(IP サブネット)

複合条件の設定

[セキュリティ] > [コンテキストアウェア アクセス] に移動し、[アクセスレベル] > [アクセスレベルを作成] を選択します。

アクセスレベルを選択
アクセスレベルを作成を選択

以下を設定し [作成] を選択します。この条件により、MFA 認証がされていないとアクセスがブロックされます。条件式の詳細については、以下のドキュメントを参照してください。

2つ目のアクセスレベルの作成

[終了] を選択します。

終了を選択

[コンテキストアウェア アクセス] > [アクセスレベル] へ移動し、1つ目と2つ目のルールのCEL名を確認し、控えます。

CEL名の確認

[アクセスレベルを作成] を選択します。

[アクセスレベルを作成] を選択

以下を設定し [作成] を選択します。この条件により、複数の条件(IP アドレス制限と多要素認証(MFA))を同時に満たす場合のみアクセスが許可されます。

  • アクセスレベル名:任意の名前を入力します。
  • 条件:[詳細] > levels.${{1つ目のアクセスレベルの CEL 名}} && levels.${{2つ目のアクセスレベルの CEL 名}}

3つ目のアクセスレベルの作成

[セキュリティ] > [コンテキストアウェア アクセス] へ移動し、 [アプリにアクセスレベルを割り当てる] を選択します。

アプリにアクセスレベルを割り当てるを選択

アクセスレベルを適用する対象とアプリを選択し、[割り当て] を選択します。

割り当てを選択

適用済みの1つ目のアクセスレベルを削除し、3つ目のアクセスレベルを選択し、アクティブのチェックを入れて、[続行] を選択します。

本番環境へ適用する場合は、まず [監視] のみにチェックを入れてモニターモードで影響がないことを確認した上で、アクティブモードに切り替えることを推奨します。

1つ目のアクセスレベルの削除
3つ目のアクセスレベルの選択

[続行] を選択し、内容を確認し、[割り当て] を選択します。

続行を選択
3つ目のアクセスレベルの適用

複合条件の動作確認(アクティブモード)

社内の IP アドレスかつ MFA が無効化されているアカウントからアクセスを確認し、以下画面が表示されることを確認します。

MFA が無効なアカウント
ブロック確認(複合条件)

[レポート] > [監査と調査] > [コンテキストアウェア アクセスのログイベント] を選択します。

ログイベントの選択

以下の条件で検索し、アクティブモードで拒否された接続ログを確認します。アクセスレベルの不足を確認することで、どのアクセスレベルでブロックされたかを特定できます。

  • イベント 次に一致 アクセスが拒否されました
  • アクセスレベルの適用 次の文字を含む アクセスレベル名

ログの確認

アカウントのMFAを有効化後、ログアウトし、MFAを利用して再度ログインします。

ログイン時にこのデバイスでは次回から表示しないを選択しないでください。選択すると、次回以降のログインで MFA 認証が省略され、CAA によってアクセスがブロックされます。

万が一選択してしまった場合は、以下のドキュメントを参照してログイン Cookie をリセットしてください。

Googleドライブにアクセスし、正常に表示されることを確認します。

アクセス確認

三浦 健斗(記事一覧)

クラウドソリューション部

2023年10月よりG-genにジョイン。元オンプレ中心のネットワークエンジニア。ネットワーク・セキュリティ・唐揚げ・辛いものが好き。