AdminDirectoryで管理者が自アカウントを変更すると403になる罠

  • このエントリーをはてなブックマークに追加
  • LINEで送る

0.はじめに

GoogleAppsScriptでAdminDirectory系のメソッドを実行した際に403が出て若干ハマったので共有します。

 

1.結論

結論:管理者アカウントを操作しようとしたからです。

 

通常、AdminDirectoryServiceはそれなりの権限がないと実行できません。
なぜならユーザー情報やグループ情報を変更したり削除したりできてしまうからです。
「運用中の通常ユーザーの情報は触りたくないから自分のアカウントで試すか~」
とやると、403が返ってきます。
あなたのアカウントは管理者アカウントではありませんか?
AdminユーザーでもAdminユーザーを変更する事ができないようです。


API call to directory.users.aliases.insert failed with error: Not Authorized to access this resource/api

「AdminDirectory 403」等で調べると、スコープや権限の話が出てきますが、
スコープやユーザー変更権限があっても実行できません。
「Groups.list()とかUsers.insert()とかできるのになんで?」となりますが、
管理者アカウントは操作できる対象ではありません。

 

2.ちなみに実行したコードはこちら

ちなみに私が実行したコードはこれでした。
自分のメールエイリアスを設定しようとしたものです。
Users.Aliasesの情報が少なく「何かコードがおかしいんだ」と悩みましたが、
変更対象アカウントを一般ユーザーにしたところ普通に動作しました。


AdminDirectory.Users.Aliases.insert({"alias":"~~~~@~~~~~"}, "userMail@~~~~");
AdminDirectory.Users.Aliases.remove(userKey, "userMail@~~~~");
  • このエントリーをはてなブックマークに追加
  • LINEで送る

コメントを残す

*