21922
お世話になっております。

Google Cloud Endpointを使用し、APIを作成しているのですが、あるEndpointのみ  
限定したユーザーだけが実行できるようにしたいと考えています。

例えば  
コンテンツデータであればPOST, PUT, DELETEはAdminのみ。  
ユーザーが作成したデータであればPOST, PUT, DELETEは作成したユーザーのみ。  
等です。

皆様はどのように管理されているのでしょうか？
CC BY-SA 3.0
2016-02-08T12:24:32.843
21858
2016-02-10T02:55:46.967
2016-02-09T04:54:46.527
297
297
question
java google-app-engine google-cloud
Google Cloud Endpointについて、あるエンドポイントだけ限定したユーザーのみ実行できるようにしたい
Adminが、Developerという意味であれば、[User
Service](https://cloud.google.com/appengine/docs/java/users/)
を利用して、アクセス制御を行うのが簡単です。  
マスタデータの登録APIや、Cron, TQから実行するAPIは、UserService.Adminで制限をかけるようにします。

Adminが、AdminのRoleを持ったUserという意味であれば、要件に合わせて自分で実装します。  
一番単純なのは、Userのデータに紐付けてAdmin
Flagを入れて、プログラム側で判定を入れるとかですね。その場合、だれがAdminなのかを管理する機能を作成する必要があります。  
もしUserがGoogle AppsのUserであれば、[Admin SDK](https://developers.google.com/admin-
sdk/) を利用すれば、Google Groupと連携させることもできます。  
admin@example.comのようなグループを作成し、そのグループに所属しているメンバーはAdminとみなすという実装になります。Google
Groupと連携させるメリットは、admin@example.comのメンバーの管理はGroupの機能で行えるので、自前で管理画面を作る必要がないことです。
CC BY-SA 3.0
2016-02-10T02:55:46.967
21922
2016-02-10T02:55:46.967
4361
21858
answer