A long-lived user key
Never expires, and is the credential type that leaks
AKIAIOSFODNN7EXAMPLE
Work out what you are looking at from the first four characters. The difference between AKIA and ASIA decides whether a leak is an emergency.
Or drop a file anywhere on this panel. Nothing is uploaded: the analysis runs in this tab.
The answer appears here
Paste on the left and press Identify. Nothing leaves this tab.
Nothing else to flag.
No formatting problems, and nothing the rules object to. Worth remembering what that covers: this reads the file you pasted, not the account or cluster it will be applied to.
No finding matches that filter.
Real input you can load into the tool above. Each one shows a different thing going wrong, because that is what the tool is for.
Never expires, and is the credential type that leaks
AKIAIOSFODNN7EXAMPLE
Expires, and is useless without the session token
ASIAIOSFODNN7EXAMPLE
Not a credential at all, and the thing aws:userid matches on
AROAIOSFODNN7EXAMPLE
These are the ones that fail silently. The config is accepted, nothing raises an error, and the consequence arrives later.
Private repositories get cloned, forked and made public. A permanent key is compromised from the moment it is committed, and deleting the commit does not remove it from every clone.
Instead:Deactivate the key, check CloudTrail, then delete it. Treat it as used until you know otherwise.
It stops the access and also removes the ability to attribute what the key did while it was out.
Instead:Deactivate first, which is instant and reversible, then investigate, then delete.
They never expire, so somebody owns rotating them forever, and everything on EC2, ECS or Lambda already has a role that gives temporary credentials automatically.
Instead:Use the instance or task role. For CI, use an OIDC trust policy.
AWS assigns a four-letter prefix per resource type. AKIA is a permanent IAM user key, ASIA is a temporary STS session, and AROA or AIDA are not credentials at all.
It never expires. Every one is a permanent secret somebody has to rotate, and it is the credential type that ends up in git history, in CI variables and in screenshots. Automated scanners find them in public repositories within minutes of a push.
It comes from STS, it expires, and it is useless without the matching session token. An ASIA key id in a log is close to harmless; an AKIA one is an incident.
They appear in the aws:userid condition key and in CloudTrail. AROA is a role's unique id, which is how a policy can match a specific role regardless of its name, and renaming the role does not change it. That is precisely why it is used there.
Deactivating a leaked key is instant and reversible, and it stops the bleeding while CloudTrail is checked. Deleting first destroys the ability to correlate the key with what it did.
The characters after the prefix encode the account number, so a key id alone identifies which account it belongs to without any API call and without the secret. Useful when triaging a leak offline.
Whether the key is active, or what it can do. Only the id is read, in your browser. Never paste the secret access key anywhere, including here.