Blog

Latest news and updates from the PlayFab developers

by MarcoWilliams 2017-01-09

User Roles on Developer Accounts

PlayFab User Roles

PlayFab now supports roles as a more efficient way to manage user permissions within the Game Manager. We’re happy to have finally added this feature, since it’s been one of the most frequently requested features up till now.

With the introduction of roles, we are phasing out the ability to directly edit user permissions. This is not a problem for new titles, which can immediately begin using the new roles system. However, existing titles that are using custom permissions will need to first migrate those custom permissions over to the new roles system.

Let’s first see how the new roles work, then let’s look at how to migrate from the old permissions system to the new roles system.

Permissions and Roles

PlayFab features a powerful, fine-grained permission model with more than 80 individual permissions to determine exactly what users are allowed to do. Most features in the Game Manager can be turned off entirely, set to read-only mode, or set to read-write mode.

For example, you may want your customer service rep to be able to edit a player profile, but not view revenue data. And you may want a product manager to be able to view revenue data, but not upload new multiplayer game server builds.

Previously, permissions had to be set individually for each user, and for each title. This was cumbersome, especially for large studios with many users, many titles, and many permission sets. And worst of all, if a permission policy changed, or a new feature was added, you needed to go through and manually edit the permissions for every user.

Now, studios can define a role as a collection of permissions, then assign those roles directly to users. You can edit a role at any time, and all users assigned to that role will immediately have their permissions changed. For convenience, you can even assign multiple roles to a user. For example, you could define a “customer support” role, with permission to edit player profiles, and a “data scientist” role with permission to view all events and see all dashboards, and assign both to a single user.

Creating Custom Roles

The first step in using the new system is to define roles. By default, PlayFab comes with two predefined roles: Title Admin, and Dashboard. Title Admin gives full permissions to a given game title, and Dashboard only gives permission to view the dashboards for the title.

There is also a third, special role – Studio Admin. Studio Admins are special users who have permission to create titles, define roles, and have automatic Title Admin rights to every title in the studio.

Here are the steps to create a new role:

  1. Login to PlayFab with your developer account.
  2. Ensure you are a studio admin. You will know that you are if you see the following options next to your studio name. If you are not a studio admin, please contact an existing studio admin to setup the permissions according to this tutorial.
  3. Click Users and Roles from the list of options for your studio.
  4. Click the Roles tab at the top of the screen. You should now be seeing a list of all roles in the system.
  5. Click the New Custom Role button to create a new role. Give your new role a name, and check off the permissions you wish to include. Generally all permissions follow this pattern:
    • You can enable or disable the entire feature using the top-most option permission (1)
    • You can show or hide the navigation tab using the “tab” permission (2)
    • Each permission has a read-only and read-write option. The read-write option has “edit” at the end (3) (4)
  6. Click Save Role when you’re done.

Assigning Roles

Once you’ve created a role, you can assign the role to users in a title. Roles apply at the title level. If you have five titles, and you wish a given user to have the same role for each title, you need to give the user that role for each title. This gives you the most flexibility. Under this system, a given user could be a Title Admin for one title, a Product Manager for another, and a Customer Service rep for a third, all under the same studio.

Here are the steps to assign a role:

  1. Login to PlayFab with your developer account. As above, make sure you are a studio admin.
  2. Click Users and Roles from the list of options for your studio. You will see a list of users for your studio.
  3. Click Settings for the user for whom you wish to assign roles.
  4. Click Roles tab. You will see a list of all titles in your studio, and any roles that user already has for each title.
  5. Click Assign Roles for a title for which you wish to give the user a role. You will see the list of defined roles for your studio.
  6. Select all roles the user should have on that title and click Assign Roles to save your selections.

Alternatively, you can also assign multiple users to a role. This can be done via the members tab in the settings on a role.

Migrating to the new Roles system

If you have an existing title, and you have already given users custom permissions we will automatically create new roles for these users. After a user has been migrated to their new custom role you can rename the role.

To rename a role do the following:

  1. Click Users and Roles from the list of options for your studio.
  2. Click on the Roles tab.
  3. Click on the Settings button for a role you wish to rename.
  4. Change the Name field to the new name for your role.
  5. Click on the Save Role button.

Because Studio Admin is a new permission level this will automatically be granted to users who have Title Admin on all titles in a studio.

Conclusion

Roles are a powerful and flexible new way to determine who can do what in Game Manager. Going forward, you will need to use roles to assign permissions. Existing custom permissions will continue to function, but you cannot change the permissions without migrating over to the new roles system.