AWS KMS에서 지역별 CMK 권한 부여 및 보안 주체를 나열하려면 어떻게 해야 합니까?
최종 업데이트 날짜: 2020년 9월 10일
AWS 지역별로 AWS Key Management Service(AWS KMS) 계정의 CMK(고객 마스터 키) 권한 부여 및 보안 주체를 나열하려고 합니다.
해결 방법
AWS CLI(AWS Command Line Interface) 또는 AWS SDK를 사용해 CMK가 가진 권한 수와 보안 주체를 검색할 수 있습니다. AWS CLI 정책 권한을 설치 및 구성하여 list-keys 및 list-grants를 수행합니다.
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.
다음 명령을 실행하여 CMK와 권한을 나열합니다.
참고: enter your region은 AWS 리전으로 바꿉니다.
aws kms list-keys --region enter your region
aws kms list-grants --region enter your region --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
특정 AWS 지역에 대한 모든 CMK를 쿼리하려면 다음 명령을 실행합니다.
for key in $(aws kms list-keys --region enter your region --query 'Keys[].KeyId' --output text);do aws kms list-grants --region <enter your region> --key-id $key; done
참고: 이 예제에서는 내장된 AWS CLI--query option을 사용해 출력 요소를 필터링합니다.
다음 명령을 실행하여 각 보안 주체가 KMS 키에 대해 보유하는 권한 부여 수를 나열합니다.
aws kms list-grants --region enter your region --key-id 1234abcd-12ab-34cd-56ef-1234567890ab | jq '.Grants[].GranteePrincipal' -r | sort | uniq -c;
참고: 이 명령을 실행하려면 jq가 설치되어 있어야 합니다. jq 설치에 대한 지침은 JSON 출력 형식을 참조하세요.