Skip to main content
Cisco Meraki

SM Enrollment Authentication

To provide a layer of authentication for devices to enroll in a Systems Manager (SM) network, Enrollment Authentication can be used. Meraki Owners can be used for authentication, as well as third party authentiication options, such as Active Directory (AD), Azure AD, Sign In with Google, or Okta OpenID Connect. This article will cover how to implement each potential option.


There are multiple methods which can be used for performing device enrollment authentication:

  • Managed: Use Meraki hosted accounts: Use Meraki user/owner accounts managed in the Owners page. This is a good option for smaller deployments that do not require integrating with a larger third-party directory system.
  • Active Directory: Use your own Active Directory Server: Authenticate against an Active Directory Server not located in the cloud
    • AD via MX Security Appliance: Authentication requests are proxied through an MX security appliance configured for AD integration.
    • AD via SM Agent: Authentication requests are proxied through a Windows PC/Server or macOS client with the SM Agent installed.
  • Azure AD: Authenticate users against an Azure AD instance. 
  • Google: Sign in with Google: Authenticate against Google's native Oauth endpoint for use in conjunction with G Suite
  • Microsoft: Authenticate with Microsoft Azure Active Directory: Authenticate against Microsoft's Azure Cloud-Hosed Active Directory Solution
  • OpenID Connect: Use your own OpenID Connect server: Authenticate against any 3rd-party device or service which supports the OpenID Standard

For an additional security, you may want to enable enrollment auto-quarantine to manually approve devices before they can receive your Systems Manager profiles and apps.

iOS and macOS devices enrolling through DEP currently do not support enrolling with Azure AD, OpenID, and Google Oauth enrollment authentication. They will fall back to Meraki managed authentication and require Meraki owner accounts to authenticate if your Systems Manager network is configured with one of these methods. Note that these three methods will also not provide any group tag metadata like local Active Directory integration will. 

If you are using a Google Account Bind in conjunction with Android For Work (configured on the Organization > MDM page), Google authentication is not available as it is already being used as part of the AFW enrollment process, and any selection made here would be for use in conjunction with this mechanism.  

User authentication settings can be shared for device enrollments, the Self-Service Portal, and Trusted Access. The type of authentication is set in the End User authentication settings. To enforce user authentication upon device enrollments with this authentication type, enable the Authentication under Enrollment settings

Screen Shot 2021-07-09 at 9.27.35 AM.png

For each option, begin by navigating to Systems manager > Configure > General > User authentication settings. Then, refer to the appropriate section below to complete the configuration.

Managed Authentication with Meraki Users/Owners

This option utilizes the list of users/owners on the Configure > Owners page in a Systems Manager network. This is best for smaller deployments, or cases where a list of owners is already actively maintained. See the Owners article for more info.

  1. Set Authentication settings to "Managed: User Meraki hosted accounts".
  2. Set Enrollment settings authentication to be enabled (so user authentication be be enforced for device enrollments). 
  3. Click Save Changes.

Screen Shot 2021-07-09 at 9.27.35 AM.png

In order to change/add/delete users, use the Configure > Owners page.

Note:  Meraki Users need to use the email address of their user as their username when authenticating. 

Enabling Multi-user authentication feature allows all the email addresses in the Owners list to be able to authenticate on the same device. The screenshot below shows that after enabling this feature, the option to "Switch User" becomes available on the end devices. This feature is only available on iOS and Android devices.

iOS SM app:


Android SM app:


Active Directory Integration

AD integration allows you to use your existing directory service as a line of defense, limiting who can enroll into your Systems Manager network, but also allows you to use your existing AD groups as user tags to scope profiles and apps. For more information on AD user tags, see the Owners article, and Tags article.


You can link your Cisco Meraki MX security appliance for directory services, or enroll your Windows machine hosting the server into Systems Manager to configure AD authentication. Note that these options will not be available to configure unless you have an MX in your Dashboard organization, or a Windows machine enrolled into your SM network, respectively.

Active Directory via MX Appliance

With this option, any enrollment authentication requests will be proxied through an MX security appliance that is configured for AD integration. This works well when an MX in this configuration is already deployed, or one is available where AD authentication can be enabled.

Note: All communication between an MX security appliance and an Active Directory server will be encrypted using TLS. If AD integration has not yet been configured on the MX, please refer to steps 1-4 of the knowledge base article on configuring Active Directory for Group Policy.

To configure Active Directory via MX appliance:

  1. Set Authentication settings to "Active Directory".
  2. Set AD gateway type to "Meraki".
  3. Select the desired MX appliance as the Gateway network.
  4. Click Save Changes.

Users attempting to enroll devices will now be required to authenticate using their Active Directory username and password. The username should be specified as the user's Active Directory name, not including the domain name (e.g. "testuser," not "domain/testuser")

Note: Users *may* in some AD configurations be able to successfully authenticate using the domain/testuser or testuser@domain.tld formats, but doing so may result in some features not functioning as expected.  

Active Directory via SM Agent

With this option, any enrollment authentication requests will be proxied to an Active Directory server through a Windows device with the Systems Manager agent installed. This Windows device can be a user desktop, or an AD server. However, it must be enrolled in the Systems Manager network, have the SM agent installed (Systems Manager > Manage > Add Devices > Windows), and not have any firewall settings preventing it from communicating with the AD server.

Note: The option to select "SM agent" will be grayed out until a Mac or Windows machine capable of communicating with your AD server is enrolled into Systems Manager.

To configure Active Directory via SM agent:

  1. Set Authentication settings to "Active Directory".
  2. Set AD gateway type to "SM agent".
  3. Specify the following information regarding the AD server:
    Short domain: The domain users will be authenticated against.
    Server IP: The IP address of the AD server to use.
    LDAP port: Port on the AD server that will be listening for LDAP requests. Default is 3268.
    Domain admin/Password: Username and password of an administrator for this domain.
  4. Select one or more Gateway machines. These are the devices that the enrollment authentication requests will be proxied through. They must have reachability to the AD server provided above.
  5. Click Save Changes.


If issues are encountered, ensure that the AD server used has the Global Catalog role enabled. Particularly if multiple domains are configured.

Note: Communication between the Gateway machines and the AD server is not encrypted. Therefore, it is strongly recommended that only the AD server being queried be used as a Gateway machine, in order to keep communication local and encrypted.

Sign in with Google

Oauth against Google is as easy as filling in the allowed Google domain in the specified field. Note that Apple DEP enrollment does not support Google authentication, and will fall back to Meraki Authentication credentials.



If you have Android For Work bound under Organization > MDM to a Google Domain, Google Authentication will autopopulate to this domain, and this field will not editable as seen in the screenshot above

Azure Active Directory Sign-In

Use an existing Microsoft Azure AD instance with Systems Manager enrollment authentication. In Systems Manager > Configure > General, find the End User authentication settings and select Authenticate with Microsoft Azure Active Directory. Use the steps below to configure the Microsoft Azure AD side and add the Active Directory ID, Application Client ID, and Application Secret


Note: Systems Manager only uses the Azure Application Secret for transitive memberOf calls.

Find Active Directory ID

The Active Directory ID in Systems Manager > Configure > General > End User authentication settings is known as the Tenant ID on the Microsoft Azure portal. 

  1. Login to your Microsoft Azure portal.
  2. Select Azure Active Directory in the side menu.
  3. Under Manage select Properties. Copy and paste your Tenant ID as the Active Directory ID field in Systems Manager > Configure > General > End User authentication settings (see image above).



Find Application Client ID

The Application Client ID is the ID of this registered application inside the Microsoft Azure portal.

  1. Login to your Microsoft Azure portal.
  2. Select Azure Active Directory in the side menu.
  3. Under Manage select App registrations.
  4. Select New registration and provide an application name.  The application name will be the name displayed to your users when logging in.
  5. Under Redirect URI select Public client/native and input merakismoauth://com.meraki.pcc as the URI.
  6. Click "Register"
  7. Now copy and paste the Microsoft Azure value Application (client) ID as the Application Client ID field in Systems Manager > Configure > General > End User authentication settings (see image above)
Find Application Secret

Create an Application Secret for the new app registered. 

  1. Click on "Add a certificate or secret" under Client credentials for the new app. azure-overview copy 2.png
  2. Under Client secrets create a New client secret.
  3. Set a duration for this secret's validity. Note: after this expires, a new secret will need to be created. 
  4. Now copy and paste the Microsoft Azure Client secret value as the Application Secret field in Systems Manager > Configure > General > End User authentication settings (see image above)
Setup Permission
  1. For this Azure application, click on API permissions. 
  2. Set the following API permissions:
    • Azure Active Directory Graph > Delegate permissions > User.Read
    • Azure Service Management > permissions > user_impersonation
    • Microsoft Graph > Delegate permissions > Directory.Read.All
    • Microsoft Graph > Delegate permissions > User.Read
  3. Click on "Grant admin consent for AppName" so the status of every permission is "Granted".Screen Shot 2021-08-18 at 11.52.53 PM.png
Setup Authentication Redirect URIs

Now that Dashboard has the Active Directory ID, Application Client ID, and Application Secret the Redirect URIs need to be configured

  1. For this Azure application, click on Redirect URIs. 
  2. Under "Manage" select "Authentication" click "Add a platform", and then click on the "Web" panel.
  3. Add "" as the Redirect URI, and check "Access Tokens" and "ID tokens" and confirm the configuration.
  4. Once the Web platform is added, enter the following as additional Web type URIs:

The final authentication configuration should look like this: 


For this Azure application, click on Manifest. When the setup is complete these key=value need to be set in the Manifest file: 


"oauth2AllowUrlPathMatching": false,
"oauth2AllowIdTokenImplicitFlow": true,
"oauth2AllowImplicitFlow": true,
"oauth2Permissions": [],
"oauth2RequirePostResponse": false,
"replyUrlsWithType": [
            "url": "",
            "type": "InstalledClient"
            "url": "merakismoauth://com.meraki.pcc",
            "type": "InstalledClient"
            "url": "",
            "type": "InstalledClient"
            "url": "",
            "type": "InstalledClient"
            "url": "",
            "type": "InstalledClient"
            "url": "",
            "type": "InstalledClient"
            "url": "",
            "type": "InstalledClient"

Example working Manifest file: 

Screen Shot 2021-08-19 at 9.22.34 AM.png


Okta OpenID Connect 

The OpenID Connect option allows you to point Dashboard/your users at your custom Oauth/OpenID endpoint. Fill the information from your endpoint into the appropriate fields.

In Okta/OpenID Connect portal, create a new app integration. Set the sign-on method to OIDC - OpenID Connect and then set application type to Native app like so: 


Next, name the app integration, and be sure to set grant type to Implicit (Hybrid)

Add the following sign-in redirect URIs for authentication redirect requests:



When you are finished, save the OpenID Connect app integration and then add the integration's values from OpenID Connect into Dashboard in Systems Manager > Configure > General > User authentication settings


Note: The token endpoints should return the public key(s) used to sign ID tokens. Here are sample response formats Systems Manager expects:
PEM Format
JWK Format

Additional documentation can be found on Okta's website here

  • Was this article helpful?