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 → OverviewObject ID
EntraAppIDApplication (client) IDApp registrations → your app → OverviewApplication (client) ID
CatalogIDCatalog Object IDEntra Admin CenterIdentity GovernanceAccess reviewsCatalogs → your catalog → OverviewObject Id
GroupNameSecurity group nameShould match the Enterprise Application Name
GroupIDSecurity group Object IDEntra Admin CenterIdentityGroups → your security group → OverviewObject ID
ROIAMAppNameName of the application in ROI iAMFrom ROI iAM configuration
ROIAM_HubName of the hubCreated in table ROIAMHub
TenantIDEntra tenant IDEntra Admin CenterIdentityOverviewTenant 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.