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