Skip to content

Azure Tables Configuration ​

This section covers the configuration and data import for Azure Tables, which store the configuration and operational data for the MS Entra Provisioning Accelerator.

Overview ​

For each Azure Table, use the provided template CSV files and import them into your environment. Some tables require manual configuration after import, while others are read-only and automatically populated during operation.

ROIAMAppSync ​

This table stores configuration for each application being synchronized between ROI iAM and Microsoft Entra.

Import and Configure ​

  1. Import the ROIAMAppSync template CSV file.
  2. Manually fill in the columns for applications you want to onboard in Entra.

Column Definitions ​

ColumnDescriptionHow to Obtain
PartitionKeydefaultFixed value
RowKeyEnterprise Application Name (from Entra setup)Each row references exactly one Entra App
EntraAppNameApplication nameSame as RowKey
EnterpriseAppObjectIDObject ID of the Enterprise ApplicationEnterprise applications → your app → Overview → Object ID
EntraAppIDApplication (client) IDApp registrations → your app → Overview → Application (client) ID
CatalogIDCatalog Object IDEntra Admin Center → Identity Governance → Access reviews → Catalogs → your catalog → Overview → Object Id
GroupNameSecurity group nameShould match the Enterprise Application Name
GroupIDSecurity group Object IDEntra Admin Center → Identity → Groups → your security group → Overview → Object ID
ROIAMAppNameName of the application in ROI iAMFrom ROI iAM configuration
ROIAM_HubName of the hubCreated in table ROIAMHub
TenantIDEntra tenant IDEntra Admin Center → Identity → Overview → Tenant ID
Active [Boolean]true or falseDetermines whether ROI_Scheduler will run for this application
ScheduleNumeric valueSchedule for data refresh (e.g., 60)
UnitMinute, Day, or MonthUnit for the schedule value
LastRunTimestamp or emptyEmpty for initial load; otherwise stores timestamp for next run calculation
CatalogAppResourceIDResource ID from Graph APISee instructions below
CustomExtensionIDExtension ID from Graph APISee instructions below

Getting CatalogAppResourceID ​

Use Graph Explorer or Postman to send this GET request:

http
GET https://graph.microsoft.com/beta/identityGovernance/entitlementManagement/accessPackageCatalogs/{YourCatalogID}/accessPackageResources

Replace {YourCatalogID} with the CatalogID from your table.

Getting CustomExtensionID ​

Use Graph Explorer or Postman to send this GET request:

http
GET https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/catalogs/{YourCatalogID}/customWorkflowExtensions/

Replace {YourCatalogID} with the CatalogID from your table.

ROIAMHub ​

This table stores configuration for the connection to ROI iAM.

Import and Configure ​

  1. Import the ROIAMHub template CSV file.
  2. Manually fill in the attributes.

Column Definitions ​

ColumnDescriptionValue
PartitionKeydefaultFixed value
RowKeyName of the ROIAM HubConnected to MS Entra
API_URLAPI Management URLURL of your ROIAM instance
AzureVaultApiKeyKey Vault secret nameROIAM API key saved in Azure Key Vault (e.g., ROIAMPRODAPIKEY)
AzureVaultApiSecretKey Vault secret nameROIAM secret saved in Azure Key Vault (e.g., ROIAMPRODSECRET)
AzureVaultNameKey Vault nameGlobally unique Azure Key Vault name created earlier
NameHub nameUsed as reference in other tables
apiPagingSize300Number of records per page
srcROIAMEntraNameSource system nameName of MS Entra tenant as created in ROI iAM under source systems
apiPagingStartIndex1Starting index for pagination

ROIAMPermissions (Read-Only) ​

Auto-Populated

This table automatically populates during the ROI_Scheduler run.

Setup ​

  1. Import the ROIAMPermissions template CSV file
  2. The table should be initially empty
  3. It will be automatically populated during the run of the Scheduler app

ROIAMEventLog (Read-Only) ​

Auto-Populated

This table automatically populates during user and access provisioning.

Setup ​

  1. Import the ROIAMEventLog template CSV file
  2. The table should be initially empty
  3. It will be automatically populated as part of the user and access provisioning process

ROIAMIdentity (Read-Only) ​

Auto-Populated

This table automatically populates during user and access provisioning.

Setup ​

  1. Import the ROIAMIdentity template CSV file (note the spelling)
  2. The table should be initially empty
  3. It will be automatically populated as part of the user and access provisioning process

ROIAMLifecycle ​

This table defines run intervals for time-based operations related to changes in Entra (e.g., dynamic groups, user attribute modifications).

Import and Configure ​

  1. Import the ROIAMLifecycle template CSV file.
  2. Configure the rows.

Column Definitions ​

ColumnDescriptionValues
PartitionKeydefaultFixed value
RowKeyOperation nameROI_Calculate_DynamicGroup_Provisioning or ROI_Calculate_Modify_User
LastRunTimestamp or emptyEmpty for initial load; otherwise timestamp for next run calculation
ScheduleNumeric valueSchedule for data refresh
UnitMinute, Day, or MonthUnit for the schedule value
Activetrue or falseWhether the operation is active

ROIAMSchema ​

This table defines event schemas used for events sent to ROI iAM.

Import and Configure ​

  1. Import the ROIAMSchema template CSV file.
  2. The values come pre-defined for a generic ROIAM Hub.
  3. Rename values to match the entry in the ROIAMHub table.
  4. Customize with custom event schemas if needed.

Column Definitions ​

ColumnDescriptionValues
PartitionKeyApplication or Hub nameSame as ROIAMAppName or ROIAMHub
RowKeyEvent name or constantSame as EventName or constant (e.g., Enrich)
ROIAMAppNameApplication or Hub nameName of the onboarded application in ROI iAM or ROIAM Hub name
EventNameEvent type nameEvent type sent to ROI iAM or constant for enrich data schema
DataSchemaJSON schemaSchema used in the event to ROI iAM

Default Event Types ​

The following are default values for RowKey/EventName:

  • roiam.Create.IDENTITY - User creation events
  • roiam.GrantAccess.IDENTITY - Access grant events
  • roiam.RevokeAccess.IDENTITY - Access revocation events

Verification Checklist ​

After completing the table configuration, verify:

  • [ ] All required tables are created in Azure Storage.
  • [ ] ROIAMAppSync is configured with at least one application.
  • [ ] ROIAMHub is configured with connection details.
  • [ ] ROIAMLifecycle has appropriate schedules configured.
  • [ ] ROIAMSchema contains the necessary event definitions.
  • [ ] Read-only tables (ROIAMPermissions, ROIAMEventLog, ROIAMIdentity) are imported but empty.

Next Steps ​

Your MS Entra Provisioning Accelerator is now ready for operation.

Final Steps ​

  1. Test the Connection: Run the ROI_Scheduler Logic App manually to verify connectivity.
  2. Monitor Initial Sync: Check the ROIAMEventLog table for successful sync events.
  3. Verify Data: Ensure applications, roles, and users synchronize correctly.
  4. Review Logs: Check Azure Function and Logic App logs for any errors.

Troubleshooting ​

If you encounter issues:

  • Verify all Object IDs and GUIDs are correct in ROIAMAppSync.
  • Check that all Logic Apps have proper permissions assigned.
  • Ensure API connections are properly configured.
  • Verify Key Vault secrets are accessible.
  • Review Azure Function and Logic App execution history.