Skip to main content

Changing or removing the Microsoft 365 connection

Adding a permission, checking what is granted, switching the connection off and deleting it — what each one changes, and what survives a disconnection.

Written for whoever runs IT10 min readUpdated

Four things people want to do to an existing Microsoft 365 connection: add a permission it was missing, find out what it currently has, stop it temporarily, and remove it for good. They have quite different consequences and only one of them deletes anything, so it is worth knowing which is which before you start.

One fact underpins all four, and if you take nothing else from this article take this: the permissions live on the app registration in your own tenant, not on the connection record in Qorionix. We store your directory identifier, your application identifier and an encrypted client secret. We store no permission state at all. Every time we ask Microsoft for a token we ask for whatever that app registration currently holds, and Microsoft resolves the answer afresh.

Adding a permission after the fact

This is the most common change, usually because a coverage gap in your report named a dataset we were not allowed to read. The procedure is entirely in your tenant.

  1. Find the permission the gap needs

    Every permission is tied to a named Graph call and to the specific checks that depend on it in Every permission we ask for, and why. Match the dataset named in the gap — mailbox rules, sign-in logs, application consents — to its row.

  2. Add it as an application permission, not a delegated one

    In the Microsoft Entra admin centre, open your Qorionix app registration and go to API permissions → Add a permission → Microsoft Graph → Application permissions. A delegated permission describes what an app may do on behalf of a signed-in user, and there is no signed-in user in this flow, so a delegated grant is never exercised.

  3. Grant admin consent

    Adding the permission requests it; granting consent is what makes it effective, and the status column on that page says which state each one is in. It is recorded in your own tenant's audit log with your name against it.

  4. Change nothing in Qorionix

    There is genuinely nothing to reconfigure. The connection record holds identifiers and a secret; it does not hold a list of permissions. Our next token request asks Microsoft for whatever the registration now holds, so the new permission is in force from the next token onward without any action on this side.

The same applies to the throttling gap, which says We will retry automatically. No action needed. Within a single run we do back off and retry; across runs, nothing reschedules. If a run finished with throttling gaps, start another one when your tenant is quieter — a second run started while one is still in flight is refused rather than queued, so wait for the first to finish.

Checking what is currently granted

The honest answer is that Qorionix cannot tell you, and the reason is the design decision at the top of this article. Because permission state is never persisted on our side, we have no inventory to show you. What we have is evidence of what worked and what did not.

Three ways to find out what the app registration can do, in order of authority
Where to lookWhat it tells youHow current it is
Your app registration's API permissions page, in the Entra admin centreThe complete, authoritative list, with the consent status beside each entry. This page is the source of truth and wins any disagreement with anything else.Live.
The coverage gaps on your latest posture reportWhich datasets the run could not read, each with a classified reason — permission, licence, not configured, throttling, or a fault on our side. This is an inference from what Microsoft refused, not a permission list.As of the last run.
The connection's health status in QorionixOne of unknown, healthy, degraded, unreachable or disabled, with a message. It is produced by a single read of /organization, so it proves that a token can be acquired and that at least one read permission works — not that all twelve do.Re-checked every 15 minutes.

The distinction between the second and third rows is worth internalising. A connection can report healthy while several checks in your report are skipped for want of a permission, because the health probe only exercises one of them. Health tells you the connection is alive; the coverage gaps tell you how much of your estate it could actually see. See When a check cannot run for the five classified causes and what each one asks of you.

Stopping the connection without removing it

If you want assessments to stop but do not want to rebuild the connection later — during a migration, an audit, or a change freeze — switch the integration off rather than deleting it. The stored credential and the configuration stay where they are, and a posture run attempted against it is refused:

that Microsoft 365 connection is switched off. Enable it and then start a posture run
The refusal when a run is started against a disabled connection

This is reversible in one click and costs nothing. It is the right choice in almost every case where the answer is not right now rather than never again.

Deleting the connection for good

Deleting the connection record removes our ability to reach your tenant and destroys the credential we held. It is not the same act as withdrawing consent, and confusing the two is the mistake this section exists to prevent.

What deleting the Qorionix connection removes, and what it deliberately leaves behind
ObjectDeletedWhy
The encrypted client secretYes, immediately. It is destroyed with the connection record rather than orphaned.A stored credential with nothing pointing at it is a liability with no owner.
The connection's configuration and health historyYes. Tenant identifier, application identifier, settings and every recorded health event go with it.They describe a connection that no longer exists.
Your posture runs, findings, inventory and coverage gapsNo. Every run you have ever done survives, along with its findings, the inventory of accounts, applications and devices it built, and the coverage gaps it recorded.The report is your evidence. Deleting a connector must not silently delete the record you may need to show an auditor a year later.
Changes Qorionix applied on its own sideNo. Settings we configured for you — the log source connection, retention, the baseline detections — are unaffected and are not reverted.Removing a connector is a statement about access, not an instruction to undo your security configuration.
Your Entra app registration, its permissions and the admin consentNo. All three remain fully intact in your tenant.They are yours. We have no way to delete them and would not want one.

Doing only your own side is the stronger of the two halves, and it is entirely in your gift: removing consent removes our access on the next token, without our involvement. That is a deliberate property of doing the setup the long way round rather than through a pre-filled consent link.

If somebody removes the consent or deletes the secret without telling you, the failure is loud rather than silent. The health check moves the connection to degraded or unreachable within fifteen minutes, and a posture run started afterwards is refused before the run row is even created. If you attempt to undo a previously applied change while access is gone, the platform says so exactly:

The withdrawn-consent message on an undo attempt, verbatim
Microsoft 365 is refusing our sign-in, which almost always means the
permission you granted Qorionix has been withdrawn or the app
registration changed. We have not changed anything. Re-grant consent
and try again, or use the manual steps below.

The sentence We have not changed anything is the load-bearing part. A failed undo that leaves you unsure whether the change was half-applied is worse than a refused one, so the platform reports a clean refusal and offers the manual steps rather than guessing.

Rebuilding a connection you removed

There is no penalty for reconnecting. Create the app registration again — or reuse the one you kept — grant the permissions, generate a secret and paste the three values back in. Your historical runs are still there and the new runs sit alongside them.

One thing to avoid: ending up with two enabled Microsoft 365 connections. We refuse to guess between them, because discovering the wrong estate produces a report about the wrong company and no amount of later correction undoes the customer having read it.

this organisation has more than one enabled Microsoft 365 connection, so we cannot tell which estate to look at. Name one with instance_id
The refusal when two connections are enabled at once

If you are supplying configuration through the API rather than the form, one further refusal is worth knowing, because the cause is not obvious from the symptom: a field supplied both as ordinary configuration and as a credential is rejected outright with field "…" is present in both the configuration and the credentials of this Microsoft 365 connection; remove it from one of them. Two sources for the same value is how a stale secret gets used in preference to the current one.

A note on retention

Your licence carries a retention period — 30, 90, 365 or 730 days by tier — and people assume it governs more than it does. It is applied as a floor on how far back a log search may reach: a query for an older window is clamped to the period rather than refused. It does not govern your posture reports, and it has no relationship to how long Microsoft keeps data in your own tenant. Disconnecting changes none of it.

What to do next

  1. Every permission we ask for, and why — the table to consult before adding or removing anything.
  2. When a check cannot run — the five classified causes of a coverage gap, and which two are yours to act on.
  3. Connect Microsoft 365 — the full setup procedure, including rotating the client secret before it expires.

Was this article wrong?

If a procedure here does not match what you see, or a limit we described has changed, tell us and we will fix the page. Email us about this article, or see how to get help if you need an answer rather than a correction.

Everything in connecting microsoft 365