Imported key material (EXTERNAL)
often confused with AWS-generated key material (AWS_KMS)Key material you generate in your own system and import into a KMS key created with Origin=EXTERNAL. KMS uses a copy; you keep the original and stay responsible for it.
- Create a KMS key with no material (
--origin EXTERNAL). - Download a wrapping public key and import token, wrap your material, import it.
- Optionally set an expiration; KMS deletes the material when it expires.
- Use the key normally: services and APIs can't tell the difference.
| Imported (EXTERNAL) | AWS-generated (AWS_KMS) | |
|---|---|---|
| Who generates | You (your HSM / entropy source) | KMS HSMs |
| Durability | You must keep a copy | AWS (highly durable) |
| Delete instantly | Yes: delete material (reimport later) | No: 7–30 day scheduled deletion |
| Expiration date | Optional | Not available |
| Automatic rotation | No (on-demand rotation yes, single-Region symmetric keys only) | Yes, 90–2560 days |
| Decrypt outside AWS | No for symmetric ciphertext | No |
- Thinking imported material is “more secure”. It's about control and provenance, not strength.
- Losing your copy: if the material expires or is deleted and you have no copy, the data is gone.
- Expecting to decrypt KMS ciphertext outside AWS with your copy of symmetric material. KMS ciphertext format doesn't allow it.
- Choosing imported material when the requirement is “keys must never be stored in AWS” (that's XKS).
- Prove the key came from an approved entropy source.
- Instant revocation by deleting material, with the option to restore.
- Same asymmetric/HMAC keys inside and outside AWS.