Google Appsに管理者の役割を管理するAPIが追加されました
情報元はGoogle Apps Developer Blogです
Google Apps Admin SDK: Introducing the Roles API - Google Apps Developer Blog
リソースの種類
DIrectory APIに以下の3つが追加されたようです。それぞれ見ていきましょう。
- privileges
- roles
- roleAssignments
privileges
privilegesのlistを叩いていきます。
Privileges: list | Directory API | Google Developers
customerはmy_customerを指定すればとりあえず動きます。
- serviceIdがサービスID
- serviceNameがサービス名
- privilegeNameが特権名
- isOuScopableがOU単位で設定可能かどうか
- childPrivilegesが子の特権の一覧
ってとこでしょうか。 特権の一覧と思って良さそうです。
privilegeのlistなんだからserviceIdではなくprivilegeIdの方がしっくりきそうですが子の特権があるからserviceIdが主キーなんですかね。。serviceNameがないものもあるし、かなり分かり難い。 また、childPrivilegesと親のprivilegeは同じserviceIdになるようなのでserviceIdとprivilegeNameで主キーぽい扱いでいい気がする。
roles
rolesのlistを叩いていきます。 privilegeのlistと同じ要領でOK。
https://developers.google.com/admin-sdk/directory/v1/reference/roles/list:titile
- roleIdが主キー
- roleNameが役割名
- roleDescriptionが役割の説明
- rolePrivilegesが役割が保持している特権
- rolePriileges.privilegeNameが先ほどの特権名
- rolePriileges.serviceIdがサービスID
rolesは役割を管理してなんの特権が含まれるか管理するものですね。
rolesに関しては登録や削除も可能です。
roleAssingments
最後にroleAssingmentsのlist
privilegeのlistと同じ要領でOK。
RoleAssignments: list | Directory API | Google Developers
これは役割を誰に割り当てているかですね。
- roleAssignmentIdが主キー
- roleIdがroleの主キー
- assignedToがuserKey
- scopeTypeが適用範囲
roleIdやuserKeyがパラメータで指定可能なので絞り込みができますね。
なおuserKeyやusersのgetで叩くIDです。
userのgetを叩いたキャプチャ
総括
特権の管理をシステムからできるのはそれなりに便利そうですね。
一時的に許可する、しないなどをシステムから設定したり。
@関連性がわかりづらいすぎるのでER書いた。
余談
ブログ内のリンク先がなんか間違ってそうだったのでコメントに書いときました。
google社員用のページぽいよね。
今(10/27)見たら修正されてますね。
コメントぐらい書いといて欲しいなぁ。
後から見た人は「こいつ何言ってんだ」ってなるじゃん。。。