GASの権限、全部許可しなくてもよくなります。OAuth同意画面の細分化対応
Google Apps Scriptで作られた公開WebアプリやAdd-onsで、ユーザーが必要な権限だけを選択して許可できるようになります。セキュリティ向上の一方、GASを自分で作っている方はチェック忘れに要注意です。
要約
Google Apps Scriptで作られた公開WebアプリやWorkspace Add-onsで、ユーザーがOAuth同意時に必要な権限だけを選択して許可できるようになります。これまでIDEや未公開アプリでのみ利用できた機能が、公開済みのアプリにも拡大されます。セキュリティ向上に寄与する変更ですが、GASを内製して自分で使っている方は「チェック忘れ」でスクリプトが動かなくなる可能性があるため、注意が必要です。2026年1月7日から順次展開予定。
どんな変更か
Apps Scriptで作られたアプリを初めて使うとき、「このアプリに○○へのアクセスを許可しますか?」という画面が表示されます。従来は、アプリが要求する権限をすべて許可するか、まったく許可しないかの二択でした。
今回の変更では、この同意画面でユーザーが許可する権限を個別に選べるようになります。
例えば、あるスクリプトがGoogleスプレッドシートとGoogleフォームへのアクセスを要求しているとします。自分はこのスクリプトをスプレッドシートでしか使わないな、という場合は、スプレッドシートへのアクセスだけを許可して、フォームへのアクセスは許可しない、ということができるようになります。
この機能は今年前半にApps Script IDEと未公開のWebアプリ/Add-onsで先行リリースされていました。今回、公開済みのWebアプリとGoogle Workspace Add-onsにも拡大されることになりました。
何が嬉しいのか
ユーザー側のメリットは明確です。
必要以上の権限を渡さなくて済むようになります。「このアプリ、ドライブ全体へのアクセスを要求してるけど、実際はこのフォルダしか使わないんだよな」というとき、最小限の権限だけ許可できるわけです。
企業のIT管理者にとっても、ユーザーが不必要な権限を付与してしまうリスクを軽減できます。もちろん、ユーザー教育も必要ですが、技術的な選択肢が増えるのは良いことです。
開発者への影響
ここからは、Apps Scriptでアプリを作っている開発者向けの話になります。
公式からは、ScriptAppクラスとAuthorizationInfoクラスを使って、付与されたスコープをプログラム的に確認することが推奨されています。これにより、必須の権限が付与されていない場合にスクリプトの実行を中断する、といった対応が可能になります。
具体的には、スクリプト冒頭で権限チェックを入れ、必須スコープが不足していれば「○○の権限が必要です」とユーザーに案内する、という実装が考えられます。
テスト方法についてはWebアプリとAdd-onsそれぞれのドキュメントが公開されているので、本番展開前に確認しておくとよいでしょう。
GASを自分で使っている方への注意点
個人的に気になるのは、GASを内製化して自分で使っている方への影響です。
今回の変更で、同意画面でチェックボックスを外してしまうと、その権限が付与されないままスクリプトが動作することになります。結果として、「あれ、スクリプトがエラーになる」「一部の機能が動かない」といった現象に遭遇する可能性があります。
特に、自分で作ったスクリプトを久しぶりに使うときや、OAuth認可の有効期限が切れて再認証するときに注意が必要です。「前は動いていたのに」と思っても、再認証時にうっかりチェックを外してしまったことが原因だった、というパターンがあり得ます。
これ、はまると原因特定に時間がかかるかもしれません。同意画面が出てきたら、スクリプトが必要とする権限がすべてチェックされているか確認する習慣をつけておくとよさそうです。
既存のスクリプトへの影響
すでに認可済みのスクリプトについては、既存の権限はそのまま維持されます。今回の変更は新規の認可リクエスト、または再認可が必要になったときに適用されます。
つまり、今使っているスクリプトが急に動かなくなる、ということはありません。ただし、OAuthの有効期限が切れたタイミングで再認証を求められたときには、新しい同意画面が表示される可能性があります。
ロールアウトスケジュール
2026年1月7日から、Rapid ReleaseおよびScheduled Releaseのドメインで順次展開されます。通常より長めのロールアウト期間(15日以上)が見込まれているとのことです。
管理者側で有効/無効を切り替える設定はありません。全Google Workspaceユーザーおよび個人のGoogle Workspaceアカウントに適用されます。
考えてみると
権限管理の細分化は、セキュリティの観点からは正しい方向性だと思います。最小権限の原則(必要最小限の権限のみを付与する)に沿った変更です。
一方で、「全部許可」がデフォルトだった世界から「選択制」への移行は、ユーザーに新しい判断を求めることになります。ITリテラシーの差によっては、「よくわからないからとりあえず全部チェックを外す」という人も出てくるかもしれません。
アプリ開発者側としては、必須の権限についてはアプリ内で明確に案内する仕組みを入れておくと、サポート対応が楽になりそうです。「このアプリの利用には○○と△△の権限が必要です」という説明を、同意画面に進む前に表示するとか。
GASを内製で活用されている方は、ちょっとした落とし穴になる可能性があるので、頭の片隅に入れておいていただければと思います。