当サイトの記事にはプロモーションが含まれています。

スプレッドシートの共有を解除したのに編集できる人がいるのはなぜ?原因7つと完全対策ガイド

パソコンパソコン・スマホ教室
スポンサーリンク

「ちゃんと共有を解除したはずなのに、まだ誰かが編集してる……」そんな経験はありませんか?Googleスプレッドシートの共有設定は一見シンプルに見えて、実はかなり奥が深いものです。特にチームで業務に使っていると、共有解除したつもりでも編集権限が残り続けるという現象に悩まされている方は少なくありません。

実際、Googleの公式ヘルプでも「フォルダの権限はその中のすべてのファイルに継承される」と明記されており、ファイル単体の共有を解除しただけでは不十分なケースが多々あります。この記事では、共有解除後も編集できてしまう原因を7つに分類し、それぞれの具体的な対処法をわかりやすく解説します。読み終わるころには、権限管理のモヤモヤがスッキリ解消しているはずです。

ここがポイント!

  • フォルダの権限継承や編集者による再共有など、共有解除しても編集できる7つの原因と対策
  • 共有ドライブとマイドライブで異なる権限の仕組みと、正しい解除手順
  • Google Workspace管理者設定の確認方法や、権限の有効期限を活用した安全な運用術
スポンサーリンク
  1. 共有を解除しても編集できてしまう7つの原因
    1. 原因1フォルダの権限が継承されている
    2. 原因2編集者が他のユーザーに権限を付与している
    3. 原因3「リンクを知っている全員」が編集者になっている
    4. 原因4共有ドライブ(Shared Drive)の権限が影響している
    5. 原因5Google Workspace管理者の組織全体設定
    6. 原因6ブラウザのキャッシュによる見かけ上の編集状態
    7. 原因7コピーされたファイルが編集されている
  2. 正しい共有解除の手順を確認しよう
    1. 特定ユーザーの共有を解除する手順
    2. リンク共有を解除する手順
    3. フォルダの共有状況も必ず確認する
  3. 権限の種類と仕組みを正しく理解する
  4. 共有解除後にやるべきセキュリティ対策
    1. 編集者の共有権限を制限する
    2. 閲覧者のコピー・ダウンロードを制限する
    3. 権限の有効期限を設定する
    4. 変更履歴を定期的に確認する
  5. スマホから共有を解除するときの注意点
  6. 情シス歴10年超の現場視点で語る!見落としがちな権限トラブルの実態
    1. Googleグループ経由の権限付与が見えない問題
    2. ドメイン全体への共有が知らぬ間にオンになっている
    3. Apps Scriptのトリガーが権限を超越する落とし穴
    4. 共有ドライブの「コンテンツ管理者」権限の罠
  7. GASで実現する!権限管理を自動化するスクリプト集
    1. スクリプト1スプレッドシートの全編集者を一覧表示して一括削除する
    2. スクリプト2フォルダ内の全ファイルの共有状況を一覧出力する
    3. スクリプト3リンク共有が「全員」になっているファイルを自動検出する
    4. スクリプト4特定シートだけをオーナー以外編集不可にする保護設定
  8. 現場でよく遭遇する「なぜか解決できない」トラブル事例と具体的な対処法
    1. 事例1退職者のアカウントが削除されたのにファイルにアクセスできる
    2. 事例2「編集権限をリクエスト」ボタンを押されて意図せず承認してしまった
    3. 事例3保護されたシートなのにGASから書き込みができてしまう
    4. 事例4共有を解除したはずのファイルがGoogle検索に表示される
    5. 事例5スマホのGoogleドライブアプリに共有解除したファイルが表示され続ける
  9. 権限管理のプロが教える!組織で使えるベストプラクティス
    1. 四半期ごとの権限棚卸しを習慣化する
    2. 「最小権限の原則」を徹底する
    3. 共有フォルダの階層設計を事前に行う
    4. 編集者権限は「有効期限付き」をデフォルトにする
  10. GASスクリプトの導入手順と注意すべきポイント
    1. GASの基本的な導入手順
    2. 初回実行時の「このアプリは確認されていません」警告について
    3. スクリプトの実行時間制限に注意する
  11. ぶっちゃけこうした方がいい!
  12. 共有解除に関するよくある質問
    1. 共有を解除したのに「閲覧のみ」にならないのはなぜですか?
    2. 共有ドライブ内のファイルで権限を個別に変更できないのですがなぜですか?
    3. 編集者が勝手に他の人を追加するのを防ぐにはどうすればよいですか?
    4. 相手がコピーを作って編集しているようなのですが防げますか?
    5. 権限の変更が相手に反映されるまでどのくらいかかりますか?
  13. 今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?
  14. まとめ

共有を解除しても編集できてしまう7つの原因

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

Googleスプレッドシートで共有を解除したはずなのに、なぜか他のユーザーが編集を続けられるという状況。この現象は決してバグではなく、Googleドライブの権限構造を正しく理解していないことが原因であるケースがほとんどです。ここからは、よくある7つの原因を一つずつ掘り下げていきます。

原因1フォルダの権限が継承されている

これが最も多い原因です。Googleドライブでは、フォルダ内のファイルはすべて親フォルダの権限を継承するという仕様になっています。つまり、スプレッドシート単体の共有を解除しても、そのファイルが置かれているフォルダ自体が共有されていれば、フォルダ経由で編集権限が維持されてしまうのです。

たとえば「プロジェクトA」というフォルダを編集者権限で共有しているとします。そのフォルダ内にあるスプレッドシートの共有を個別に解除しようとしても、フォルダの権限が「真の権限元(プライマリソース)」として機能するため、ファイル単体での制限が効きません。Googleの公式ドキュメントでも「フォルダの権限がその中のすべてのコンテンツへのアクセスを制御する」と明確に記載されています。

対処法としては、スプレッドシートをそのフォルダの外に移動するか、フォルダ自体の共有設定を見直す必要があります。ファイルを別の非共有フォルダに移してから、改めて必要な人にだけ個別に共有するのが確実です。

原因2編集者が他のユーザーに権限を付与している

Googleスプレッドシートの初期設定では、編集者は他のユーザーの権限を変更したり、新しいユーザーを追加したりできるようになっています。あなたが特定のユーザーの共有を解除しても、別の編集者がそのユーザーに再度権限を付与してしまえば、当然ながら編集可能な状態が復活します。

この問題を防ぐためには、スプレッドシートの共有設定画面で歯車アイコンをクリックし、「編集者が権限を変更したり共有したりできるようにする」のチェックを外してください。こうすることで、オーナー以外の編集者が勝手に共有範囲を広げることを防止できます。

原因3「リンクを知っている全員」が編集者になっている

共有設定の「一般的なアクセス」セクションで、「リンクを知っている全員」に対して「編集者」権限が設定されている場合、URLを知っている人なら誰でも編集できてしまいます。特定のユーザーの共有を個別に解除しても、リンク共有の設定が残っていれば意味がありません。

対処法は、共有設定画面で「一般的なアクセス」を「制限付き」に変更することです。制限付きにすれば、明示的に追加されたユーザーだけがアクセスできるようになります。この設定変更をするだけで、URLが流出しても第三者にはアクセスできなくなります。

原因4共有ドライブ(Shared Drive)の権限が影響している

Google Workspaceを利用している組織では、共有ドライブ(旧チームドライブ)を使っているケースがあります。共有ドライブ内のファイルは、継承された権限をファイル単位で削除することができないという大きな制約があります。権限を変更するには、その権限の継承元である親フォルダや共有ドライブ自体の設定を変更する必要があるのです。

マイドライブ内のファイルであれば、継承された権限でも個別に削除できますが、共有ドライブではそうはいきません。共有ドライブ内のスプレッドシートの権限を本当に制限したい場合は、ファイルをマイドライブにコピーまたは移動してから共有設定をやり直すのが現実的な方法です。

原因5Google Workspace管理者の組織全体設定

企業や学校などの組織でGoogle Workspaceを使っている場合、管理者が設定した組織全体の共有ポリシーがファイル個別の設定よりも優先されることがあります。たとえば「組織内のすべてのユーザーがリンクを知っていればアクセスできる」という設定が有効になっていると、個人の設定で制限付きにしても、同じ組織のメンバーからはアクセスが可能なままです。

この場合、IT管理者にGoogle管理コンソールの「ドライブとドキュメント」の共有設定を確認してもらう必要があります。管理者設定の変更は反映に最大24時間かかることがあるため、変更直後にすぐ効果が出ない場合でも慌てないようにしましょう。

原因6ブラウザのキャッシュによる見かけ上の編集状態

権限を変更した直後は、相手のブラウザにキャッシュが残っていて、一時的に編集可能な画面が表示され続けることがあります。実際には保存しようとするとエラーが出るケースがほとんどですが、「まだ編集画面が見えている」という報告を受けると焦りますよね。

相手にブラウザのページを再読み込みしてもらうか、一度閉じてから再度開いてもらえば、正しい権限が反映されます。特にスプレッドシートを長時間開きっぱなしにしている場合は、権限の変更がリアルタイムで反映されないことがある点を覚えておきましょう。

原因7コピーされたファイルが編集されている

意外と見落としがちなのが、元のファイルではなくコピーされたファイルが編集されているというケースです。閲覧者権限であっても、デフォルトの設定ではファイルのコピーやダウンロードが可能です。相手がファイルのコピーを作成していた場合、そのコピーは相手がオーナーになるので、あなたの権限変更は一切影響しません。

コピーやダウンロードを防ぎたい場合は、共有設定の歯車アイコンから「閲覧者と閲覧者(コメント可)にダウンロード、印刷、コピーの項目を表示する」のチェックを外す必要があります。ただし、この設定は閲覧者にのみ有効で、編集者には適用されない点に注意してください。

正しい共有解除の手順を確認しよう

ここまで原因を見てきましたが、そもそも共有解除の手順自体を正しく行えていないケースも多いものです。「解除したつもり」にならないために、正しい手順をあらためて確認しましょう。

特定ユーザーの共有を解除する手順

  1. Googleスプレッドシートを開き、右上の「共有」ボタンをクリックします。
  2. 共有されているユーザーの一覧が表示されるので、解除したいユーザーの横にあるドロップダウンをクリックします。
  3. 「アクセス権を削除」を選択して、完了をクリックします。

リンク共有を解除する手順

  1. 同じく「共有」ボタンをクリックして共有設定画面を開きます。
  2. 「一般的なアクセス」のセクションで「リンクを知っている全員」となっている部分をクリックします。
  3. 「制限付き」に変更して、完了をクリックします。

この2つの手順をセットで行うことが重要です。特定ユーザーの共有だけ解除しても、リンク共有が「全員」のままだと意味がないからです。

フォルダの共有状況も必ず確認する

先ほど説明した通り、ファイルが共有フォルダ内にある場合はフォルダの権限が優先されます。共有解除を完璧に行うには、そのファイルがどのフォルダに保存されているかを確認し、必要であれば非共有のフォルダに移動することを忘れないでください。Googleドライブでファイルを右クリックし、「ファイル情報」→「詳細」を選ぶと、そのファイルにアクセスできるユーザーの一覧を確認できます。

権限の種類と仕組みを正しく理解する

共有解除のトラブルを防ぐためには、Googleスプレッドシートの権限体系をしっかり理解しておくことが欠かせません。権限には大きく4種類があり、それぞれできることが明確に分かれています。

権限の種類 できること できないこと
オーナー すべての操作、共有設定の変更、ファイルの削除 なし(全権限を保有)
編集者 内容の編集、コメント、共有設定の変更(設定次第) オーナーの変更、ファイルの完全削除
閲覧者(コメント可) 内容の閲覧、コメントの追加 内容の編集、共有設定の変更
閲覧者 内容の閲覧のみ 編集、コメント、共有設定の変更

ここで注意すべきは、編集者にはデフォルトで共有権限の変更が許可されているという点です。つまり、あなたがオーナーとして誰かを編集者に設定すると、その人が別の人を編集者として追加できてしまいます。この「権限の連鎖」が、共有解除しても編集できる人が増え続ける温床になるのです。

さらに2024年以降、Googleスプレッドシートではシート単位やセル範囲単位で編集権限を設定できる機能が強化されています。ファイル全体は閲覧権限にしていても、特定のシートだけ編集可能にするような細かい制御が可能になりました。この機能を活用すれば、必要な部分だけ編集を許可しつつ、他の重要なデータはしっかり保護するという柔軟な運用ができます。

共有解除後にやるべきセキュリティ対策

共有を解除して終わりではありません。再発を防ぎ、データをしっかり守るためにやっておきたい対策をまとめました。

編集者の共有権限を制限する

共有設定画面の歯車アイコンから「編集者が権限を変更したり共有したりできるようにする」のチェックを外しましょう。これでオーナーだけが権限を管理できる状態になります。チームで使う場合でも、権限管理はオーナーに一元化するのがベストプラクティスです。

閲覧者のコピー・ダウンロードを制限する

機密性の高いデータを含むスプレッドシートでは、閲覧者にコピーやダウンロードをさせたくないケースがあります。共有設定の歯車アイコンから「閲覧者と閲覧者(コメント可)にダウンロード、印刷、コピーの項目を表示する」のチェックを外すことで対応できます。ただし、Googleの公式ヘルプにもある通り、ファイルの内容を他の方法で共有すること自体を完全に防ぐことはできません。スクリーンショットや口頭での伝達は技術的に制限できないため、本当に機密性の高い情報はそもそもスプレッドシートで共有すべきではないという判断も重要です。

権限の有効期限を設定する

一時的に編集権限を付与したい場合には、アクセスの有効期限を設定する方法がおすすめです。共有設定でユーザーの横にある「有効期限を追加」をクリックすると、指定した日付に自動で権限が失効します。有効期限は現在の日付から1年以内の範囲で設定可能です。プロジェクト単位の共同作業や、外部パートナーとの一時的なやり取りに特に便利な機能です。

変更履歴を定期的に確認する

誰がいつ何を変更したかは、スプレッドシートの「ファイル」→「変更履歴」→「変更履歴を表示」から確認できます。不審な編集が行われていないか定期的にチェックすることで、権限設定のミスに早く気づくことができます。組織でGoogle Workspaceを使っている場合は、管理コンソールのドライブログイベントからも監査が可能です。

スマホから共有を解除するときの注意点

パソコンではなくスマホからスプレッドシートの共有設定を変更する機会も増えています。スマホアプリから共有を解除する場合は、画面が小さいぶん操作ミスが起きやすいので注意が必要です。

Androidの場合は、スプレッドシートアプリでファイルを開き、右上の三点メニューから「共有とエクスポート」→「共有」と進んで、解除したいユーザーをタップし権限を変更します。iPhoneの場合も同様の流れですが、Safariでスプレッドシートを開いてしまうと正常に動作しないことがあるため、必ずGoogleスプレッドシートアプリまたはChromeブラウザを使いましょう。

なお、スマホアプリではフォルダの共有設定を変更できない場合があります。フォルダレベルの権限を確認・変更するには、Googleドライブアプリを使うか、パソコンからアクセスするのが確実です。

情シス歴10年超の現場視点で語る!見落としがちな権限トラブルの実態

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

ここからは、情報システム部門で10年以上にわたりGoogle Workspaceの運用管理に携わってきた経験をもとに、公式ヘルプや一般的なブログ記事には載っていない「現場で本当に困るケース」について深掘りしていきます。権限のトラブルは理屈で理解するだけでは足りなくて、実際に組織で運用してみないとわからない落とし穴がたくさんあるんですよね。

Googleグループ経由の権限付与が見えない問題

情シスの現場で最も厄介なのが、Googleグループ経由で付与された権限が個人の共有設定画面に表示されないというケースです。たとえば「営業部」というGoogleグループに対してスプレッドシートの編集権限が付与されている場合、そのグループに所属しているメンバーは全員編集可能になります。ところが、ファイルの共有設定画面で個別ユーザーを削除しても、グループ経由のアクセスは残り続けます。

しかも困ったことに、スプレッドシートの共有設定画面ではグループ名は表示されるものの、そのグループに誰が所属しているかまでは確認できません。結果として「共有を全員解除したはずなのに、まだ編集できる人がいる」という状況が発生します。対処法は、Google管理コンソールまたはGoogleグループの管理画面からグループのメンバーを確認し、グループ自体を共有リストから削除することです。

ドメイン全体への共有が知らぬ間にオンになっている

Google Workspaceの組織では、スプレッドシートの共有設定で「組織名.comの全員」という選択肢が表示されることがあります。これは同じドメインに属する全ユーザーにアクセス権を付与する設定で、誰かが一度でもこれを選んでしまうと、たとえ個別ユーザーの共有を解除しても、同じ組織のメンバーは全員アクセスできる状態が維持されます。

現場で実際に起きた事例を紹介すると、ある部署の担当者が「プロジェクトメンバーだけに共有したつもり」でいたのに、実はドメイン全体共有を選択していたため、関係のない他部署のメンバーまで機密性の高い人事評価シートにアクセスできてしまったということがありました。共有設定画面で「一般的なアクセス」が「組織名.com」になっていないか、必ず「制限付き」であることをダブルチェックしてください。

Apps Scriptのトリガーが権限を超越する落とし穴

これは上級者でも見落としがちなポイントです。スプレッドシートにGoogle Apps Script(GAS)が紐づいている場合、スクリプトのトリガーがオーナーの権限で実行されることがあります。つまり、閲覧者権限しかないユーザーがスクリプトを実行した場合でも、そのスクリプトがオーナーのトリガーで動作していると、実質的に編集権限と同等の操作が行われることになります。

たとえば時間ベースのトリガーで毎日データを書き込むGASが設定されている場合、共有を解除してもスクリプト経由でデータが更新され続けるという現象が起きます。対処法は、スプレッドシートの「拡張機能」→「Apps Script」を開いて、左メニューの「トリガー」から不要なトリガーをすべて削除することです。他のユーザーが作成したトリガーが残っていないかも確認してください。

共有ドライブの「コンテンツ管理者」権限の罠

共有ドライブには「管理者」「コンテンツ管理者」「投稿者」「閲覧者(コメント可)」「閲覧者」の5段階の権限があります。ここで注意が必要なのが「コンテンツ管理者」権限です。コンテンツ管理者はファイルの追加・編集・移動・削除が可能ですが、デフォルト設定ではフォルダの共有設定を変更することもできてしまいます。管理者がこの設定を制限していない場合、コンテンツ管理者が勝手にフォルダを外部共有して、想定外のユーザーにアクセスが広がるリスクがあります。

Google管理コンソールの「共有ドライブの設定」で「コンテンツ管理者がフォルダを共有できるようにする」のチェックを外しておくことを強く推奨します。これだけで予期しない権限拡散のリスクを大幅に下げることができます。

GASで実現する!権限管理を自動化するスクリプト集

手作業での権限管理には限界があります。特にファイル数が多い組織では、一つひとつ確認していくのは現実的ではありません。ここでは、Google Apps Script(GAS)を使って権限管理を自動化・効率化できる実用的なスクリプトを紹介します。GASはスプレッドシートの「拡張機能」→「Apps Script」から誰でも使えるので、プログラミング経験がなくてもコピー&ペーストで活用できます。

スクリプト1スプレッドシートの全編集者を一覧表示して一括削除する

共有解除を手動でやっていると、誰を削除したか管理しきれなくなることがあります。このスクリプトは、対象のスプレッドシートに設定されているすべての編集者のメールアドレスを取得し、オーナー以外の編集者をすべて削除します。

function removeAllEditorsExceptOwner() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var owner = ss.getOwner().getEmail();
var editors = ss.getEditors();
var removedList = ;

for (var i = 0; i < editors.length; i++) {
var editorEmail = editors.getEmail();
if (editorEmail !== owner) {
ss.removeEditor(editorEmail);
removedList.push(editorEmail);
}
}

if (removedList.length > 0) {
Logger.log('以下の編集者を削除しました');
Logger.log(removedList.join('\n'));
SpreadsheetApp.getUi().alert(
'完了',
removedList.length + '人の編集者を削除しました。\n\n' + removedList.join('\n'),
SpreadsheetApp.getUi().ButtonSet.OK
);
} else {
SpreadsheetApp.getUi().alert('削除対象の編集者はいませんでした。');
}
}

このスクリプトを実行すると、削除された編集者のメールアドレス一覧がダイアログで表示されるので、記録としても残せます。ただし、Googleグループ経由のアクセスや、親フォルダからの権限継承はこのスクリプトでは削除できない点に注意してください。あくまでファイルに直接付与された編集権限のみが対象です。

スクリプト2フォルダ内の全ファイルの共有状況を一覧出力する

「このフォルダの中にあるファイル、それぞれ誰と共有されてるんだっけ?」という疑問を一発で解決するスクリプトです。指定したフォルダ内の全ファイルについて、ファイル名、共有範囲、編集者、閲覧者をスプレッドシートに一覧出力します。

function auditFolderPermissions() {
var folderId = 'ここにフォルダIDを入力';
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();

sheet.clear();
sheet.appendRow);

while (files.hasNext()) {
var file = files.next();
var editors = ;
var viewers = ;

try {
file.getEditors().forEach(function(editor) {
editors.push(editor.getEmail());
});
file.getViewers().forEach(function(viewer) {
viewers.push(viewer.getEmail());
});
} catch(e) {
editors.push('取得エラー');
viewers.push('取得エラー');
}

sheet.appendRow[
file.getName(),
file.getSharingAccess().toString(),
editors.join(', '),
viewers.join(', '),
file.getUrl()
]);
}

SpreadsheetApp.getUi().alert('監査完了' + sheet.getLastRow() - 1 + '件のファイルを確認しました。');
}

使い方は、スクリプト内の「ここにフォルダIDを入力」の部分をGoogleドライブのフォルダIDに置き換えるだけです。フォルダIDはGoogleドライブでフォルダを開いたときのURLの末尾部分(folders/以降の文字列)です。実行すると、現在開いているスプレッドシートのシートに一覧が出力されるので、そのまま権限の棚卸しに使えます。

スクリプト3リンク共有が「全員」になっているファイルを自動検出する

情報漏洩リスクの高い「リンクを知っている全員」設定のファイルを自動で検出するスクリプトです。自分がオーナーのファイルの中から、リンク共有が有効になっているものだけをリストアップします。

function findPubliclySharedFiles() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.clear();
sheet.appendRow);

var files = DriveApp.searchFiles(
'visibility = "anyoneWithLink" or visibility = "anyoneCanFind"'
);
var currentUser = Session.getActiveUser().getEmail();
var count = 0;

while (files.hasNext()) {
var file = files.next();
try {
var fileOwner = file.getOwner().getEmail();
if (fileOwner === currentUser) {
sheet.appendRow[
file.getName(),
file.getSharingAccess().toString(),
file.getSharingPermission().toString(),
file.getUrl()
]);
count++;
}
} catch(e) {
// オーナー情報が取得できないファイルはスキップ
}
}

SpreadsheetApp.getUi().alert(
'検出完了',
'リンク共有が有効なファイルが' + count + '件見つかりました。',
SpreadsheetApp.getUi().ButtonSet.OK
);
}

定期的にこのスクリプトを実行することで、意図せずリンク共有になっているファイルを早期に発見できます。情報セキュリティの監査にも活用できるので、情シス担当者には特におすすめです。

スクリプト4特定シートだけをオーナー以外編集不可にする保護設定

「スプレッドシート全体は共有したいけど、集計シートだけは触ってほしくない」というケースに対応するスクリプトです。指定したシート名のシートに保護をかけて、オーナー以外の全ユーザーの編集を禁止します。

function protectSpecificSheet() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetName = '集計'; // 保護したいシート名を入力
var sheet = ss.getSheetByName(sheetName);

if (!sheet) {
SpreadsheetApp.getUi().alert('「' + sheetName + '」という名前のシートが見つかりません。');
return;
}

// 既存の保護を削除してからかけ直す
var protections = sheet.getProtections(SpreadsheetApp.ProtectionType.SHEET);
for (var i = 0; i < protections.length; i++) {
if (protections.canEdit()) {
protections.remove();
}
}

var protection = sheet.protect().setDescription('自動保護' + sheetName);
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());

if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}

SpreadsheetApp.getUi().alert('「' + sheetName + '」シートを保護しました。編集できるのはオーナーのみです。');
}

このスクリプトのポイントは、ドメイン全体の編集権限も明示的に無効化しているところです。

setDomainEdit(false)

を入れないと、同じ組織のユーザーが編集できてしまう可能性があります。Googleの公式ドキュメントにも記載されていますが、グループやドメイン経由の編集権限はシートの保護設定でも完全にはブロックされないことがあるため、この処理は必ず入れておきましょう。

現場でよく遭遇する「なぜか解決できない」トラブル事例と具体的な対処法

ここからは、Google公式ヘルプを読んでも解決策が見つからないような、現場でリアルに発生するトラブルとその解決方法を紹介します。情シス部門への問い合わせで実際に多いものばかりなので、同じ症状に悩んでいる方は参考にしてください。

事例1退職者のアカウントが削除されたのにファイルにアクセスできる

「退職した社員のGoogleアカウントを削除したのに、その人と共有していたスプレッドシートにまだアクセスされている形跡がある」というケース。これは多くの場合、退職者がファイルのコピーを個人のGoogleアカウントに保存していたことが原因です。

組織アカウントを削除しても、退職前にファイルをコピーまたはダウンロードされていた場合、そのコピーは本人の個人アカウントに残り続けます。元のファイルへのアクセスは確かに遮断されますが、コピーされたデータ自体は回収できません。

予防策としては、退職が決まった時点で対象者の権限を「閲覧者」に下げ、さらに「ダウンロード、印刷、コピーの項目を表示する」のチェックを外しておくことです。Google Workspace Business Standard以上のプランであれば、管理コンソールからDLP(データ損失防止)ルールを設定して、ダウンロードやコピーを組織レベルで制限することも可能です。

事例2「編集権限をリクエスト」ボタンを押されて意図せず承認してしまった

閲覧者が「編集権限をリクエスト」ボタンを押すと、オーナーにメール通知が届きます。忙しいときにうっかりそのメールの「承認」をクリックしてしまい、意図しないユーザーに編集権限を付与してしまったというケースは頻繁にあります。

メールからの承認は1クリックで完了してしまうため、非常に事故が起きやすい仕組みです。対処法は2つあります。まず、意図せず承認してしまった場合はすぐにスプレッドシートの共有設定を開いて、該当ユーザーの権限を「閲覧者」に戻すこと。もう1つの予防策として、リクエストの通知メールが来た際は必ずスプレッドシートの共有設定画面から承認するようにし、メール内のボタンは使わないクセをつけることです。

事例3保護されたシートなのにGASから書き込みができてしまう

シートに保護をかけて安心していたら、GASのスクリプトが保護を無視してデータを上書きしていたというケース。これはバグではなく仕様です。GASはスクリプトを実行したユーザーの権限で動作するため、そのユーザーにシートの編集権限があれば保護を突破できます。特にInstallable Trigger(インストール可能なトリガー)はトリガーを作成したユーザーの権限で実行されるため、オーナーが作成したトリガーは事実上すべての保護を無視します。

対策としては、GASのスクリプト内でセッションユーザーを取得し、許可されたユーザーかどうかを判定するロジックを追加するのが確実です。以下のようなコードをスクリプトの先頭に入れることで、想定外のユーザーによる実行を防げます。

function onEdit(e) {
var allowedUsers = ;
var currentUser = Session.getActiveUser().getEmail();

if (allowedUsers.indexOf(currentUser) === -1) {
// 許可されていないユーザーの場合は処理を中断
e.range.setValue(e.oldValue); // 変更を元に戻す
SpreadsheetApp.getActiveSpreadsheet().toast(
'このセルの編集は許可されていません。', '警告', 5
);
return;
}

// 許可されたユーザーの場合のみ後続処理を実行
}

事例4共有を解除したはずのファイルがGoogle検索に表示される

「リンクを知っている全員」で共有していたスプレッドシートを「制限付き」に変更した後も、Google検索の結果にそのファイルが表示され続けることがあります。これはGoogleの検索インデックスに古い情報がキャッシュされているためです。

検索結果からの削除には時間がかかりますが、急ぎの場合はGoogle Search Consoleの「URL削除ツール」を使って一時的なブロックをリクエストすることができます。ただし、Google Workspaceのファイルに対してSearch Consoleを使うにはドメイン管理者の権限が必要な場合があるため、情シス部門に依頼するのが現実的です。

そもそも機密性のあるファイルは「リンクを知っている全員」で共有しないことが鉄則ですが、もし過去にそうしてしまったファイルがある場合は、ファイルの共有設定を変更するだけでなく、検索インデックスのことも意識してください。

事例5スマホのGoogleドライブアプリに共有解除したファイルが表示され続ける

共有を解除したはずなのに、相手のスマホのGoogleドライブアプリの「共有アイテム」にファイルが表示され続けるという報告はかなり多いです。これはアプリのキャッシュが更新されていないことが原因で、実際にはアクセスしようとすると「権限がありません」というエラーが表示されます。

相手側の対処法としては、Googleドライブアプリのキャッシュをクリアするか、アプリを一度アンインストールして再インストールすることです。ただ、「まだファイルが見えている」と報告されると焦るので、オーナー側としては権限変更後に相手に「ファイルのアイコンは表示されますが、開けなくなっています」と一言伝えておくと、無駄なやり取りを減らせます。

権限管理のプロが教える!組織で使えるベストプラクティス

最後に、数百人規模の組織でGoogle Workspaceを運用してきた経験から、権限管理で「これだけはやっておくべき」というベストプラクティスを紹介します。個人利用の方にも参考になる部分が多いはずです。

四半期ごとの権限棚卸しを習慣化する

ファイルの権限は時間とともに必ず「ゆるく」なります。プロジェクトの途中で追加されたメンバー、一時的に付与された編集権限、終了したプロジェクトのフォルダ……。これらを放置しておくと、退職者や異動者がアクセスし続けられる状態になります。先ほど紹介したGASスクリプトを活用して、四半期に1回は主要なフォルダの権限を一覧出力して棚卸しする運用をおすすめします。

「最小権限の原則」を徹底する

セキュリティの世界では「最小権限の原則(Principle of Least Privilege)」という考え方があります。これは業務に必要な最低限の権限だけを付与するという原則で、Googleスプレッドシートにもそのまま当てはまります。「とりあえず編集者で共有しておこう」ではなく、まずは閲覧者で共有し、編集が必要になったタイミングで権限を上げるという運用が理想です。

共有フォルダの階層設計を事前に行う

フォルダの権限が継承されるという仕様を逆手に取って、フォルダの階層設計を権限管理の基盤にするというアプローチが有効です。たとえば「01_社外共有」「02_社内全体」「03_部門限定」「04_個人」というフォルダをトップレベルに用意し、ファイルの機密度に応じて保存先を決めるルールを設けます。こうすることで、フォルダの共有設定がそのまま権限管理のポリシーになり、個別ファイルの設定ミスによるインシデントを大幅に減らせます。

編集者権限は「有効期限付き」をデフォルトにする

先の記事でも触れましたが、アクセスの有効期限設定は非常に強力な機能です。運用ルールとして「編集者権限は必ず有効期限を設定する。期限なしの編集者はオーナーのみ」というポリシーを設けると、時間が経てば自動的に権限が失効するため、棚卸しの負担も軽減されます。有効期限は最大1年まで設定でき、期限切れ前にオーナーに通知が届くので、必要であれば延長も容易です。

GASスクリプトの導入手順と注意すべきポイント

「GASのスクリプトを使いたいけど、どうやって始めればいいかわからない」という方のために、導入から実行までの具体的な手順と、現場で実際に起きやすい注意点を解説します。

GASの基本的な導入手順

  1. 権限を管理したいGoogleスプレッドシートを開き、上部メニューの「拡張機能」→「Apps Script」をクリックします。
  2. 新しいタブでApps Scriptのエディタが開くので、デフォルトで入っている
    function myFunction() {}

    を全て削除します。

  3. この記事で紹介したスクリプトをコピーして貼り付けます。
  4. 上部の「プロジェクトを保存」ボタン(フロッピーディスクアイコン)をクリックして保存します。
  5. 実行したい関数名がドロップダウンで選択されていることを確認し、「実行」ボタンをクリックします。
  6. 初回実行時は権限の承認ダイアログが表示されるので、自分のGoogleアカウントを選択して「許可」をクリックします。

初回実行時の「このアプリは確認されていません」警告について

自作のGASスクリプトを初めて実行する際、「このアプリはGoogleで確認されていません」という警告画面が表示されることがあります。これは自作スクリプトでは正常な動作なので、画面左下の「詳細」をクリックし、「(安全ではないページ)に移動」をクリックすれば実行を続行できます。ただし、他人から共有されたスクリプトの場合は、実行前にコードの中身を必ず確認してください。悪意あるスクリプトがファイルを外部に送信するリスクがゼロではないためです。

スクリプトの実行時間制限に注意する

GASには1回の実行につき最大6分という時間制限があります(Google Workspace有料版では30分に拡張される場合があります)。ファイル数が多いフォルダの監査スクリプトでは、この制限に引っかかることがあります。その場合は、処理を分割して複数回に分けて実行するか、PropertiesServiceを使って中断位置を記録し、次回実行時に続きから再開するロジックを組む必要があります。

ぶっちゃけこうした方がいい!

ここまでかなり細かく技術的な話をしてきましたが、個人的にはこうした方がぶっちゃけ楽だし効率的だと思っています。

結論から言うと、「共有解除でトラブルが起きる前提」で最初から運用設計すべきです。共有を解除してもアクセスが残るのは、Googleドライブの権限構造からして「起きて当然の現象」なんですよね。フォルダの継承、グループ経由のアクセス、編集者の再共有、共有ドライブの仕様……全部仕様どおりの動きであって、バグでもなんでもない。だから「解除したのになぜ?」と後から慌てるのではなく、最初から「解除しやすい状態」を作っておくことが何より重要です。

具体的に何をすればいいかというと、まずファイルは必ず「機密度別のフォルダ」に保存する。これだけで権限管理の8割は解決します。フォルダ単位で権限が決まるなら、フォルダの設計がそのままセキュリティポリシーになるわけです。次に、共有するときは必ず「制限付き」+「特定ユーザー指定」+「有効期限付き」の3点セットで設定する。面倒に感じるかもしれませんが、後から「誰に共有してたっけ?」と調べる手間に比べたら圧倒的に楽です。

そして編集者に関しては、「編集者が権限を変更したり共有したりできるようにする」のチェックは問答無用で外す。これをオンにしておく合理的な理由は正直ほぼありません。オーナーが一元管理すれば、権限の把握漏れは起きません。「みんなで自由に共有できた方が便利でしょ」という意見もわかりますが、便利さとセキュリティはトレードオフです。特に業務で使うなら、安全側に倒しておくのが正解です。

最後に、GASスクリプトの活用は本気でおすすめします。手作業で権限を確認するのは、ファイルが50個を超えた時点で現実的ではなくなります。今回紹介したスクリプトをそのままコピペして使うだけで、権限の可視化と一括管理が実現できます。「スクリプトなんて難しそう」と思うかもしれませんが、コピペして実行ボタンを押すだけなので、実質3分の作業です。その3分で「共有解除したのに編集できる問題」を二度と経験しなくなるなら、やらない理由はないと思いませんか?

共有解除に関するよくある質問

共有を解除したのに「閲覧のみ」にならないのはなぜですか?

最も多い原因は、ファイルが共有フォルダ内に保存されていることです。フォルダの権限はフォルダ内のすべてのファイルに継承されるため、ファイル単体で共有を解除しても、フォルダの権限が上書きしてしまいます。ファイルを非共有のフォルダに移動するか、フォルダ自体の共有設定を変更してください。また、「リンクを知っている全員」の設定が「編集者」のまま残っていないかも確認しましょう。

共有ドライブ内のファイルで権限を個別に変更できないのですがなぜですか?

共有ドライブ(Shared Drive)では、継承された権限をファイル単位で削除することができません。これはGoogleの仕様です。権限を変更するには、継承元の親フォルダまたは共有ドライブ自体の設定を変更する必要があります。どうしてもファイル単位で制御したい場合は、そのファイルをマイドライブにコピーまたは移動してから設定し直してください。

編集者が勝手に他の人を追加するのを防ぐにはどうすればよいですか?

共有設定画面の歯車アイコンをクリックし、「編集者が権限を変更したり共有したりできるようにする」のチェックを外します。これでオーナーだけが共有設定を管理できるようになります。すでに編集者が追加してしまったユーザーがいる場合は、共有設定のユーザー一覧から手動で削除してください。

相手がコピーを作って編集しているようなのですが防げますか?

共有設定の歯車アイコンから「閲覧者と閲覧者(コメント可)にダウンロード、印刷、コピーの項目を表示する」のチェックを外すことで、閲覧者によるコピー作成を制限できます。ただし、編集者にはこの制限は適用されません。また、すでにコピーされたファイルは相手のものなので、あなた側から削除や制御をすることはできません。

権限の変更が相手に反映されるまでどのくらいかかりますか?

通常は数秒から数分で反映されますが、相手がスプレッドシートを開いたままの場合はページを再読み込みするまで古い権限で表示され続けることがあります。Google Workspaceの管理者設定を変更した場合は、最大24時間かかることがあるとGoogleは公表しています。緊急でアクセスを遮断したい場合は、ファイルを別のフォルダに移動するのが最も即効性のある方法です。

今すぐパソコンやスマホの悩みを解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良…もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

スプレッドシートの共有を解除したのに編集できる人がいる場合、その原因はフォルダの権限継承や編集者による再共有、リンク共有の設定残り、共有ドライブの仕様など多岐にわたります。ファイル単体の共有を解除するだけでは不十分であることがほとんどなので、フォルダの権限確認、リンク共有の無効化、編集者の共有権限制限という3つのポイントをセットで対応するようにしてください。

特に業務でスプレッドシートを使っている方は、権限の有効期限設定や変更履歴の定期確認など、日常的なセキュリティ対策を習慣化しておくことが大切です。正しい権限管理を身につければ、「解除したはずなのに……」というストレスから解放されて、安心してチームでの共同作業に集中できるようになります。まずは今お使いのスプレッドシートの共有設定を一度見直してみてはいかがでしょうか。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました