KMS 권한을 통제하는 세 가지 메커니즘은 키 정책(필수, 영구), IAM 정책(위임 시), 그리고 오늘의 주제인 **grant(임시·세밀)**다. 어제까지는 데이터가 어떻게 암호화되는지를 봤다면, 오늘은 "누가, 어떤 조건에서, 얼마 동안 키를 쓸 수 있는가"라는 접근 거버넌스를 다룬다. SCS-C03는 교차계정 키 공유, kms:ViaService 조건, grant의 동작을 매우 자주 출제한다.
이 주제가 시험에서 유난히 무겁게 다뤄지는 이유가 있다. 암호화 알고리즘은 표준이고 KMS의 HSM은 이미 검증됐다. 실제 사고는 "AES가 뚫려서"가 아니라 "권한이 있는 주체가 권한을 넘어 썼기 때문에" 일어난다. 즉 KMS 보안의 실질은 암호학이 아니라 접근 제어이고, 오늘 다루는 네 가지 표면 — 키 정책, IAM 위임, grant, 조건 키 — 이 그 전부다.
다른 AWS 리소스는 IAM 정책만으로 접근할 수 있다. S3 버킷은 버킷 정책이 없어도 같은 계정 IAM이 허용하면 읽힌다. KMS는 다르다. 모든 KMS 키에는 키 정책이 반드시 하나 붙어 있고, 키 정책이 허용하지 않으면 IAM이 무엇을 허용하든 소용이 없다. KMS 키는 "리소스 소유자가 먼저 문을 열어야 하는" 모델이다.
콘솔에서 키를 만들면 자동으로 붙는 기본 키 정책은 딱 한 문장이다.