Safeguard
Security Guides•

How do you inventory applications across multiple cloud accounts?

Start from what you build, not from each account: list repos, images and deployed versions, then link them to owners. A step by step method for app teams.

Safeguard Security Team
4 min read

To inventory applications across several cloud accounts, start from what your team builds rather than from each account console. List repositories, container images and deployed versions, join them with a stable service name, and attach an owner to each. Accounts then become a "where it runs" column, not the organising idea.

Why account by account inventories fail

An account is a billing and permission boundary. An application is not. One service can have a repository, two images, a function in another account and a database in a third. If you inventory per account, you end up with five lists that do not agree, and no one can answer "which of our services use this library?"

Application teams care about a different question from platform teams. They need to know which code they ship, which versions are live, and who fixes things. That is a software inventory, and it can be built without admin access to every account.

Definitions

Application inventory: a list of the services you own, each with a name, owner, source repository and the places it runs.

Deployed artifact: the thing actually running, such as a container image identified by digest, a function package, or a virtual machine image.

Component inventory: the packages and libraries inside each artifact, usually recorded as an SBOM.

Steps

  1. Pick a service name rule. One short lowercase name per service, used everywhere. Kubernetes documents a recommended label, app.kubernetes.io/name, for exactly this, and app.kubernetes.io/part-of for the higher level application.
  2. Start from source. List every repository that produces something deployable. Skip libraries that never ship on their own at first.
  3. Record the artifacts each build produces. Image names and digests, function packages, machine images.
  4. Collect what is deployed. Ask each account or cluster for the images and function packages it runs, then match them to step 3 by digest. Anything running that matches nothing is your first finding.
  5. Generate component data per artifact. One SBOM per deployed artifact, not per repository, because a repository may build several things.
  6. Attach owners. Use a team name and a contact route, not a person.
  7. Refresh on a schedule. A quarterly spreadsheet goes stale within weeks.

What each source tells you

SourceAnswersMisses
RepositoriesWhat you build and who commitsWhat is actually running
RegistriesWhich images existWhich are in use
Runtime listings per accountWhat is deployed nowWhy, and who owns it
SBOMsWhich components are insideConfiguration and exposure

No single source is enough. The join between them is the inventory.

Common gaps

Images pushed by hand and never built in CI. Functions deployed from a laptop. Accounts opened for a trial and forgotten. Forks of internal tools that kept the old name. Each shows up as a runtime item with no matching build, which is why step 4 matters.

Try it yourself

Open the demo and look at how a dependency inventory turns scattered components into one searchable list for a single service.

Click through it at your own pace, or open it full screen.

Quick check

Do I need access to every cloud account to start?

No. Start with repositories and registries, which you probably already read. Add read only runtime listings from each account as they become available.

Is a CMDB the same thing?

Not quite. A configuration database can hold this data, but it often tracks infrastructure. An application inventory is organised around services and their components.

Safeguard's asset discovery and SBOM and dependency scanning cover this kind of inventory, and you can try a free scan at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.