item_user Fujitsu Research Portal API Gateway 課題2 ユーザアプリX user_id age Alice 23 Bob 34 users アプリユーザID サービスユーザID POST /items/1 {“from”: “Alice”, “to”: “Bob”} 19
Bob 34 ユーザアプリY user_id age Bob 45 users 45歳の別のBobが 登録している 課題2 アイテム管理技術 item_id owner 1 Alice item_user 1インスタンスを 複数アプリで共有 ユーザアプリX Fujitsu Research Portal API Gateway 20
23 Bob 34 user_id age Bob 45 users ユーザアプリX アイテム管理技術 item_id owner 1 Bob item_user API Gateway Fujitsu Research Portal ユーザアプリY POST /items/1 {“from”: “Alice”, “to”: “Bob”} 21
サービスユーザIDの名前空間内でアプリユーザIDの衝突が起こる 課題2 users user_id age Alice 23 Bob 34 user_id age Bob 45 users ユーザアプリX ユーザアプリY アイテム管理技術 item_id owner 1 Bob item_user API Gateway Fujitsu Research Portal 本来は空の配列であるべき 23
= AppY 課題2 item_id owner 1 AppX_Alice Fujitsu Research Portal アイテム管理技術 app id AppX AppY apps item_user users user_id age Alice 23 Bob 34 user_id age Bob 45 users ユーザアプリX ユーザアプリY API Gateway アプリ管理 24
“AppX_Bob”} 課題2 users user_id age Alice 23 Bob 34 user_id age Bob 45 users ユーザアプリX(AppX) ユーザアプリY(AppY) item_id owner 1 AppX_Bob Fujitsu Research Portal アイテム管理技術 app id AppX AppY apps item_user API Gateway アプリIDをアプリユーザIDの プレフィックスとして送信 アプリ管理 25
アプリごとにサービスユーザIDの名前空間を分離できる 課題2 item_id owner 1 AppX_Bob Fujitsu Research Portal アイテム管理技術 app id AppX AppY apps item_user API Gateway users user_id age Alice 23 Bob 34 user_id age Bob 45 users ユーザアプリX(AppX) ユーザアプリY(AppY) アプリIDをアプリユーザIDの プレフィックスとして送信 アプリ管理 26
悪意のあるユーザが作成したアプリによって別アプリのデータ読み書きができる GET /users/AppX_Alice/items 悪意のあるアプリ(BadApp) 課題2 users user_id age Alice 23 Bob 34 ユーザアプリX(AppX) item_id owner 1 AppX_Alice Fujitsu Research Portal アイテム管理技術 app id AppX BadApp apps item_user API Gateway アプリ管理 27