Microsoft Entra ID for Connectors
Note:
To configure the Microsoft Entra ID for Connectors, you must have the Global Admin access for the tenant in the Azure portal.Do the following steps to configure the Microsoft Entra ID for Connectors:
-
Share the tenant ID with the Nuance team. If you have existing tenant, see Find your tenant ID and Use an existing Microsoft Entra tenant . To request the registration of your tenant ID into ASTRA, open a ticket. Without registration, the integration with Entra ID can’t work.
-
Create a service principal (local representation of the Media Manager API App ID). You need to do this only once per tenant.
-
Using Graph Explorer:
-
Go to Graph Explorer and sign in as an admin on your tenant. You may need to consent to following permissions if you have any permission issues:
Application.ReadWrite.AllAppRoleAssignment.ReadWrite.AllServicePrincipalEndpoint.ReadWrite.All
See Microsoft Graph consent to permissions for more information.
-
Run the following query to grant your tenant access to the Media Manager API:
POST https://graph.microsoft.com/v1.0/servicePrincipals { "appId": "<Media Manager API App ID>" }See Entra ID App IDs for
<Media Manager API App ID>.
-
-
Alternatively, you can use Azure CLI to create a service principal:
-
Login to Azure CLI as an admin.
az login --tenant <tenant ID> -
Run the following command to create a service principal:
az ad sp create --id <Media Manager API App ID>See Entra ID App IDs for
<Media Manager API App ID>.
-
-
-
Register your application to create a client service principal for each connector.
Note:
Following the principle of least privilege, it’s recommended to create a separate client service principal for each connector: CTI, Media, and RCC.-
Using the Azure portal:
- Go to Manage Microsoft Entra ID.
- Under Manage, select App Registrations.
- Click New Registration to create a new app. Add a name of the app.
For more information, see Register an application .
Note:
While registering the app, ensure that you select the single tenant option and don’t add any redirect URIs.
-
Alternatively, you can use Azure CLI to create a client service principal:
az ad sp create-for-rbac --name <your client service principal>
-
-
Do the following steps to assign roles for every client service principal created for each of the following connectors: CTI, Media, and RCC.
- Using the Azure portal:
- Go to Manage Microsoft Entra ID.
- Under Manage, select App Registrations.
- Click the app you created.
- Go to API Permissions and click Add a permission.
- Select APIs my organization uses.
- Search for the
MediaManagerAPIapp and select it. - Add the desired permissions.
- For CTI connector, add the following permissions:
connector.sessionevent.create
- For Media connector, add the following permissions:
connector.sessionconnector.media
- For RCC connector, add the following permissions:
connector.sessionconnector.rcc
- For CTI connector, add the following permissions:
- Once all the desired permission are added, click Grant admin consent for <your tenant> or ask admin to grant permissions.
- Alternatively, you can use Graph APIs to assign roles to the client service principal.
-
Go to Graph Explorer and sign in as an admin on your tenant. Make sure you have consented to the permissions mentioned in step 2.
-
Run the following query to get all the available roles that can be assigned to the client service principal:
GET https://graph.microsoft.com/v1.0/servicePrincipals/<SP Object ID>/appRoles where <SP Object ID> is the service principal object ID that you created in step 2.Following is the example output, such as for
event.create:{ "allowedMemberTypes": [ "Application" ], "description": "Publish call and agent events ", "displayName": "Event Create", "id": "12345678-1234-1234-1234-123456789123", # App Role ID. This is an example only. "isEnabled": true, "origin": "Application", "value": "event.create" }In this example,
idis the <App Role ID> that you need to assign to the client service principal in the next step. -
Now you can assign roles using the following query:
POST https://graph.microsoft.com/v1.0/servicePrincipals/<object ID of the app's service principal>/appRoleAssignments { "principalId": "<Client's Service Principal Object ID>", "resourceId": "<App's Service Principal Object ID>", "appRoleId": "<App Role ID>" } Where: <App's Service Principal Object ID> is the service principal object ID that you created in step 2. <Client's Service Principal Object ID> is the client service principal object ID that you created in step 3.For more information on the above query, see Assign user and groups to an application using Microsoft Graph API .
-
- Using the Azure portal:
-
After the app registration is done, create the client secret or add the certificate for the app.
- To create the client secret:
- Go to Microsoft Entra ID.
- Under Manage, select App Registrations.
- Click the app you created.
- Go to Certificates & Secrets.
- In the Client secret tab, click New client secret. For more information, see Create a new client secret
- Enter the description and expiration date for the secret.
- Click Add to create the secret.
- To add the certificate:
-
Run the following bash script to generate the certificate for Connector (CTI, Media Connector, and RCC) and follow any prompts displayed:
#!/bin/sh -x # set -eu listOfOnPremConnectors="cti media rcc" for connector in ${listOfOnPremConnectors}; do mkdir -p ./certs/${connector} pushd ./certs/${connector} read -s -p "Enter your password: " password openssl genrsa -des3 -passout pass:${password} -out ${connector}.pass.key 2048 openssl rsa -passin pass:${password} -in ${connector}.pass.key -out ${connector}.key openssl req -new -key ${connector}.key -out ${connector}.csr openssl x509 -req -sha256 -days 365 -in ${connector}.csr -signkey ${connector}.key -out ${connector}.crt # private key must not be encrypted and can be PKCS1 or PKCS8 format openssl pkcs8 -topk8 -inform PEM -outform PEM -in ${connector}.key -out ${connector}_private_key.pkcs8 -nocrypt #optional. When not set CC will attempt to extract it from the above private key openssl rsa -passin pass:${password} -pubout -in ${connector}.pass.key -out ${connector}_publicKey.pem popd doneThe bash script generates various files in three different folders, one for each connector.
-
Go to Manage Microsoft Entra ID.
-
Under Manage, select App Registrations.
-
Click the app you created.
-
Go to Certificates & Secrets and select Certificates.
-
Select Upload certificate to upload the certificate. For more information, see Upload a certificate
-
Click Add to upload the certificate.
-
- To create the client secret:
-
Go to the Azure portal’s Enterprise applications section, copy the application (service principal) object ID, and share it with the Nuance team for Media Manager API authorization.
Note:
Remember to note the Application (client) ID of the application (service principal) from the Enterprise applications section to configure self-hosted connectors. SeeOAUTH2_CLIENT_IDin the self-hosted connectors’ supported operating guide (SOG) for details.