Rexact
Cheatsheet

Regex AWS access key ID (AKIA…)

An AWS access key ID starts with a 4-letter prefix that tells the resource type: AKIA for an access key, ASIA for a temporary STS key, ABIA for an STS bearer token, ACCA for a context-specific credential (IAM guide). The documentation examples (AKIAIOSFODNN7EXAMPLE) are 20 uppercase letters or digits. The IAM API reference only sets 16 to 128 characters matching [\w]+: the 16-character suffix comes from the examples and from detection tools. The four tools I read disagree: one restricts the suffix to A-Z and 2-7 and rejects two official examples ('AKIAI44QH8DHBEXAMPLE'), another omits ASIA, a third accepts IAM unique IDs (AIDA, AGPA…) which are not keys. Here's an anchored pattern on the four documented prefixes, compared against those tools. It covers the key ID, not the matching secret access key.

/^(?:AKIA|ASIA|ABIA|ACCA)[A-Z0-9]{16}$/
passes 23/23 cases

Comparison of existing patterns

Implementation

const re = new RegExp("^(?:AKIA|ASIA|ABIA|ACCA)[A-Z0-9]{16}$", "");
re.test(input);

Limits

  • Valide seulement la FORME : ne prouve pas que la clé existe, qu'elle est active ni à quel compte elle appartient. La clé secrète associée (40 caractères en base64) est un autre secret, non couvert ici.
  • AWS ne documente que le préfixe et une longueur de 16 à 128 caractères ([\w]+) : le suffixe de 16 caractères A-Z0-9 est une convention observée dans les exemples de la documentation et les outils de détection, pas une règle publiée. Des clés plus longues, si elles existent, sont rejetées.
  • Le préfixe A3T (accepté par gitleaks, detect-secrets et git-secrets) n'apparaît pas dans le guide IAM : il est rejeté ici. Les identifiants IAM (AIDA, AROA, AGPA, ANPA…) sont des identifiants de ressources, pas des clés d'accès : ils sont rejetés aussi.
  • Motif de validation d'une chaîne isolée (ancré). Pour détecter des clés dans du texte ou du code, retirez les ancres et entourez de \b ; une clé d'exemple de la documentation (…EXAMPLE) est une clé factice, jamais un secret.

Related pages