AWSマネジメントコンソールのスイッチロールの履歴をEditThisCookieで編集/個別削除する

2021.07.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、CX事業本部の若槻です。

以前のエントリで、AWSマネジメントコンソールのスイッチロールの履歴を一括削除する方法を紹介しました。

今回は、Google Chrome拡張EditThisCookieを使用して、スイッチロールの履歴を編集および個別削除してみました。

やってみた

EditThisCookieは、WebサイトのCookieを管理することが出来るGoogle Chrome拡張です。

Chromeにインストールするとクッキーのアイコンで拡張が追加されます。AWSマネジメントコンソールのページを開いた状態でアイコンをクリックします。

すると開いているAWSマネジメントコンソールのホストのCookie一覧が取得できます。

スイッチロールの履歴が管理されているCookienoflush_awsc-roleInfoの項目を展開し、URIエンコードされた値をコピーします。

あとはこの値を編集して再設定すれば良いのですが、URIエンコードされたままだと編集しづらいので、下記のVS Code拡張Encode Decodeをインストールして使用し、Vs Code上でデコードして編集してみます。

(ここからキャプチャ画像のVS Codeのテーマがコロコロ変わりますが、そういう拡張を入れているだけなので気にしないで下さい。)

Encode Decodeによるデコード方法は、まず先ほど取得したCookieの値をVS Codeで開いた適当なファイルにペーストします。

ペーストした値をすべて選択状態とし、コマンドパレットで[Convert Selection]をクリックします。

続けて[Encode Uri to String]をクリックします。

すると値がURIデコードされます。

URIデコード後の値を整形すると下記のようになります。

{
  "bn": "cm-wakatsuki.ryuta"
  "ba": "000011112222",
  "rl": [
    {
      "a": "333344445555",
      "r": "cm-wakatsuki.ryuta",
      "d": "cm-wakatsuki.ryuta",
      "c": "F2B0A9"
    },
    {
      "a": "666677778888",
      "r": "cm-wakatsuki.ryuta",
      "d": "PROJECT 1",
      "c": "99BCE3"
    }
  ]
}

キー名はデータ内容をそれぞれ下記のように表しています。rl配下の各JSONデータが一つ一つのロール履歴を表しています。

キー名 データ
bn Base Name
ba Base Account
rl Role List
a Account
r Role Name
d Display Name
c Color

ロール履歴を個別削除したい場合は、rl配下の該当のJSONを削除します。ロール履歴の表示色を変更したい場合は、該当のJSONのcの値を変更します。

表示色を自由に指定できるということは、コンソール画面でロールの切り替えを行う時に指定する既定の選択色以外の色も使えるということです。

変更した値を全選択し、次はコマンドパレットで[Convert Selection > String to Encode Uri]をクリックし、値をURIエンコードし直します。

これをEditThisCookieでnoflush_awsc-roleInfoの値として設定し、チェックマークをクリックして保存します。(ここでURIエンコードしていない値を設定すると、一瞬正常に設定できたように見えますが、設定後の初回スイッチロール後にほかのロール履歴が消えるなど不安定な動きとなります。)

AWSマネジメントコンソールのページを更新してメニューを開くとロール履歴が更新されています。

以上