https://github.com/devwithkaiju/drivepermissionchecker
Google Drive のフォルダ内のファイルの権限が不適切なものを Slack に通知する GAS
https://github.com/devwithkaiju/drivepermissionchecker
google-apps-script google-drive slack
Last synced: about 2 months ago
JSON representation
Google Drive のフォルダ内のファイルの権限が不適切なものを Slack に通知する GAS
- Host: GitHub
- URL: https://github.com/devwithkaiju/drivepermissionchecker
- Owner: DevWithKaiju
- Created: 2024-12-28T11:21:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-05T13:30:35.000Z (over 1 year ago)
- Last Synced: 2025-04-06T16:28:32.821Z (about 1 year ago)
- Topics: google-apps-script, google-drive, slack
- Language: JavaScript
- Homepage:
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DrivePermissionChecker
## これはなに
Google Drive API (v3) を使用して、指定フォルダ以下の全ファイルを高速にスキャンし、不適切な権限設定(外部共有など)があるファイルを検知して Slack に通知する GAS スクリプト。
従来の `DriveApp` クラスを使ったスクリプトに比べて高速に動作するため、ファイル数が多い環境でもタイムアウトしにくい(はず)。
## できること
* **高速スキャン**: Drive API を使用し、サブフォルダを含む大量のファイルを効率よくチェックする。
* **権限チェック**: 以下の条件に該当するファイルを「不適切」とみなす。
* 「リンクを知っている全員」が閲覧可能な状態
* 指定した許可ドメイン(例: `@gmail.com`)以外のアカウントに共有されている状態
* **Slack 通知**:
* 不備ファイルの一覧を Slack に通知する。(上位 30 件までを表示)
* **除外設定**: 特定のキーワード(例: `【共有用】`)を含むファイルはチェック対象から除外できる。
## 使い方
1. **スクリプトの準備**: Google Apps Script エディタにコードを貼り付ける。
2. **Drive API の有効化**:
* エディタ左側の「サービス」の `+` ボタンをクリックする。
* **Drive API** を選択し、「追加」をクリックする(このコードのバージョンは **v3** に対応)。
3. **設定の入力**:
* コード内の `SETTINGS` オブジェクトを環境に合わせて書き換える。
* `TARGET_FOLDER`: チェックしたい親フォルダの ID
* `SLACK_URL`: Slack の Incoming Webhook URL
* `SAFE_DOMAINS`: 許可するドメイン(配列形式)
4. **実行**:
* `main` 関数を実行し、権限承認を行う。
* 必要に応じて「トリガー」を設定し、定期実行させる。
## 通知サンプル
権限設定に不備があった場合、Slack に以下のような通知が飛ぶ。
> 🚨 **Drive権限チェック: 35件の不備が見つかりました**
> **[内部資料] 2025年度予算案.pdf**
> ⚠️ リンクを知っている全員がアクセス可能
> **顧客リスト.xlsx**
> 🚫 外部共有: outsider@example.com [writer]
> *(...他 5 件(件数が多いため省略))*