AWS Peacock Management Consoleの機能を拡張してショートカットリンクをワンクリックで取得できるように。
-
AWS IAM Identity Centerを利用しているユーザがconfigにサブドメインを設定しておくことで開いているAWSリソースのshortcut linkをピン留めした拡張iconをワンクリックすることで取得できるように機能拡張してみました。
背景
AWSのリソースのURLは、対象のAWSアカウント情報を含んでいないため、共有されたURLを開こうとして、別のアカウントのリソースだということが頻発します。
AWS IAM Identity Centerを利用しているユーザはショートカットリンク作成機能を使うことでアカウント(+閲覧ロールなど)を指定したURLを発行できるので、社内ドキュメントにAWSリソースへのリンクや、障害時に怪しいリソースのURLを共有する時に便利です。
ただ、わざわざアクセスポータル画面に遷移してショートカットリンクを生成するのが面倒なため、ワンクリックでショートカットリンクを生成しクリップボードにコピーできるようにAWS Peacock Management Consoleを拡張してみました。
(AWS Peacock Management Consoleを拡張したのはAWSをマルチアカウントで利用のユースケースが近いのとAWSアカウントを取得する処理とかを使いまわせることができるかなと思ったので。。。)
- ※ショートカットリンク作成機能の紹介についてはクラスメソッドさんのこちらの記事がわかりやすかったです。
ショートカットリンクのコピー
拡張をピン留めした上で、ショートカットリンクを取得したいページでピン留めした拡張機能のiconをクリックすることでショートカットリンクがクリップボードにコピーされます。
(configにてidentityCenterのサブドメインを設定する必要あり)
Config
本家のAWS Peacock Management Consoleからconfigの書き方も拡張しました。
以下の形式でAWS Access Portalのサブドメインを設定してあげることで機能を使えるようになっています。
例:https://d-xxxxxxx.awsapps.com/start/#/?tab=accounts
のd-xxxxxxx
{
// AWS access portal:
// https://{{my_subdomain}}.awsapps.com/start/#/?tab=accounts
"identityCenter" : "my_subdomain",
"configs" : [
{
"env": {
"account": "111111111111"
},
"style": {
"navigationBackgroundColor": "#65c89b",
"accountMenuButtonBackgroundColor": "#945bc4"
}
}
]
}
最後に
利用されたいかたは、各自の責任でレポジトリをcloneの上、chromeの開発者モードをオンにした上でご利用していただいたらと思います。
拡張として公開するよりも時間があれば本家のレポジトリにPRを出したいとは思ってますが、一旦自分が使えたらいいやぐらいの気持ちなので時間がある時にやろうかと思います。。