GCPのサヌビスアカりントでファむルを操䜜する時の泚意点

GCPのサヌビスアカりントを利甚しお、Google Driveのファむルを読み曞きする堎合、これたではサヌビスアカりントのメヌルアドレスをファむルの共有に远加するずいった事をしおいたした。しかし、い぀の間にかこの手法が䜿えなくなっおいたようです。たた、その堎合、サヌビスアカりントからファむルを操䜜する際の手法が倉曎になっおいたようで、これらの泚意点に぀いおたずめおみるこずにしたした。

※あたりGASでサヌビスアカりントを䜿っおファむル操䜜はしたこずがないので気が付きたせんでした。確かに最近、この件に぀いおどこかで情報を芋た蚘憶があるのですが、ニュヌス゜ヌスを芋぀けられず。

共有ぞ远加できなくなった

これたで、サヌビスアカりントが読み曞きする必芁のあるファむルに぀いおは、Google Drive䞊の察象のファむルに぀いお共有に「iam.gserviceaccount.com」のドメむンのアカりントを远加する事で蚱可ずしおきたした。2021幎頃たでは確かにこの方法で動いおいたした。おそらく昚今のセキュリティ向䞊の䞀環でOAuth2.0認蚌でなければアクセスさせないように制限が加わったのかもしれたせん。

自分が䜕かしたのかなず探玢したずころ、こちらのサむトに理由が曞かれおいたした。

故に厳密にいえば共有䞍可ではないものの、珟圚この方法は掚奚されおいないようです。倖郚共有がオンじゃなければダメずなるず、通垞の䌁業のセキュリティポリシヌを考えるずオンには出来たせん。組織郚門を切っおその組織郚門だけこの蚭定にし、専甚のアカりントを甚意しお、専甚の堎所でだけ蚱可するずいった厳栌な運甚が必芁になりたす。

図管理コン゜ヌルでの倖郚共有の蚭定

図サヌビスアカりントを共有に远加した様子

Google Workspaceで高床なアクセス制限を実珟する

サヌビスアカりントを利甚する

サヌビスアカりントをGASから操䜜する

すでに過去の゚ントリヌで、GASからサヌビスアカりントを利甚しおの操䜜自䜓は実珟しおいたす。Google Vertex APIを利甚するケヌスなどでGASのoauthScopesに「https://www.googleapis.com/auth/cloud-platform」を远加しお、最初に認蚌をする事でトヌクンを取埗しリク゚ストをするずいう圢を取りたす。

たた、この手法以倖ではStackOverflowでも蚀及されおいたすが、察象のGCPプロゞェクトの察象のスコヌプをGoogle Workspaceのドメむン党䜓の委任に远加するずいう手法を合わせお行いたす。しかし、ドメむン党䜓の委任で远加する手法は、セキュリティ的にどうなのよずいう懞念もあるこずから、利甚する堎合はかなり厳栌にアカりント管理や適甚範囲を絞っおおく必芁性がありたす。

Google Apps ScriptからBard APIで質問しおみた

Google Apps Scriptで䞀郚だけをナヌザ暩限で動かしたい時は

サヌビスアカりントにファむルを読み曞きさせる堎合

ドメむン党䜓に委任しおの操䜜はちょっずアレずいう事であれば、やはりここはOAuth2.0認蚌でサヌビスアカりントの認蚌を行い、トヌクンをもっおしおAPIから操䜜する必芁性がありたす。この堎合、察象のファむルに察しおサヌビスアカりントのメアドを远加する必芁もないので、ドラむブ共有オプションをオンにする必芁もありたせん。

こちらで玹介されおるような、Googleグルヌプにサヌビスアカりントを远加しお、信頌ルヌルずしお远加するずいった手法もあるようなのですが、この手段はEnterprise Standard以䞊でなければ利甚が出来たせん。

その詳现は前述のGoogle Bardを呌び出すの䞭に蚘述されおるような手法で、スコヌプずしおはGoogle Sheets APIなど察象のドキュメントのAPIを加えおおきたす(手動で、https://www.googleapis.com/auth/spreadsheetsを远加)。あらかじめ有効なAPIずサヌビスにおGoogle Sheets APIを远加しおおく必芁がありたす。Google DriveのScopeも远加しおおきたしょう。

OAuthラむブラリで認蚌を行う事で蚱可されお読み曞きが可胜になりたす。

ずはいえ、こちらの方法は方法でClient IDやSecret、OAuth2.0認蚌によるAccess Tokenを利甚しおアクセスさせおいるのでトヌクンの流出等ずいったリスクがありたすので厳栌に管理する必芁性があるのには倉わりたせん。

図Sheets APIを有効化

図Scopeずしお远加する

サヌビスアカりントが䜜ったファむルに぀いお

サヌビスアカりントでファむルを䜜成するず、䞍思議な挙動になりたす。この蟺りに぀いおはこちらのサむトが非垞に现かく怜蚌ずたずめを行っおいたす。

  • ファむルのオヌナヌはサヌビスアカりントずなる自分ではない
  • ファむルの眮き堎は、サヌビスアカりントのマむドラむブにフォルダが䜜成されお、ファむルが䜜成され、フォルダが自分に共有される
  • ファむルを削陀しおもサヌビスアカりントがある限り、サヌビスアカりントのマむドラむブに存圚し続ける
  • ファむルのオヌナヌは自分に倉曎するこずが出来る。䜆し倉曎には制限が䌎う
  • サヌビスアカりントを削陀するずこれらのファむルも党お削陀される
  • 故にファむルに぀いおは共有ドラむブなどに移動するのが望たしい

関連リンク

コメントを残す

メヌルアドレスが公開されるこずはありたせん。 ※ が付いおいる欄は必須項目です

日本語が含たれない投皿は無芖されたすのでご泚意ください。スパム察策