問題
EC2インスタンス作成時Nameタグ付けを強制するSCPを実装した後、NameタグをつけずにEC2インスタンスを作成したら下のようなエラーメッセージが表示されました。
(デーコードしたら解釈できるため一部のメッセージは隠しています。)
このままだと、どういうエラーが発生したのかわかりにくいためデーコードしないといけないですね。
解決(AWS STSを利用)
AWS CLIを開き、AWS STSのdecode-authorization-message APIを使ってエンコーディングされているメッセージをデーコードします。
$ aws sts decode-authorization-message --encoded-message "デーコードしたいテキスト"
実行すると、デーコードされたテキストが確認できます。
DenyActionsWithNoNameTagというSCPによってRunInstances ActionがDenyされ、結果としてはNameタグをつけてない新規EC2インスタンスの作成が拒否されたことがわかります。
疑問
やはり一時的なデーコードではなく、ユーザー側でエラーメッセージを理解しやすくするために最初からデーコードされているテキストを表示させたいですね。
常にデーコードされているメッセージを表示する方法は現在調査中で、やり方を見つかり次第記事をアップデートします。アドバイス頂ける方は是非コメントお願いいたします!