メインコンテンツまでスキップ

Takumi Guard の一括セットアップスクリプトが Packagist に対応

· 約5分
Yoshiaki Matsutomo
Software Engineer @ GMO Flatt Security Inc.

Takumi Guard の管理ツールによる一括セットアップで、npm・PyPI・RubyGems・Go モジュールに加えて Packagist(PHP の Composer)も各端末に一括設定できるようになりました。

概要

管理ツールによる一括セットアップ」は、Jamf、Intune、Ansible などの管理ツールを通じてセットアップスクリプトを配布し、開発者による個別操作なしに、各端末へ対応するパッケージマネージャーの設定を書き込む仕組みです。

これまで対応していたエコシステムは npm・PyPI・RubyGems・Go モジュールの 4 種類でした。今回のリリースで Packagist が 5 つ目として加わり、PHP プロジェクトでも他のエコシステムと同じ保護を、開発者の手を煩わせずに展開できます。

セットアップスクリプトは各端末の Composer に Takumi Guard をリポジトリとして登録し、公開 Packagist(packagist.org)を無効化します。これにより composer installcomposer update が Takumi Guard を経由し、既知の悪意あるパッケージがインストール前にブロックされます。設定は、composer が PATH 上にあれば公式の composer config で行い、見つからない場合は設定ファイルへ直接書き込むため、CLI が通らない MDM 環境でも保護を有効化できます。

利用方法

新しいセットアップスクリプト v0.10.0 は以下から取得できます。

手順は以下の通りです。Bot および API キーをすでにお持ちの場合は、ステップ 3 から始めてください。

  1. Takumi / Shisho Cloud コンソール(設定 > ボット)で Bot を作成し、「Takumi Guard トークン発行者」ロールを付与してください
  2. Bot の API キーを生成してください
  3. 上記の URL からセットアップスクリプト v0.10.0 をダウンロードしてください
  4. お使いの管理ツール(Jamf、Intune、Ansible など)でラッパースクリプトを作成し、対象端末へ配信してください

既定では npm・PyPI・RubyGems・Go モジュール・Packagist のすべてが設定されます。Packagist だけを対象にしたい場合は、スコープ引数に packagist を指定してください。詳しい手順や最新のラッパースクリプト例は管理ツールによる一括セットアップガイドを参照してください。

なお、開発者が個人のローカル環境や CI で Composer を設定する場合は、Packagist クイックスタートが便利です。

すでに一括セットアップで導入済みの場合

サンプルとして提供しているラッパースクリプトが更新されている可能性があります。必要に応じて、セットアップスクリプトとラッパースクリプトの両方を最新版へ更新してください。

有料機能

この機能を利用するには、Guard を有効化した Takumi サブスクリプションが必要です。詳しくは料金と請求を参照してください。

組織向け機能を利用する

Takumi Guard の組織向け機能(一括セットアップ、インストールログの検索など)を利用するには、Takumi サブスクリプションの契約と Guard の有効化が必要です。

  1. https://cloud.shisho.dev/hello/takumi にアクセスし、サインインしてください
  2. 組織を登録し、Takumi サブスクリプションを契約してください
  3. 画面左のサイドバーから Guard > 設定 にアクセスしてください
  4. 「有効化する」ボタンをクリックして Guard を有効化してください

Guard 設定画面

有効化が完了したら、管理ツールによる一括セットアップガイドに従ってセットアップを進めてください。