はじめに
このドキュメントでは、Umbrella Chromebook Client SWGでのファイルのアップロードおよびダウンロードの失敗を解決する方法について説明します。
概要
Umbrella Chromebook Client(UCC)にセキュアWebゲートウェイ(SWG)を使用すると、GmailやGoogleドライブなどのアプリケーションのファイルのアップロードとダウンロードが失敗し、「添付ファイルが失敗しました」などのエラーメッセージが表示されます。 この動作が発生するのは、ChromeOSレイヤでのSWGプロキシおよび認証プロセスの動作方法が原因です。

SWG Umbrella Chromebook Clientの動作のしくみ
SWG拡張モジュールは、クライアントをUmbrellaに登録し、プロキシ設定をダウンロードし、ChromeOSでプロキシをセットアップします。この設定では、ChromeブラウザおよびインストールされているアプリケーションからUmbrellaにWebトラフィックをプロキシすることで、デバイスをオンラインの脅威から保護します。
- SWG Umbrella Chromebook Clientは、プロキシをChromeOSレイヤに設定します。
- Chromeやその他のアプリケーションからのWebトラフィックも含め、すべてのWebトラフィックがUmbrellaにプロキシされます。
- SWGのUCCは、プロキシ認証の課題を管理します。
- Googleドライブなどの一部のアプリケーションでは、プロキシ認証の問題を処理できません。
SWG Umbrella Chromebook Clientの処理手順
- UCC SWG拡張は、chrome.proxy API要求を使用してプロキシをセットアップします。
- UCC SWG内線は、要求forhttp://407.checkumbrella.comをSWGプロキシサーバに送信します。
- SWGプロキシサーバが特別なドメイン407.checkumbrella.コマンドを検出し、HTTP 407ステータスで応答して、プロキシ認証のチャレンジを求めます。
- Google ChromeブラウザはHTTP 407を認識し、認証ヘッダーを取得するためにUCC SWG拡張でtheonAuthRequiredfunctionを呼び出します。
- Chromeブラウザは認証ヘッダーをキャッシュします。
- ブラウザが2つ目の要求(407.checkumbrella.com)を送信します。今回は認証ヘッダーが含まれています。
- ChromeでGmailを開くと、mail.google.comからの要求が、キャッシュされた認証ヘッダーを使用してSWGプロキシサーバにプロキシされます。
- Gmailでローカルファイルまたはキャッシュファイルをアップロードすると、要求に認証ヘッダーが含まれるため、アップロードは機能します。
Androidアプリケーションからのファイルのアップロードとダウンロードが失敗する理由
- ChromebookにインストールされているGoogleドライブからキャッシュされていないファイルをアップロードすると、Googleドライブはファイルfromgoogleapis.comのダウンロードを試みます。
- この要求はSWGプロキシサーバにプロキシされます。ただし、GoogleドライブにはChromeからのキャッシュされた認証ヘッダーがないため、thegoogleapis.comrequestは認証ヘッダーなしで送信されます。
- SWGプロキシサーバは要求を拒否し、401 unauthorized errorを返します。これにより、Googleドライブはファイルをダウンロードできなくなります。
- Googleドライブからファイルをダウンロードできないため、Gmailへのファイルのアップロードも失敗します。

解決方法
GoogleドライブなどのAndroidアプリケーションのファイルアップロードの問題を解決するには、外部ドメイン管理リストを使用してドメインgoogleapis.comをバイパスします。