A service identity with no credentials, assumed by one named person at a time and recorded against both, compared with a shared account whose password several people know.
The same job. One of them leaves a usable record.

Shared accounts often start as a workaround: several operators need a common system, or an integration is created quickly using someone's personal account. Over time, nobody is certain who uses the credential, where it is stored, what permissions it has or whether the account can be retired safely.

The idea at a glance
  1. Define workload
  2. Assign named identity
  3. Grant scoped access
  4. Monitor, rotate, retire

Give the integration its own identity

A service identity should represent a job or responsibility, not an employee. Define its owner, purpose, allowed resources, credential lifecycle and the processes that depend on it. When practical, avoid making the identity a general-purpose administrator just because that is easier to configure.

Constrain its use

Assign only the required roles or resource access. Apply network restrictions where supported, and keep credentials out of personal profiles and shared text files. Set a review cadence for the identity's purpose and permissions. When the integration no longer exists, retire the credentials and remove its assignments.

Preserve accountability

Service identity does not mean anonymous activity. The goal is to make machine or shared operational work attributable to a defined identity and discoverable in audit records. Human actions that manage the service identity should remain identifiable as well.

Questions to ask: What owns this credential? Which actions can it perform? Where may it be used from? How would we revoke it during an incident?

Start with an inventory

  1. List shared accounts and personally owned integration keys.
  2. Map each one to an operational purpose and a business owner.
  3. Replace the credential with an identity model that supports the required access and audit needs.
  4. Test rotation, revocation and what happens when an owner changes role.

WebFrolic documents service and machine identity concepts intended to reduce reliance on shared credentials. During evaluation, verify the exact lifecycle, permission and network controls available in your deployment.

Why shared credentials persist despite everyone disliking them

Nobody defends shared accounts, and they are everywhere. They persist because the alternative was usually worse: without a native construct for shared or break-glass access, teams either share a password or wire a personal account into infrastructure. The second is more dangerous, because those integrations fail when the person changes role, and their personal credentials end up stored where colleagues can reach them.

Telling teams to stop does not work when the platform offers nothing to stop into. The fix has to be a construct, not a policy.

What assuming an identity should mean downstream

A privileged role leaves your own identity in place: you act as yourself with more permission, and connected applications see you. Assuming a service identity is different — downstream single sign-on applications see the service identity, which is what makes it usable for integrations that expect a consistent principal.

That is also why the controls around assumption matter: a defined set of people permitted to assume it, a duration on the assignment, one holder at a time, and the original user recorded against every action it takes.

The underlying idea

Give each identity an owner and defined purpose.

Separate workloads instead of sharing a broad credential.

Review resource scope and network restrictions.

Test rotation, revocation and offboarding dependencies.

← Back to all articlesReview service users in the product guide →