LoginSignup
5
4

More than 1 year has passed since last update.

Googleドライブの「リンクを知っている全員」になっちゃっているファイルを特定する方法

Last updated at Posted at 2022-02-07

エンタメ系企業の社内もろもろを担当しているakibinです。

最近、Sunny Day Service - イン・ザ・サン・アゲインにハマってます。まだまだ知らない名曲があるなーこんちくしょう。

やりたかったこと

Googleドライブの共有ドライブは、ちゃんと設計しないとファイル共有がカオス状態になりやすいですよね。

特に「リンクを知っている全員」で不特定多数にリンクを共有したい場合、専用の共有ドライブを作成して以下のチェックを入れる、それ以外の共有ドライブはチェックを外して共有をコントロールするのが理想ですが、これを考えないで運用するとカオスになります…
スクリーンショット 2022-02-07 11.11.57.png

そんなカオスな状況を打開すべく、「リンクを知っている全員」になっちゃっているファイルを特定して諸々整理できないかと動き出しました。

管理コンソールから確認

管理者にて監査ログからフィルタリングして「リンクを知っている全員」になっちゃっているファイルを特定可能です。
[管理コンソール > レポート > 監査ログ > ドライブ]で設定画面を開き、[公開設定 > リンクを知っている全員]でフィルタリング実施
alt

ただ、監査ログは6ヶ月しか保存されないので、それ以前に[リンクを知っている全員]されちゃったファイルは特定できず…そこでGASを使用して共有状況を一覧化することに、それが以下です。

GASで「リンクを知っている全員」になっちゃっているファイルを特定

google-drive-permission-searchGoogle Drive Permissions Auditor(アドオン)を試してみましたが、google-drive-permission-searchはうまく動かないし、Google Drive Permissions Auditorは問い合わせしても回答ないし…と思いつつ調べていたら以下の記事を見つけました。

GASを使ってGoogle Drive内のフォルダ、ファイルの権限をチェックする

ありがたかった…ホントこれをちょっとカスタムしたら特定のフォルダ(ドライブ)の中のファイルを再帰的に一覧化して「リンクを知っている全員」になっちゃっているファイルを特定できました!

コードは2行更新、1行追加しただけでした…転記するのは申し訳ないレベルなので基本のコードは↑を参照してもらい、更新箇所は以下です。

【更新1】フォルダIDを検索したいフォルダ(ディレクトリ)のIDに更新

// フォルダIDを更新
function permissionCheker(prefix = null, id = '******') {

フォルダIDはURLの以下です。
スクリーンショット 2022-02-07 16.44.53.png

【更新2】ユーザ指定して共有しているファイルのみを該当にしている以下コードをコメントアウト

以下コードをコメントアウトすることで、すべてのファイルの共有状況が確認可能です。

  // if (editors.length === 0) return;

【追加1】最後の方に共有権限を取得、出力するコードを追加

// スプレッドシートの5列目にファイルの共有権限を出力
  sheet.getRange(rowIndex, 5).setValue(obj.getSharingAccess());

GASを実行してみると

再帰的にファイルパス、ファイル名とその共有状況が取得できました!
スクリーンショット 2022-02-07 17.49.38.png

共有状況のステータスの見方は以下です。

ステータス 意味
PRIVATE ユーザだけ or 他ユーザを指定して共有
DOMAIN_WITH_LINK ドメイン(@hoge.co.jp)ユーザはリンクを知っていればアクセス可能
ANYONE_WITH_LINK リンクを知っていれば誰でもアクセス可能

今回、共有状況を確認するためのメソッド(SharingAccess)を確認させてもらった、また他の情報を取得するためのメソッド確認は以下記事が一覧になっておりわかりやすかったです!

初心者でもわかるGoogle Apps Script活用のススメ

こちらもチェックお願いします!

Twitterアカウント
Youtubeチャンネル

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4