GASのセキュリティをGoogleDrive内共有権限から考慮する

GASは包有する秘密鍵によってはGoogle Drive内の共有権限を厳密に整理する必要がでてきます。社外秘としたい場合にはドメインによる社内限定にて大体は問題ありませんが、部外秘もとい更に小さなスコープにおいての操作について考えてみました。
2023.10.11

GASのコード内でAPIキー等の秘密鍵を用いる場合、GitHub等外部リポジトリでコードを管理する前提であればコード内へ埋め込まずにスクリプトプロパティへ格納することでセキュアな状態を保つことができます。GoogleDrive内のGASファイルへアクセスできないユーザからのアクセスが制限されるためです。

GoogleDrive内で広く共有を掛けている場合、編集権限を持つユーザに対してのスクリプトプロパティのアクセス権限はGASそのもののアクセス権限と変わらないため、秘匿できずに観覧可能となります。

秘密鍵の要件によっては、アクセスを社内限定にしていたとしてもインシデント要因になり得ます。小さなTipsではありますが、忘れがちなGASへのアクセス権限の観点から秘密鍵を守るための認知について触れてみました。

ドライブ内のアクセス権限を確認する

アクセス権限で縛りを入れたい場合にまず行うべきは、マイドライブ内での作成を行うことです。共有を行うまではアクセスできるユーザは作成者のみに限定されます。

ポイントは、共有しているつもりでも実際には誰にも共有できていないケースが発生しうることです。不用意な共有が発生しない点ではフェイルセーフともいえます。

限定共有を行う

チームメンバー内でメンテナンス権限を共有する場合にはこの手段が一番です。個別にメンバーを共有していく手段もありますが、共有対象に複数のフォルダやファイルがある場合はグループを活用すべきでしょう。

あとがき

Google Driveは基本的にドメイン単位での共有になりがちですが、特定の範囲内で秘匿しておきたいキー等があるケースでは問題となります。

部署あるいはチーム等、一定の範囲で秘匿すべき要件がある場合は、それに併せたスペースの設計は勿論のこと、スペース内での共有範囲限定についても認知を共有しておくことが大切です。