AWSのエンコードされたエラーメッセージをデコードして読みやすくするメモ
毎度調べてるので、自分のためのメモ
エンコードされたAPIエラー
コンソールやCLIでの操作時やCloudTrailなんかで見かけるこいつ。
"errorMessage": "You are not authorized to perform this operation. Encoded authorization failure message: むにゃむにゃむにゃ",
どうしてエンコードしちゃうのさ
余計なことを・・・!と思っていた時期が私にもありました。
ドキュメントに書いてあった
https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html
The message is encoded because the details of the authorization status can contain privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions through an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.
オペレーションをリクエストしたユーザーが見るべきではない特権情報が含まれている可能性があるから、ってことですね。
具体的にどんなシチュエーションなのかは思いつかないけど、気を遣ってもらってると捉えておきます。
CloudShellでやってみる
aws cliはもちろんjqも入ってたので話が早いです。
$ aws sts decode-authorization-message --encoded-message デコードしたい文字列 | jq .DecodedMessage --raw-output | jq .
感想
いまのところCloudShellって、こういう本当にちょっとした時に一番使い道を感じますね。
参考
https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-not-auth-launch/
https://qiita.com/YumaInaura/items/153b7f80c00fa199a0a8
Author And Source
この問題について(AWSのエンコードされたエラーメッセージをデコードして読みやすくするメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/chr_shiro_04/items/0e4dac730881a54500fe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .