Generate eduPersonPrincipalName (eppn) and store in Entra ID
Last updated
Last updated
To make authentication to DNP work, the IdP must send a eppn value to DNP. The eppn value must be unique for each individial over time.
In this scenario, Fortified ID will automate the generation of eppn for each individual and store the value on the user object in Entra ID.
We recommend using Forms for this configuration, although it may be added to Integrity/Access as well.
! This scenario could easily be copied and modified to fulfill other DNP eppn scenarios.
Store the generated value in another user data source, such as Active Directory, Google, other LDAP or SQL.
There are some prerequisite for this use case. You will need the following:
Entra ID administration rights, including Attribute Assignment Administrator and Attribute Definition Administrator
Outgoing TCP/443 communication. To be able to communicate with Entra ID (MS Graph API).
Forms installed.
Remember that this use case does not describe installation of the product. Product is expected to be installed in advance.
Download ZIP containing configuration for Forms
Click to download customer folder for Forms.
Add Forms configuration to your environment.
Rename the existing customer folder to customer_ORG. Add the customer folder to your \..\fortifiedid\forms\ folder.
Login to Entra ID as an administrator
Select App Registrations
Click New Registration
Enter a name of the app registration, Fortified ID eppn generator
Select Accounts in this organizational directory only (<tenant_name> only - Single tenant)
Register
Click on the App Registration in the list
Select API permissions
Add permissions
Microsoft Graph->Application Permissions->User.ReadWrite.All
Microsoft Graph->Application Permissions->CustomSecAttributeAssignment.Read.All
Microsoft Graph->Application Permissions->CustomSecAttributeAssignment.ReadWrite.All
In the Overview section, copy these values (they will be used in later steps):
Application (client) ID
Directory (tenant) ID
Generate a keystore in p12 format.
Name the p12 file enterprise_app_keystore.p12
Select Certificates & secrets
Select Certificates
Click Upload certificate
Select the certificate file
Click Save
Select Custom attributes
Select Add attribute set
Name the set FortifiedID
Click Add
Click Add attribute
Set Attribute name = eppn and Data type = string
Place the file enterprise_app_keystore.p12 in the folder customer/config/resources/certificates/entra/. (Replace if a file already exists)
Open the file customer/config/globals.json. Change according to the instructions below.
EntraID
Set client_id and tenant_id to the values fetched in previous steps (Application (client) ID and Directory (tenant) ID)
.
Example:
keystore->MS_Entra_ID_tenant_1
Change the password (password) to the private key password of enterprise_app_keystore.p12.
Example:
Save the file.
Start the service.
Verify startup by viewing the log files. Any error - fix accordingly.
Check that your Entra ID accounts were updated with the eppn value.
The eppn automation job will run on startup and then every 10 minutes.
You can modify the schema interval in scheduler.json. Change the cron job syntax to suite your needs. "run_on_start": true, "schedule": "0 0/15 * * * ?",
Extract the certificate chain from the keystore file, . This should result in a certificate file that will be used in next step.