Google WorkspaceのGmailで自動転送だけを制限させる方法
組織で運用してるGoogle WorkspaceのGmailにおいて、情報漏洩やセキュリティ面での懸念で「ユーザーによる自動転送を制限したい」というケースがあります。勝手に個人のGoogleアカウントや外部のメールボックスに転送して・・・というケースがこれに該当しますが、あまり良いことではありません。
ということで、Google WorkspaceのGmailにてこれらの自動転送だけをピンポイントに制限する方法についてまとめました。
目次
自動転送設定とは?
ユーザー単位で設定可能
個人のGoogleアカウントのGmailでも使える機能ですが、Gmailには自身のメールボックスに届いたメールをそのまま、所定のルールにしたがって、他のアドレス宛てに自動転送する機能があります。管理コンソール側でも、受信者アドレスマップを使っての自動転送という仕組みもあります(最大5000個まで)。
後者は育児休業や療養休職といった、従業員の特別な事情が発生した時に、従業員宛に外部から来たメールを所属上司やグループメンバーに対して転送することで、仕事の取りこぼしを防止するという目的があるのと、管理コンソールからの設定になるのでガバナンス上問題になりません。
一方、前者の自動転送機能はユーザーレベルで設定出来てしまい、個人が持ってるメールアカウント宛にそのまま転送が出来てしまいます。この場合、組織の機密情報やお客様情報が漏洩する危険性(添付ファイル等も)があるため、導入時から禁止にしてる組織も多いかと思います。この禁止設定も管理コンソールから行えるのですが、禁止していない場合には
- メール転送とPOP/IMAPから転送先設定が可能
- またメールフィルタから転送設定を条件つけて設定が可能
ということがユーザー単位で自由に出来ます。これが時として問題になるわけです。メール転送についてのあらましについては、以下のエントリーに別途まとめているので参照してみてください。
図:個人設定からの自動転送の作成
図:メールフィルタからの自動転送の作成
単純な自動転送設定禁止設定
前述にもあるように、管理コンソールから組織内ユーザーに対してこの自動転送設定を禁止にすることが可能です。手動での転送はこれまで通り普通に出来ます。
- 管理コンソールにログインする
- 左サイドバーより、アプリ→Google Workspace→Gmailを開く
- エンドユーザーのアクセスを開く
- 左側の組織部門を選択するか?セキュリティグループを作っておき、グループアドレスにて規制対象とする
- 自動転送をクリックする
- 「受信メールを別のメールアドレスに自動転送することをユーザーに許可する」のチェックを外す
- オーバーライドをクリックして保存する
この設定に変更すると、個人の設定上からは転送が消えてPOP/IMAPダウンロードのみの表記になり、転送設定を一律で出来なくすることが可能です。セキュリティグループの場合は、設定グループによって特定のグループにだけ許可といった設定を行うことが可能です。
設定グループのほうが組織部門よりも設定が優先されますので、この合せ技だけでも、特定ユーザーのみ自動転送許可といった環境を構築は可能です。
図:管理コンソール上で規制する
より高度な転送コントロール
概要
前述のほうほうはざっくり設定する方法ですので、あくまでもユーザーの自動転送の設定許可のオンオフのみを制御する手段であり、一部ユーザーに許可がある場合、その人はこれまで通り好き勝手に転送できるという状態には変わりありません。
またざっくりが故に、組織内であってもユーザーによる自動転送は一律で出来なくなるので、ケースによっては不便です。組織内だけは転送許可したいけれど、外部アドレス宛ては転送禁止にしたいみたいなことは、この手法では実現することが出来ません。かといって、外部送信禁止にしてしまうと制限が強すぎて、誰も外部のお客様に返信や新規メールの送信もできなくなってしまいます。
※この自動転送許可をオフにしても受信者アドレスマップによる転送は有効です。
自動転送の区別をする場所
通常の転送には無く、自動転送に対してだけ付与されるメールヘッダというものがあります。
- X-Forwarded-For : Gmailの自動転送機能を使った転送時に追加されるヘッダ
- autogen-java : Google Apps ScriptにてMailAppで送信される時に付与されるヘッダ(message-idに含まれてる)
- gmailapi.google.com with HTTPREST : Google Apps ScriptにてGmailAppで送信される時に付与されるヘッダ
今回は前者のX-Forwarded-Forを判別して、外部送信をブロックする手法です。
後者はGASを使って擬似的なメール転送で今回の手法を掻い潜ろうとする人がいるので、それを封じるための見分けるポイントです。ただしこのヘッダだけで封じてしまうと、全てのGASからのメール送信が封じられてしまいます。しかし他に見分けるポイントが存在しないので、ここが最終的にボトルネックになります。
よって、MailAppやGmailAppを使わずに外部に送信可能にする手法を用意するなどの少し規模の大きい仕組みが必要です。
外部アドレスのみ自動転送禁止にする
自動転送禁止要件
これまでの要件を整理した時に、以下のような要件で自動転送を禁止にしたい場合があります。
- 手動での転送に関しては規制しない
- 外部アドレスに対する自動転送は規制する
- 内部アドレスに対する自動転送は規制しない
このような細かな条件をつけての自動転送制限を設けたい場合には、ルーティングを利用する必要性があります。
自動転送設定方法
ルーティングを使った前述の要件を満たすような制約は以下の手順で設定することが可能です。公式ドキュメントはこちら。
- 管理コンソールを開く
- 左サイドバーからアプリ→Google Workspace→Gmailを開く
- コンプライアンスを開く
- コンテンツアプライアンスの設定ボタンをクリックする
- タイトルには「外部自動転送禁止」と入れておきます。
- 影響を受けるメールは、「送信」をチェックします。
- 各メッセージで検索するコンテンツを表す表現を追加するにて、次の一部がメールに一致する場合ということで今回は選択します。
- 表現の中の追加ボタンをクリックします
- ダイアログがさらに出るので、高度なコンテンツマッチに変更する
- 場所は完全なヘッダーを選択する
- 一致タイプは含むを選択する
- コンテンツに対しては、「X-Forwarded-For」を入力する
- 上記の表現が一致する場合は、次の処理を行いますにて、「メッセージを拒否」を選択します。
- オプションを表示をクリックする
- 「アドレスリストを使用して、この設定を適用するアプリケーションを除外、制御する」にチェックを入れる
- この設定を特定のアドレスまたはドメインには適用しないにチェックを入れる
- 既存のアドレスリストを選択するか?新規にリストを作成または編集をクリックします。
- アドレスリストに於いて、自社ドメインリストとして構築して、自社のドメインをいれる
- 自社ドメインリストを既存のリストを選択より選択追加する
- 保存をクリックする
この設定により、一律でX-Forwarded-Forヘッダを持つメール(自動転送の時だけ付与される)を禁止し、例外として自社ドメインリスト宛については許可するという条件設定が構築できます。
図:転送禁止設定前半部分
図:転送禁止設定後半部分
図:自社ドメインのリスト
転送テストをしてみる
コンプライアンス設定による自動転送禁止がきちんと動いてるか?をチェックしてみることにします。他のアカウントから自社ドメインの自分のメールボックスに対してメールを送信し、自分のメールボックスでは通常通り設定から転送先を外部アドレスとしてセットしています。
結果は
- 自身のメールボックスにはきちんと受信トレイに到着する
- 外部アドレス宛転送に対して、メールのブロックが働き、バウンスメールが届きます。
手動で転送をした場合には、問題なく外部であっても転送されています。内部アドレスの場合でもブロックされることなくきちんと転送が出来ています。
ただし、転送先が内部のグループアドレスで外部アドレスが含まれている場合には転送されてしまうので、しっかりとグループアドレスの管理をする必要性があります。
図:外部転送ブロックのバウンスメール