AWS IAM Switch Roleのリストを増やすChrome Extensionを作った

AWS Management Console において、AWSアカウントから他のAWSアカウントにスイッチロールできますが、これの最近の履歴が5つまでしか表示されない。あくまでも最近使ったものという位置付けなんだと思います。 某仕事上、1つのアカウントから多数の他のアカウントに Switch Role にせざる得ないので専用の URL をブックマークしていました。しかし、これでも毎回補完された入力フォームが挟まれて怠い(このページ遷移が結構かかります)。 このような理由で、Switch Role の履歴(リスト)を拡張する Chrome Extension を作りました。Chrome Web Store で公開しているので簡単にインストールできます。 chrome.google.com 特徴 Switch Role の履歴に設定に定義されたプロファイル(アカウント)の分が項目増えるリスト拡張される。 リストには <プロファイル名> | <AWSアカウントID> と AWSアカウントID がわかりやすくなる。 色指定ができる(固定色ではない)。 スイッチロール後に黒いヘッダーの下部に指定色のバーが表示されてより現在のプロファイルが識別しやすくなる。 Chrome Sync (端末間) で設定は共有されます。 設定 ブラウザの URL バー右に並ぶ拡張のアイコンをクリックして、ポップアップしたテキストエリアに CLIで同様の設定となる ~/aws/config ファイルと同様のフォーマットで定義して保存するだけです。色指定 (例.color = ffcc99) も CSS ライク(先頭 # なし)で指定できます。GitHubの README を詳しくは参照ください。 GitHub - tilfin/aws-extend-switch-roles: Extend your AWS IAM switching roles by Chrome extension

2016年8月9日 · Toshimitsu Takahashi

Chrome 拡張のリッチ通知で外部サイトのイメージを表示するには

最新の Windows (ChromeOS も) 版 Chrome で webkitNotifications.createHTMLNotification メソッドが非対応になってしまった。 代わりにリッチ通知という、いくつかのテンプレートに従って表現できるデスクトップ通知が追加された。 Google Chrome 28提供開始。リッチ通知に対応(Windows)、Blinkエンジン採用 - Engadget Japanese 「Google Chrome 28」の安定版リリース Blink採用と「リッチ通知」機能(Windowsのみ) - ITmedia ニュース ただ、このリッチ通知、CSP が厳しくなってしまい、外部サイトのイメージを簡単に表示できなくなった。回避するには、Ajax で取得してローカルに保存してパスを渡すか、data URI で指定する必要がある。 ここでは後者の方法で実装した例をメモしておく。HTML5 ではその辺を Blob オブジェクトによってわりと簡単に実装できる。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var notOpt = { type: "basic", title: "タイトル", message: "メッセージ" }; var xhr = new XMLHttpRequest(); xhr.open("GET", "<イメージURL>"); xhr.responseType = "blob"; xhr.onload = function(){ var blob = this.response; notOpt.iconUrl = window.URL.createObjectURL(blob); chrome.notifications.create("", notOpt, function(notId){}); }; xhr.send(null); 画像を responseType を blob として XMLHttpRequest で取得すると、レスポンス自体が既に Blob オブジェクトになっている。 あとは、createObjectURL で data URI 化して渡してあげれば良い。

2013年8月2日 · Toshimitsu Takahashi

Chrome Extension の createHTMLNotification メソッドでデータを渡してフレキシブルに内容を構成するには

Chrome拡張でデスクトップ通知の実装時に、HTMLを使うときデータを簡単に渡す方法について。 Desktop Notifications chrome.notifications - Google Chrome を見ると、通常のタイトル、イメージ、テキストの三つを渡して表示する通知と、HTMLで自由に組める通知がある。 1 2 3 4 5 6 // Create a simple text notification: var notification = webkitNotifications.createNotification( '48.png', // icon url - can be relative 'Hello!', // notification title 'Lorem ipsum...' // notification body text ); このように前者の通知は引数でデータを渡せるが、後者では HTML ファイル名を指定するだけになっている。 1 2 3 4 // Or create an HTML notification: var notification = webkitNotifications.createHTMLNotification( 'notification.html' // html url - can be relative ); これで内容を可変にしたいときは、例として ...

2013年2月20日 · Toshimitsu Takahashi