LoginSignup
2
0

社内のログオンユーザが利用している「chrome拡張機能」の一覧を一斉に取得する

Posted at

Why|なぜやるのか?

  • 「Google Chrome拡張機能」の社内利用について、どのように管理されていますでしょうか?
    • ソフトウェアとは異なり、インストール時に「管理者権限」が要求されるわけではない
    • 「Chrome ウェブストア」上で提供されているため、Googleによる最低限の審査?管理?が行われている
    • と同時に、「個人情報取得→漏洩のリスク」「悪意のある拡張機能の存在」は考慮する必要がある
  • 上記の理由から、部門横断で業務効率化に寄与する拡張機能を「ホワイトリスト」として一覧化することとしました
  • 「ホワイトリスト」に掲載されている拡張機能はユーザが自由にインストール可能とし、非掲載の拡張機能をインストールする場合には「SlackにてIT管理部門へ一声かけてもらう」という運用です

How|どうやってやるのか?

  1. 「Chrome拡張機能が保存されているユーザフォルダ」に対して、ファイル名を出力するバッチファイルを作成します
  2. グループポリシーにて「ログオフ」タイミングでスクリプトを実行させるよう設定し、ユーザごとに結果が出力されるようにします
  3. ユーザごとの出力結果をコマンドで1ファイルにマージし、重複を削除することで、社内ユーザが利用している拡張機能一覧を作成します
  4. 拡張機能一覧(ユーザ利用の全種)から、IDを基に「Chromeウェブストア」で検索して機能を確認し、「ホワイトリスト」を作成します

What|なにをやるのか?

作成したスクリプト(バッチファイル)

getChromeExtensions.bat
@echo off
chcp 65001
REM ************************************************
REM ログオンユーザのChromeの拡張機能一覧を取得
REM ************************************************

set yyyymmdd=%DATE:/=%

pushd \\hoge\fuga\スクリプト出力先

dir /b /a:d %USERPROFILE%\AppData\Local\Google\Chrome\"User Data"\Default\Extensions > %USERNAME%_%yyyymmdd%.txt

スクリプトの解説

  • dir /bで「ファイル名のみ」を表示させます
  • dir /a:dで「ファイルのみ(フォルダ以外)」を表示させます
  • Windowsの場合、Chromeの拡張機能の保存場所はC:\Users\<ユーザー名>\AppData\Local\Google\Chrome\User Data\Default\Extensionsフォルダ内です
  • 実行日付をsetし、usernameとともに出力ファイル名として、テキストファイルを作成する
  • pushedに成果物の出力先のパスを指定します

グループポリシーの設定

ユーザの「ログオフ」時に、指定のバッチファイルを実行させる設定を行います

  1. グループポリシーの作成
  2. グループポリシーの「ログオフ プロパティ」へスクリプトを配置する
  3. 取得対象の全ユーザが含まれる「OU(Organizational Unit)」にポリシーをリンクする
    image.png
  • PCの「スタートアップ」「シャットダウン」をトリガーにしたい場合
    • PC側のオブジェクトにGPOを追加する
  • ユーザの「ログイン」「ログオフ」をトリガーしたい場合
    • ユーザ側のオブジェクトにGPOを追加する
  • その他、上手く動作していない場合のチェックポイントには下記を参照しました

ユーザごとの出力結果を集計し「拡張機能一覧」を作成

出力結果は、下記のようなテキストファイルになっています

%USERNAME%_%yyyymmdd%.txt
abcdefghijklmnopqrstuvwxyzabcdef
bcdefghijklmnopqrstuvwxyzabcdefg
cdefghijklmnopqrstuvwxyzabcdefgh
defghijklmnopqrstuvwxyzabcdefghi
efghijklmnopqrstuvwxyzabcdefghij

出力結果のあるフォルダにて下記のコマンドを実行し、ユーザごとの出力結果を1ファイルに纏めます

copy *.txt all¥merge.txt

上記統合ファイルの中身を、Excelやスプレッドシート上で「重複削除」することで、ユーザがインストールしている「拡張機能のID一覧」を作成します

社内的「ホワイトリスト」の作成

今回のバッチファイルではChrome拡張機能のIDを取得しています

アナログにはなりますが、「Chromeウェブストア」で「ID」を検索し、「拡張機能名」と「機能の概要」を把握します

image.png

あとは「機能」や「使い勝手」を基に、IT管理部門にて全社的に活用できるものを判断して、「社内ホワイトリスト」に記載します

初回のリスト作成時点で掲載した拡張機能の一例です

なお、取得したIDのうち「約25%」はChromeウェブストアで検索結果が出ませんでした。拡張機能ではなくテーマのIDだったりしたのでしょうか?

(補足)「Chrome Stats」を使った拡張機能の簡易リスクチェック

インストールする拡張機能を検索すると、当該拡張機能の「基本情報」と「リスクインパクト」を確認できます
image.png

  • Risk欄に赤字で「Very high risk impact 」の記載があったら、要確認です
    • 本当に業務に必要かどうかを改めて確認する
    • 発行元を確認して、完全に信頼できる発行元でない場合は利用を控える
      image.png

以上です

参考サイト

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0