For the complete documentation index, see llms.txt. This page is also available as Markdown.

Report Application Registration

Report all application registrations, including deleted ones

Description

Lists every application registration in Entra ID, optionally including registrations deleted within the last 30 days, for inventory, review and audit purposes. Nothing is changed. The report can be sent by email or provided as a download link.

Report delivery

Report files are only generated when a delivery method is selected via the Report delivery option (email and/or download link). With Output Data only selected, the results are read directly in the Output Data tab of the RealmJoin portal: a summary table, the Active app registrations and, when deleted registrations are included, the Deleted app registrations, each of which can also be exported to Excel. The report files contain all columns. Email delivery and download link generation are independent and can be combined.

For the download link, the report files are uploaded to the Azure storage account configured in the RJReport.StorageAccount.* tenant settings, and time-limited SAS download links are returned. The storage upload authenticates with the Automation account's managed identity; that identity needs the Storage Account Contributor RBAC role on the target storage account (this is an Azure RBAC assignment, not a Graph application permission).

Schedules that were created before the Report delivery option existed keep sending their email: a stored recipient alone still enables the email for them. When such a schedule is opened for editing, the option shows Output Data only; select the delivery again before saving, otherwise the schedule stops sending the report.

Setup regarding email sending

Sending an email report is optional and only happens when Also email the report or Also email & download link is selected as Report delivery; a recipient is then required. The sender address is taken from the RJReport.EmailSender tenant setting.

This runbook sends emails using the Microsoft Graph API. To send emails via Graph API, you need to configure an existing email address in the runbook customization.

See the RealmJoin Report Settings documentation for details on all available settings.

Email branding

The report email honors the optional RJReport.Branding.* tenant settings:

  • Header and footer image - public HTTPS URLs, PNG/JPEG/GIF, max. 200 KB each

  • Footer link - target of the footer image

  • Accent and text color - 6-digit hex values, e.g. #0052cc

When these settings are not configured, the default RealmJoin graphics and colors are used. An image that cannot be downloaded or validated, or an invalid color value, never prevents the report email - the corresponding default is used instead.

Setup instructions and image requirements: Email branding.

Location

Organization → Applications → Report Application Registration

Full Runbook name

rjgit-org_applications_report-application-registration

Details

Property
Value

Version

1.4.0

Required modules

RealmJoin.RunbookHelper (>= 0.8.9) Microsoft.Graph.Authentication (>= 2.39.0) Az.Accounts (>= 5.5.2)

Schedulable

no

Permissions

Application permissions

  • Type: Microsoft Graph

    • Application.Read.All

      • Lists all app registrations and their service principals for the report

    • Directory.Read.All

      • Reads deleted app registrations via /directory/deletedItems when IncludeDeletedApps is set

    • Mail.Send (optional — feature: Email report)

      • Sends the report email via Send-RjRbReportEmail when email delivery is selected

    • Organization.Read.All (optional — feature: Email report)

      • Reads the tenant display name for the email subject and body

Permission notes

Azure Storage Account: 'Storage Account Contributor' role for the Automation Account's managed identity on the target storage account - the upload retrieves the account keys via listKeys (only required for the download link options)

Parameters

IncludeDeletedApps

Also lists application registrations that were deleted within the last 30 days.

Property
Value

Required

false

Default Value

True

Type

Boolean

Portal display name

Include deleted registrations?

SendEmailReport

Send the report to the recipient email address.

Property
Value

Required

false

Default Value

False

Type

Boolean

Portal display name

Send the report by email?

Hidden in portal

yes (preset via runbook customization)

EmailTo

Send the report to these addresses. Separate several with commas; each recipient gets a separate email.

Property
Value

Required

false

Default Value

Type

String

Portal display name

Recipient email address(es)

Hidden in portal

yes (preset via runbook customization)

EmailFrom

Sender address of the report email. Taken from the tenant setting RJReport.EmailSender.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingHeaderImageUrl

Header image of the report email (HTTPS URL, PNG/JPEG/GIF, max 200 KB). Taken from the tenant setting RJReport.Branding.HeaderImageUrl; the default RealmJoin header is used when empty.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingFooterImageUrl

Footer image of the report email (HTTPS URL, PNG/JPEG/GIF, max 200 KB). Taken from the tenant setting RJReport.Branding.FooterImageUrl; the default RealmJoin footer is used when empty.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

Link behind the footer image of the report email. Taken from the tenant setting RJReport.Branding.FooterLink; realmjoin.com is used when empty.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingAccentColor

Accent color of the report email as a 6-digit hex value. Taken from the tenant setting RJReport.Branding.AccentColor; the RealmJoin default is used when empty or invalid.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

BrandingTextColor

Text color of the report email as a 6-digit hex value. Taken from the tenant setting RJReport.Branding.TextColor; the RealmJoin default is used when empty or invalid.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

ReportFileFormat

Deliver the report as CSV, as an Excel workbook, or both.

Property
Value

Required

false

Default Value

CSV & XLSX

Type

String

Portal display name

Report file format

Hidden in portal

yes (preset via runbook customization)

Portal options

Portal option
Value

CSV & XLSX

CSV & XLSX

CSV only

CSV only

XLSX only

XLSX only

Also upload the report and return a download link that expires after a few days.

Property
Value

Required

false

Default Value

False

Type

Boolean

Portal display name

Create a download link?

Hidden in portal

yes (preset via runbook customization)

ContainerName

Storage container the report files are uploaded to. Set per runbook.

Property
Value

Required

false

Default Value

report-application-registration

Type

String

Hidden in portal

yes (preset via runbook customization)

ResourceGroupName

Resource group of the storage account for report uploads. Taken from the tenant setting RJReport.StorageAccount.ResourceGroup.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

StorageAccountName

Storage account for report uploads. Taken from the tenant setting RJReport.StorageAccount.StorageAccountName.

Property
Value

Required

false

Default Value

Type

String

Hidden in portal

yes (preset via runbook customization)

LinkExpiryDays

Number of days a download link stays valid. Taken from the tenant setting RJReport.StorageAccount.LinkExpiryDays.

Property
Value

Required

false

Default Value

6

Type

Int32

Hidden in portal

yes (preset via runbook customization)

Last updated

Was this helpful?