USS Unit Portal AD Deployment

The goal here is to document what was done in Azure during the Unit Portal deployment.

  • Azure AD is required to edit data but the system token (API) to read data.

  • Need to ensure that email is set on user properties in AD.

How security is setup:

  • As users log into UP they will appear in the User list with default (read-only) permissions.

  • If set to “Tampa” group, at the location level, the user can only edit that location and the units below.

  • Admins would need to be in a group mapped to the top level. As long as you are in a group that is mapped to THQ then the user would have access to everything in that division.

  • If a user is mapped to several groups you’d have edit access to those units and anything below.

 

Setup Application API in Azure AD

  • New app registrations

    • Named: “UnitPortalAPI”

    • Who can use or access this API: “Single-tenant”

    • Redirect URI, set to web and https://unitportalapi.sauss.net/

      • Need DNS entry for URL.

    • Send Devnext the resulting “Application (client) ID”

  • Click Authentication

    • Select the “ID Tokens” checkbox.

  • Click Certificates & Secrets

    • Create new client secret

    • Description: UnitPortalWebAPI, expires 24 months.

    • Send Devnext the “Secret ID”.

  • Click Token Configuration

    • Add optional claim

      • “ID”

      • Set the following claims: email, family_name, given_name, perfered_username, upn.

        • Choose the option to turn on Microsoft Graph.

    • Add groups claim

      • Security groups checkbox.

        • ID - On Premises Group Security Identifier.

        • Access - On Premises Group Security Identifier.

        • SAML - On Premises Group Security Identifier.

  • Click API Permissions

    • There should already be three values under Microsoft Graph (email, profile, User.Read).

    • Add a Permission

      • Choose Microsoft Graph

      • Set as “Delegated Permissions”

        • Expand “OpenId permissions” and check email, openid, and profile.

        • Add permissions.

  • Click Expose an API

    • Add a scope

      • Apply the default Application ID URI.

      • Save & Continue.

      • Scope name “access_as_user”.

      • Who can consent? “Admins Only”.

      • Admin consent “User_Read”.

      • Admin consent desc “Allows user to read data”.

      • Add Scope.

    • Add a client application.

      • Enter the client ID provided by Devnext.

      • Check the “Authorized scopes” checkbox.

      • Add application.

  • Return to the Azure App Registrations screen and open “UnitPortal”.

    • Click Authentication.

    • Uncheck “Access tokens” and “ID Tokens”.

    • Disable implicit grants.

    • Save