Research & Analysis · Identity and zero trust · 17 min read
Who Should Own Cloud Workload Identities?
Sources checked against the cited passages; awaiting my final read before this is indexed.
The accountable service owner should own the business need for a workload identity and its lifecycle. The platform team should control how the identity is issued, and the owners of target resources should approve the operations it can perform. Someone must also have explicit authority to stop issuance and remove access during retirement or an incident. A catalog entry naming an owner is incomplete unless those decisions connect to enforceable controls and observable results.
A workload identity represents software acting in a system: an application service, scheduled worker, deployment job or another non-human participant. The operational problem is that its authority can outlive the process, deployment or team that originally justified it. A container disappears, but an identity registration remains. A repository is retired, but a federation rule still accepts a matching claimant. A service stops issuing new tokens while a downstream credential remains usable.
I would organize the review around an authority responsibility record linking the business purpose, eligible claimant, issuing system, permitted resources and retirement evidence. This is a proposed engineering method, not a new identity standard or a measured maturity score. It asks a narrower question than whether an organization has adopted managed identities: can it explain who may acquire a particular identity, what that identity enables, and how those rights end?
Make the unit of ownership explicit
Start with the logical service and environment, not the current machine name. A production invoicing worker may have many replicas and several deployment versions. Those instances can share a service purpose while differing in exposure, software provenance or operational role. The appropriate identity boundary depends on which distinctions the authorization policy needs to enforce.
NIST's cloud-native zero trust architecture treats service identities and application-level policies as part of access control across multiple locations. Its identity-segmentation recommendations distinguish encrypted communication, service authentication and authorization rather than relying on network placement alone (Chandramouli & Butcher, 2023). That supports reviewing the identity alongside the service relationship. It does not prescribe one identity for every process or require every application to adopt a service mesh.
I would record the stable service identifier, environment, operational owner and escalation contact. Then identify the production consumers of that identity and the source of truth for deployment membership. A human-readable label helps navigation, but it should not silently become the security boundary if another team can rename a resource to match it.
Ownership should survive organizational change. A named engineer may implement the current policy, while the service team remains accountable for whether it is still required. When the team changes, the acceptance task is to review the service purpose, permissions and emergency procedure, not simply replace an email address in the catalog. An identity with no current service purpose needs a retirement decision even if its credentials are rotating successfully.
Separate the responsibilities that a single owner field conceals
The person approving a business integration may not administer its issuer or own its target database. Collapsing those roles into one owner field creates an attractive dashboard and an unusable incident procedure. I would assign responsibilities according to the changes each actor can authorize and perform.
| Decision | Accountable function | Evidence needed for acceptance |
|---|---|---|
| Why the identity exists | Service owner | Current service purpose, environment and dependent business operation |
| Which claimant can receive it | Platform or identity operator | Versioned issuance predicate and control over its authoritative attributes |
| What it may access | Target resource owner | Specific actions, resource scope and relevant conditions |
| Who may change the path | Owners of deployment, issuer and policy administration | Effective administrative rights, review rules and change records |
| How access is stopped | Designated operational and incident authorities | Separate procedures for new issuance, existing authority and service continuity |
| When it can be removed | Service owner with dependency owners | Retirement scope, denied-access observations and unresolved dependencies |
These functions can be performed by a small number of people. The purpose is not to manufacture a committee. It is to avoid discovering, during containment, that the service owner cannot reach the person who controls the federation rule or that the target owner never approved the granted permissions.
Separate responsibility from unrestricted power. A platform operator may need to implement an approved grant without being able to invent its business justification. A resource owner may approve access without being able to alter which workload qualifies for the identity. Where one administrator can do both, make that concentration visible and apply proportionate review and evidence controls.
The record should include an escalation path for conflicting priorities. Stopping a compromised workload may interrupt an essential job. The authorized decision-maker needs the affected operation, available alternative and likely credential behavior. An emergency procedure can accelerate a decision; it should not depend on guessing who is allowed to make it.
Review the right to obtain a credential, not only the credential
A short-lived credential changes the lifetime of one issued object. It does not necessarily constrain the period over which a claimant can request replacements. The standing issuance rule is therefore an important privilege in its own right.
SPIFFE offers a useful vocabulary for this separation. A SPIFFE ID names an identity within a trust domain, while an SVID provides cryptographically verifiable evidence of that identity. Its Workload API supports obtaining identity material and trust information without requiring the application to carry a preconfigured authentication secret (SPIFFE, n.d.-a). The application still depends on a system that decides which identity it is entitled to receive.
For each issuance rule, identify the evidence used to recognize the workload and who can alter that evidence. A namespace, service-account assignment, repository claim or deployment attribute may be authoritative only within a particular administrative boundary. If a team can change the attribute used to select a powerful identity, it may indirectly control access to that identity even without permission to edit the issuer's policy.
I would trace both the ordinary path and the administrative path. The ordinary path is the workload presenting acceptable evidence and receiving a credential. The administrative path includes changing deployment definitions, modifying an external provider's attributes, editing federation conditions or attaching an identity to another resource. Review them together because the second path can determine who may use the first.
Then check for alternative credentials. A workload migrated to federation may still have a static key in an old job, image or integration. A successful new authentication flow establishes that the replacement works; it does not establish that the previous authority has ended. The separate analysis of exposed-secret rotation covers incident containment and consumer cutover. Here the lifecycle requirement is to record and retire alternative authority as part of the migration.
A trusted issuer does not identify a trusted workload by itself
Federation often shifts the security decision from storing a secret to evaluating claims. That can be a substantial improvement, but it makes the issuer, subject mapping, audience and qualifying conditions consequential configuration. A valid signature establishes something about a statement's origin; the receiving system must still decide whether that statement is appropriate for this access path.
RFC 8725 requires JWT implementations to validate the relationship between issuer and cryptographic keys, the subject or issuer-subject pair, and the intended audience in applicable multi-recipient contexts. It also calls for mutually exclusive validation rules where different kinds of JWT could otherwise be confused (Sheffer et al., 2020, Sections 3.8–3.12). A verifier that checks only a signature has not completed those decisions.
Google Cloud's federation guidance illustrates the consequences of mapping choices. It warns that shared issuer URLs can represent an entire multi-tenant provider, recommends conditions that restrict eligible identities, and advises using immutable, non-reusable attributes. Reusing an attribute can cause a later identity to match an earlier identity's surviving grant (Google Cloud, 2026). The broader lesson is to review what the mapping means over time, not merely whether today's token passes it.
AWS documents a specific safeguard for roles trusting GitHub's OIDC provider: the trust policy must include the subject condition and cannot set it solely to a wildcard or null. AWS also warns that insufficiently scoped subjects can admit workflows outside the intended organization or repository (Amazon Web Services, n.d.). Passing that policy-creation check is a minimum constraint, not proof that a grant matches the intended production workflow.
I would express the intended claimant in plain language before reviewing the policy: the approved deployment job for this service, from this controlled repository and permitted context, targeting this environment. Then compare that sentence with the exact claims and conditions the recipient actually evaluates. If the platform cannot enforce a needed distinction, revise the architecture or document the broader grant rather than crediting the policy with a capability it lacks.
Treat deployment authority as part of identity authority
A deployment system may be able to replace the code that runs under a production identity. That can make its administrative permissions as important as the workload's own permissions. An identity review focused only on runtime tokens can miss this indirect route to authority.
GitHub's OIDC documentation describes exchanging job identity information through a configured trust relationship for cloud access, avoiding duplicated long-lived cloud credentials in repository secrets (GitHub, n.d.). That addresses credential distribution. It does not establish that every workflow allowed by the trust relationship is an appropriate production claimant, or that all code executing within the job has equal trustworthiness.
I would distinguish the deployment identity from the runtime identity. A deployment job may need permission to update a service without needing the service's ordinary data access. Conversely, a running application should not automatically be able to rewrite its own deployment policy or grant itself broader permissions. Check where these roles overlap and whether that overlap is necessary for the approved operation.
Review the source and approval boundaries that determine what can execute under each identity. That includes the protected deployment definition, reusable automation, resource attachment permissions and the administrators who can change them. The appropriate controls depend on the actual platform; no generic statement about repository ownership substitutes for inspecting the effective path.
For a reusable deployment workflow, ask whether the trust decision identifies the approved workflow, the caller, the environment and the resulting cloud role as intended. Do not assume every claim available from an issuer is understood or enforced by every recipient. A useful negative test changes one relevant condition at a time in an authorized test setup and verifies that the intended control causes denial.
Authentication must lead to a separate resource decision
Once a workload is recognized, decide what it may do. A mutually authenticated connection does not establish permission to perform every operation supported by the service. Nor does a role name establish the effective scope of a resource policy.
NIST's service-mesh access-control guidance treats service authentication and attribute-based authorization as separate functions. The authorization model considers attributes of the subject, object and potentially the environment when evaluating an operation (Chandramouli et al., 2021). I would apply that distinction whether enforcement sits in a mesh, a gateway, a cloud policy system or the application itself.
For the invoicing worker, specify which records it can read, which outputs it can write and which administrative actions it cannot perform. If it needs to act on behalf of another principal, identify whether the downstream service sees the worker, the represented principal or both. That affects authorization, attribution and the evidence available after an incident.
RFC 8693 distinguishes delegation from impersonation and defines a token-exchange mechanism without supplying every deployment's trust policy. It also states that revocation propagation between input and output tokens is not a general property of the protocol (Jones et al., 2020, Sections 1.1 and 2.1). An exchange can therefore create another authority path whose recipient and lifecycle require explicit treatment.
Follow the chain far enough to find the consequential resource. A deployment identity may assume a role that can attach another identity, which can then access data. Reviewing the first role in isolation can understate effective privilege. At the same time, do not assume every theoretical chain is usable: record the conditions and test the authorized representative path before claiming either exposure or protection.
Match enforcement placement to the boundary being claimed
An architecture diagram may put a policy engine between two services while leaving another route to the target. The acceptance question is whether the intended requests actually encounter the relevant enforcement point with trustworthy identity context.
NIST's comparison of service-mesh proxy models analyzes distinct threat properties of sidecar and shared arrangements, including the consequences of compromised proxies and missing mediation (Chandramouli et al., 2024). I would use that analysis to identify local test questions. Its comparative model is not a measured probability that a particular production deployment will be compromised.
Inspect service ingress, alternate ports, administrative interfaces and any direct route used during maintenance. Confirm how the target receives caller identity and whether an untrusted caller can supply a value that looks equivalent to the trusted identity context. A valid upstream decision is insufficient if a downstream component accepts the same assertion from an unauthenticated route.
Also distinguish the data path from policy administration. A service may enforce the current policy correctly while an overly broad administrator can replace it. Review the effective rights to modify identity bindings, resource grants, trust bundles and enforcement configuration. Evidence of a protected data path does not establish that those administrative changes are controlled.
During policy or issuer outages, state the expected behavior for new connections, established connections and cached decisions separately. Test that behavior in a representative environment before depending on it. Availability requirements can justify bounded continuity, but the organization needs to know which authority persists and how the boundary is restored afterward.
Managed identity is a lifecycle choice, not an ownership exemption
Provider-managed credentials can remove important operational burdens, but the identity's permissions and business purpose still require owners. A platform managing credential material does not automatically decide whether a retired application should retain its database role.
Microsoft's managed-identity guidance distinguishes resource-linked system-assigned identities from independently managed user-assigned identities, and notes that role assignments are not automatically deleted when either identity type is deleted (Microsoft, 2025). That distinction matters when designing retirement. Removing a compute resource and removing all associated authorization objects are different acceptance tasks.
Sharing an identity can reduce administration when workloads have the same justified access and lifecycle. It can also make it harder to retire one member independently or attribute activity at the desired granularity. I would group workloads only where their purpose, environment, permissions and change authority genuinely align, then document how the group is reviewed when one member changes.
The alternative is not necessarily an identity per ephemeral instance. That may create complexity without improving the decisions the resource owner can make. Choose the identity granularity needed to separate consequential authority, and preserve instance or execution context separately where investigations require it. Test whether the logs expose that context instead of assuming a shared identity makes every action attributable.
A practical inventory should distinguish no owner, no current purpose, unknown consumers and unverified effective access. Those are different deficiencies. Automatically deleting every identity with an old last-used timestamp can interrupt an infrequent recovery or settlement job. Treat observed inactivity as a review signal, with evidence about the expected operating cycle and dependencies.
Retirement has more than one clock
A retirement request should address new issuance, already issued credentials, target-side authorization and established sessions or downstream work. These are not interchangeable states. Removing a registration can stop renewal while leaving a valid credential in circulation; rejecting a new connection does not necessarily terminate work already accepted by the target.
Kubernetes documentation makes one verification distinction explicit. For service-account tokens bound to API objects, the project recommends TokenReview because it can account for the deletion of the bound object. A recipient validating the token through OIDC instead can continue accepting it until expiration (Kubernetes Authors, 2026). The practical question is what the actual recipient checks, including its audience and any locally cached result, rather than what the issuer has recorded as deleted.
Provider caching adds another boundary. Microsoft documents that managed-identity token infrastructure maintains a cache per resource URI for around twenty-four hours, and that group or role membership changes can consequently take several hours to affect access (Microsoft, 2025). This is a specific documented limitation, not a universal revocation delay for all Azure resource permissions or all identity types.
SPIFFE's trust-domain specification likewise makes validation material part of the design. It defines bundles for a trust domain and warns that reusing cryptographic keys across domains weakens isolation and requires careful domain checks (SPIFFE, n.d.-b). Removing or replacing trust material must be evaluated with the actual consumers and refresh behavior. A new bundle at its source is not evidence that every verifier has adopted it.
I would give the retirement record separate observations for issuance denial, credential acceptance, resource authorization and any surviving session or job. Where a boundary cannot be tested directly, identify the documented mechanism, expected window and residual uncertainty. Do not collapse those results into a single revoked checkbox merely because the identity service accepted the administrative request.
Use a retirement exercise that can expose a false success
Consider a hypothetical reporting worker that reads a restricted dataset and writes a scheduled report. It obtains an identity through a federation rule and then receives a target-specific access token. The service owner wants to retire the worker after a replacement is accepted. This is an invented scenario, not a customer incident or a performed test.
The first exercise should establish the legitimate path: the approved worker receives the expected identity, performs the permitted read and write, and cannot perform a selected out-of-scope operation. Preserve the relevant configuration versions and logs without recording reusable credentials. A denial caused by an unrelated outage would not demonstrate the intended policy boundary.
Now suppose a token issued at minute zero expires at minute twenty. The team disables new issuance at minute five. In the scenario, a fresh token request is denied, but the existing token still authorizes the selected operation at minute eight. That result would demonstrate an issuance boundary and continuing issued authority. The token had fifteen minutes of nominal lifetime remaining when issuance was disabled; that arithmetic does not prove fifteen minutes of exposure across every resource or session.
The next step depends on the actual recipient: determine whether a resource-policy change, token-status mechanism or other supported control can remove the remaining authority, and verify the relevant operation. Separately inspect whether a completed exchange created another credential or an already accepted job can continue. Waiting for one token's expiry is not automatically a closure criterion for the entire chain.
Finally, test whether the retirement can be undone unintentionally. Could a renamed or recreated deployment match the old federation condition? Could a retained identity attachment or role assignment admit a replacement claimant? A successful denial of today's instance does not address tomorrow's reuse of an insufficiently specific identifier. The retirement decision should include those standing grants and the authoritative source of claimant membership.
Keep continuity and evidence in the same acceptance record
A safe retirement also requires confidence that legitimate work has moved to the intended replacement. Identify low-frequency jobs, recovery procedures and external integrations before removing shared authority. A controlled maintenance window or representative environment can expose dependencies without turning a production outage into the discovery method.
The evidence should connect the service, claimant, issued identity, target and policy decision. Use non-secret correlation information and retain the configuration context needed to interpret it. If several workloads share one identity, record which observations can distinguish their executions and which cannot. The separate cloud forensic-readiness paper develops preservation coverage; this ownership record supplies the identity and policy relationships that an investigation needs to interpret.
I would report critical service identities with current owners and tested lifecycle boundaries, plus exceptions whose issuance or target permissions remain unverified. Include the denominator and last material configuration change. Counting identities converted to federation measures migration activity; it does not establish that their trust predicates are narrow or that retirement works.
The strongest objection is operational cost. A small team may reasonably use a provider's managed identity model instead of operating a separate workload-identity infrastructure. The same responsibility questions still apply, but the evidence can be proportionate: one clear service record, reviewed permissions and a bounded acceptance exercise may be enough for a simple integration. Complexity is justified by the authority being separated, not by the number of products deployed.
A second objection is availability. Frequent credential rotation and tightly scoped grants can expose brittle consumers. That is a reason to test refresh, policy distribution and recovery behavior before rollout, with supported operational alternatives. An undocumented permanent credential fallback restores the original problem while making the apparent migration misleading.
This paper synthesizes standards, official guidance and provider documentation; the twelve sources are not twelve independent empirical studies. No production tenant, token, cluster or workload was accessed, and no deployment or revocation result is claimed. The proposed responsibility record has not been independently validated as a universal governance model. Provider behavior must be checked against the actual service, token type and version before an operational decision depends on it.
If your team can list service accounts but cannot explain who can obtain them or end their access, a workload identity assessment can trace selected authority paths and define the missing ownership and acceptance decisions. The deliverable should be a usable account of business purpose, issuance eligibility, effective permissions and retirement evidence—not another inventory whose owner column hides the hard parts.
References
- Amazon Web Services. (n.d.). Create a role for OpenID Connect federation (console). AWS Identity and Access Management User Guide. Retrieved October 28, 2026, from https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_oidc.html
- Chandramouli, R., & Butcher, Z. (2023). A zero trust architecture model for access control in cloud-native applications in multi-location environments (NIST SP 800-207A). National Institute of Standards and Technology. https://doi.org/10.6028/NIST.SP.800-207A
- Chandramouli, R., Butcher, Z., & Callaghan, J. (2024). Service mesh proxy models for cloud-native applications (NIST SP 800-233). National Institute of Standards and Technology. https://doi.org/10.6028/NIST.SP.800-233
- Chandramouli, R., Butcher, Z., & Chetal, A. (2021). Attribute-based access control for microservices-based applications using a service mesh (NIST SP 800-204B). National Institute of Standards and Technology. https://doi.org/10.6028/NIST.SP.800-204B
- GitHub. (n.d.). OpenID Connect. GitHub Docs. Retrieved October 28, 2026, from https://docs.github.com/en/actions/concepts/security/openid-connect
- Google Cloud. (2026, October 26). Best practices for using Workload Identity Federation. https://docs.cloud.google.com/iam/docs/best-practices-for-using-workload-identity-federation
- Jones, M., Nadalin, A., Campbell, B., Bradley, J., & Mortimore, C. (2020, January). OAuth 2.0 token exchange (RFC 8693). Internet Engineering Task Force. https://doi.org/10.17487/RFC8693
- Kubernetes Authors. (2026, March 16). Service accounts. https://kubernetes.io/docs/concepts/security/service-accounts/
- Microsoft. (2025, March 14). Best practice recommendations for managed system identities. Microsoft Learn. https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/managed-identity-best-practice-recommendations
- Sheffer, Y., Hardt, D., & Jones, M. (2020, February). JSON Web Token best current practices (RFC 8725; BCP 225). Internet Engineering Task Force. https://doi.org/10.17487/RFC8725
- SPIFFE. (n.d.-a). SPIFFE concepts. Retrieved October 28, 2026, from https://spiffe.io/docs/latest/spiffe-about/spiffe-concepts/
- SPIFFE. (n.d.-b). SPIFFE trust domain and bundle. Retrieved October 28, 2026, from https://spiffe.io/docs/latest/spiffe-specs/spiffe_trust_domain_and_bundle/