Google Workspaceの公開リンクは、スイッチ一つでは死なない

Kimiのkimi-for-codingで執筆しました

情シス(=社内で何でも押し付けられる係)みたいな立ち位置で、ある会社のGoogle Workspaceを監査してた。 そしたら出るわ出るわ、「リンクを知っている全員」で共有されたファイル。 ログイン不要。URLさえ知ってれば、世界中の誰でも中身が開ける。 人事系のファイルまで、その状態。

対応方針はシンプル……に見えた。 「組織全体で「リンクを知っている全員」をオフにすればいいよね?」 管理者もそう言うし、自分もそう思ってた。

で、実際にやってみたら、罠が3つあった。 順番に殴られた話をします。

罠1: 「全部グループに集約しないと切れない」と青ざめたけど、その必要はなかった

まず現状把握。 この会社、現場で働くスタッフには会社が無料のGoogleアカウントを配ってた。 Workspaceから見ると、その無料アカウントは「外部ユーザー」扱いになる。 で、共有ドライブのファイルを片っ端から調べたら…… 約9,700ファイルのうち、99.9%が、その外部アカウントに個別共有されてた。

血の気が引いた。 「え、これ全部、公開リンクを切る前に整理しないといけないの? 9,700件を?」

ここで一回、頭を冷やす。 組織スイッチが殺すのは「anyone(=リンクを知っている全員)」だけ。 個別共有とグループ共有は、公開リンクを切っても生き残る。 つまり9,700件の個別共有は、スイッチと無関係にそのまま機能する。

自分は2つの別々の課題を、勝手に1つに混ぜて青ざめてた。

  • 公開リンクを消す(=セキュリティの本題)
  • 個別共有の山をグループに集約する(=ただの整理・完全に別件)

混ぜるな危険。 分けた瞬間、やることが一気に減った。

罠2: 「これ公開リンクじゃないと、あのAIツールが読めなくなるのでは?」

現場向けファイルのうち、公開リンクでしか外部に届いてないものは、先にグループ共有へ移す。 ここで担当者から鋭い質問が飛んできた。 「このスプレッドシート、ノート系のAIツールのデータ元なんですけど。公開リンク外したら、読み込めなくなりません?」

一瞬、詰まった。 たしかに、そのAIツールがどうやって元ファイルを読んでるか、即答できない。

ので、カナリア(=毒見役)を1羽だけ飛ばす。 そのファイル1件だけ公開リンクを外して、AIツール側で再同期してみた。 ……通った。 普通に読み込めた。

種明かし。 そのAIツールは、ソースを「登録した人のアカウント権限」で取り込んで、スナップショットを持つ仕組みだった。 公開リンクは要らない。登録者に閲覧権があれば十分。 「たぶん必要だろう」で公開のまま放置してたら、それこそ事故だった。

罠3: スイッチを切ったのに、スキャンの数字が1件も減らない

いよいよ本丸。 組織の共有設定で「リンクを知っている全員に公開できる」のチェックを外す。 外部との共有そのものはオンのまま残す(グループ共有は生かしたいので) 保存。よし、終わり

と思って、確認のために公開リンクの再スキャンをかけた。 35件。 ……減ってない。 えっ、効いてないの? 保存ミスった?

いや、違った。 組織スイッチは「機能」を殺すが、ファイルに刺さったanyone権限の「メタデータ」は残る。 だから権限を数えるスキャン(API)では、件数が1つも変わらない。 数字だけ見て「効いてない」と早合点するところだった。

正しい確かめ方は、権限の一覧じゃなかった。 ログアウトした状態で、その公開リンクに実際にアクセスしてみること。

認証なしで公開リンクを叩いてみた。 返ってきたのは、ファイルの中身じゃなくて、ログイン画面へのリダイレクト。 フォルダも、画像も、全部ログインに蹴られた。 公開アクセスは、ちゃんと死んでた。

APIの数字は嘘をつく(正確には、別のものを数えてる) 生き死には、ログアウトして自分の目で確かめる。

おまけ: 個別に消せない「残党」こそ、組織スイッチの出番

ちなみに、公開リンクを1件ずつ消していく作業では、どうしても消えないファイルが残った。 親フォルダから権限を継承してるやつ。 実行アカウントの権限が足りなくて弾かれるやつ。 「expansive access」とか言われて、組織管理者の権限じゃないと外せないやつ。

こういう、個別削除では落ちない残党。 これこそ、組織スイッチが機能ごと一掃してくれる領域だった。 手作業と組織設定は、どっちが上位互換でもない。 役割が違うだけ。

学び

「組織の設定で公開リンクを切る」は、画面上はチェックを1つ外すだけ。 でも中身は、3つを確かめる作業だった。

  • 何が生き残るか(個別共有・グループ共有は死なない)
  • 何が本当は壊れないか(AIツールは公開リンク不要)
  • 本当に効いたか(APIの数字じゃなく、ログアウトして実アクセス)

「公開リンクを切る」の前に、「個別共有は生き残る」を知っておく。 「切れた」の確認は、権限一覧じゃなく、ログアウトした自分の実アクセスでやる。

チェック1つの裏に、殴られポイントが3つ。 皆様も、組織の共有設定をいじる前に、どうかお気をつけて。