AWS 에서 Management Console 이용하여 여러가지 작업을 하다보면 경우에 따라 다양한 Error 를 접하실 수 있을텐데요. 오늘은 그 중에서 권한이 없는 작업을 요청하였을 경우에 발생할 수 있는 “Encoded Authorization failure Message” 를 Decoding 하는 방법에 대해 살펴보려고 합니다.
아래 화면은 제가 VPC 에 10.20.0.0/16 CIDR Block 을 기존에 사용하던 VPC 에 추가로 연결하려던 과정에서 발생한 Error Message 입니다. 아래 메시지만을 봐서는 Authorization Failure 말고 다른 정보를 확인하기가 어려운데요. 왜냐하면 화면에 나와 있는 것처럼 Error 와 관련한 자세한 사항이 Encoding 되어 있기 때문입니다.
이러한 Encoding 되어 있는 Error Message 를 확인하기 위해서는 AWS 에서 제공하는 AWS CLI 를 사용하셔야 합니다. Error Message Decoding 을 위한 AWS CLI 는 아주 간단합니다.
아래와 같은 명령어를 사용하시면 간단하게 Decoding 을 하실 수 있습니다.
aws sts decode-authorization-message --encoded-message "인코딩되어 있는 Error Message"
위 화면에 캡쳐되어 있는 Encoded Error Message 를 AWS CLI 를 이용하여 Decode 해보면 Management Console 작업 과정에서 제가 요청한 CIDR Block 추가 API 를 차단한 IAM 정책에 대한 정보가 포함되어 있는 것을 확인하실 수 있습니다.
이렇게 AWS CLI 를 이용하시면 Encoding 되어 있는 Error Message 의 내용을 손쉽게 Decoding 하여 확인하실 수 있는데요. 한가지 유의하실 사항은 Encoding 된 Error Message 는 Error 가 발생한 계정내에서만 Decoding 이 가능하다는 것입니다.
예를 들어, 아래처럼 다른 계정에 포함되어 있는 사용자의 권한을 이용하여 Decoding 을 시도하면 Error 와 함께 Decoding 이 실패하는 것을 알 수 있습니다.
감사합니다.