question

Joshua Strunk avatar image
Joshua Strunk asked

Recommendations for handling access permissions in custom tools

Problem: No way to control access permissions for employees using a tool leveraging the AdminAPI.

Possible Solutions:

  1. Don't use the AdminAPI and have use player accounts in our titles for our employees grant access permissions through internal data on their player accounts and leverage Cloud Script to create our own AdminAPI. (CloudScript still only has access to the ServerAPI, Mixing of employee and player accounts, muddy with our system for granting in-game admin powers, handled entirely through PlayFab)
  2. Use our own server to run a lightweight backend layer between our custom tools and PlayFab. Could use a 2nd title on PlayFab to handle authenticating employees and storage of access permissions. (Basically reimplementing the AdminAPI but with a login, higher maintenance, not handled entirely through PlayFab, more powerful and extensible)
  3. Something I have not thought of?

So looking for thoughts and suggestions on how to solve this problem? I am leaning towards solution 2 for the power and flexibility it provides despite the higher maintenance cost.

apisPlayer DataAccount Management
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
brendan avatar image
brendan answered

The main design component of security for developer accounts is the Role based permission model, so that you can give people access to only the things they should have access to. If you're using your own tool, what you could do is require each user to sign-in and have some kind of stored permission model, either in the tool directly or Title Data. But that's really only for scenarios where you have reasonable trust that they won't deliberately screw up your game by getting the key from the app and then making calls directly. You could revoke the key they have access to, of course, but by then they would have made changes. So if this is a low-trust scenario, I'd say either have them do their work only in the Game Manager, or have everything run through a server you control.

10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Error rendering WebPanel (widgets/consolidation-widget.ftl): org.hibernate.hql.internal.ast.QuerySyntaxException: AvailableConsolidation is not mapped [from AvailableConsolidation up where up.node = :node]