howdylikes

Google Developersってわかりづらいよね

Google Appsに管理者の役割を管理するAPIが追加されました

f:id:howdy39:20151022084428p:plain

情報元は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

f:id:howdy39:20151026085256p:plain:w600

customerはmy_customerを指定すればとりあえず動きます。

f:id:howdy39:20151027080950p:plain:w600

  • 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

f:id:howdy39:20151027082118p:plain:w600

  • roleIdが主キー
  • roleNameが役割名
  • roleDescriptionが役割の説明
  • rolePrivilegesが役割が保持している特権
  • rolePriileges.privilegeNameが先ほどの特権名
  • rolePriileges.serviceIdがサービスID

rolesは役割を管理してなんの特権が含まれるか管理するものですね。
rolesに関しては登録や削除も可能です。

roleAssingments

最後にroleAssingmentsのlist
privilegeのlistと同じ要領でOK。

RoleAssignments: list  |  Directory API  |  Google Developers

f:id:howdy39:20151027083206p:plain:w600

これは役割を誰に割り当てているかですね。

  • roleAssignmentIdが主キー
  • roleIdがroleの主キー
  • assignedToがuserKey
  • scopeTypeが適用範囲

roleIdやuserKeyがパラメータで指定可能なので絞り込みができますね。
なおuserKeyやusersのgetで叩くIDです。

userのgetを叩いたキャプチャ

f:id:howdy39:20151027083536p:plain:w600

総括

特権の管理をシステムからできるのはそれなりに便利そうですね。
一時的に許可する、しないなどをシステムから設定したり。

@関連性がわかりづらいすぎるのでER書いた。
f:id:howdy39:20151027084857p:plain

余談

ブログ内のリンク先がなんか間違ってそうだったのでコメントに書いときました。 google社員用のページぽいよね。
f:id:howdy39:20151022082121p:plain:w600

今(10/27)見たら修正されてますね。
コメントぐらい書いといて欲しいなぁ。
後から見た人は「こいつ何言ってんだ」ってなるじゃん。。。