メインコンテンツにスキップ

Comet for Enterpriseのインストール(macOS)

macOS環境でCometを大規模にインストールするためのガイド

対応者:Emilio Morales

このガイドは、Cometを大規模にインストールする必要がある組織を対象としています。 個別のCometインストーラーをお探しの場合は、 こちらをご覧ください。

このガイドでは、macOSシステムでモバイルデバイス管理(MDM)ソリューションを使用して、組織全体にCometブラウザを展開する方法について説明します。

前提条件

MDMを使用してComet for Enterpriseをインストールするには、次のものが必要です。

  • MDMソリューション(Jamf Pro、Intune、Kandji、Mosyle、Workspace ONEなど)

  • perplexity.ai/account/org/cometで組織のComet設定にアクセス

  • 組織トークン(Cometの設定ページから入手可能)

概要

Macポリシーは、MDMソリューションを介して 構成プロファイル.mobileconfig ファイル)を使用して展開されます。 これらのプロファイルは、 ai.perplexity.comet ペイロードタイプを使用して、Comet設定を構成します。

はじめに

まず、Cometインストーラーをダウンロードし、 perplexity.ai/account/org/cometから組織トークンを取得する必要があります。

Comet for Enterprise のインストーラーは現在、macOS のディスクイメージ(.dmg)として提供されています。

Cometの一括展開

Jamf Proなどのツールを使用した一括展開の場合:

  1. .dmg ファイルをMDMソリューションにアップロードします

  2. DMGをマウントし、 Comet アプリを /Applicationsにコピーし、DMGをアンマウントするスクリプトを準備します

  3. このスクリプトは、インストール後のタスクの一部にすることも、パッケージに含めることもできます

  4. インストール後のスクリプトを使用して、次のことを行います。

    • アプリのコピーを処理する

    • 権限を設定する

    • 必要に応じてCometをデフォルトのブラウザにする

    • 初回実行設定を構成する(必要に応じてplist操作を介して)

Jamf Proのデプロイ

Jamf Proでは、カスタムアプリケーション設定を2つの方法で展開・管理できます。

  • plist コンテンツ のみを使用します(完全な mobileconfig ラッパーなし)。Jamf が適切な構成プロファイルへのラッピングを処理します。

  • カスタムのJSONスキーマを使用して、ポリシー管理にUIベースのアプローチを提供します(Jamf固有)。

plistの使用

ステップ1:構成プロファイルを作成する

  1. コンピューター構成プロファイル新規に移動します

  2. 表示名を入力します(例:「Cometポリシー」)

  3. アプリケーション & カスタム設定外部アプリケーションを選択します

  4. アップロードを選択

ステップ2:環境設定ドメインを構成する

  1. 環境設定ドメインai.perplexity.comet

  2. 下記の例からplistの内容を貼り付けてください

ステップ3:スコープを設定して展開する

  1. スコープ タブに移動します

  2. ターゲットのコンピューターまたはグループを追加します

  3. 保存をクリックします

ブラウザポリシーを設定する前に、まずデバイスを組織に登録する必要があります。 これにより、各Cometインストールがエンタープライズアカウントに関連付けられ、一元管理が可能になります。

perplexity.ai/account/org/comet から組織トークンを取得し、次のplistを展開します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CloudManagementEnrollmentToken</key>
<string>YOUR-ORG-TOKEN-HERE</string>
</dict>
</plist>

デバイスが登録されると、追加の構成プロファイルを展開してブラウザポリシーを適用できます。 以下の例を参照してください。

例:拡張機能のブロック

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ExtensionInstallBlocklist</key>
<array>
<!-- Metamask -->
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
</dict>
</plist>

例:URLをブロックする

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
<string>*.competitor.com</string>
</array>
</dict>
</plist>

例:複数のポリシー

複数のポリシーを1つのplistにまとめる:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ExtensionInstallBlocklist</key>
<array>
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
</array>
</dict>
</plist>

UIベースのアプローチにJamfカスタムスキーマを使用する

ステップ1:構成プロファイルを作成する

  1. コンピューター構成プロファイル新規に移動します

  2. 表示名を入力します(例:「Cometポリシー」)

  3. アプリケーション & カスタム設定外部アプリケーションを選択します

  4. 追加を選択します

ステップ2:環境設定ドメインを構成する

  1. 環境設定ドメインai.perplexity.comet

  2. スキーマの追加を選択します。

  3. JSONスキーマを貼り付けて、以下の例から構成可能なプロパティを入力します。

ステップ3:スコープを設定して展開する

  1. スコープ タブに移動します

  2. ターゲットのコンピューターまたはグループを追加します

  3. 保存をクリックします

例:ホームページと起動設定

{
"title": "Perplexity Comet – ホームページと起動",
"description": "ホームページ、起動時の動作、新しいタブの設定を管理します。",
"properties": {
"HomepageLocation": {
"title": "ホームページの場所",
"description": "ホームボタンを押したときに読み込まれるホームページのURL。",
"type": "string",
"property_order": 10
},
"HomepageIsNewTabPage": {
"title": "ホームページは新しいタブページです",
"description": "trueの場合、ホームページはカスタムURLではなく新しいタブページになります。",
"type": "boolean",
"property_order": 20
},
"ShowHomeButton": {
"title": "ホームボタンを表示",
"description": "ツールバーのホームボタンを表示または非表示にします。",
"type": "boolean",
"property_order": 30
},
"RestoreOnStartup": {
"title": "起動時の復元",
"description": "起動時に表示するページを設定します。",
"type": "integer",
"enum": [0, 1, 4],
"options": {
"enum_titles": [
"0 – 新しいタブページを開く",
"1 – 最後のセッションを復元",
"4 – URLのリストを開く"
]
},
"property_order": 40
},
"RestoreOnStartupURLs": {
"title": "起動時の復元URL",
"description": "RestoreOnStartupが4に設定されている場合に起動時に開くURLのリスト。",
"type": "array",
"items": {
"type": "string"
},
"property_order": 50
},
"NewTabPageLocation": {
"title": "新しいタブページの場所",
"description": "デフォルトの代わりに新しいタブページに使用するカスタムURL。",
"type": "string",
"property_order": 60
},
"ManagedBookmarks": {
"title": "管理ブックマーク",
"description": "ポリシーで管理される必須ブックマークのセットを定義する JSON 形式の構造。",
"type": "array",
"items": {
"type": "string"
},
"property_order": 70
},
"BookmarkBarEnabled": {
"title": "ブックマークバーを有効にする",
"description": "デフォルトでブックマークバーを表示または非表示にします。",
"type": "boolean",
"property_order": 80
},
"DefaultBrowserSettingEnabled": {
"title": "デフォルトブラウザ設定を有効にする",
"description": "ブラウザをシステムのデフォルトとして設定できるかどうかを制御します。",
"type": "boolean",
"property_order": 90
},
"BlockExternalExtensions": {
"title": "外部拡張機能をブロック",
"description": "trueに設定すると、ブラウザ外でインストールされた拡張機能をブロックします。",
"type": "boolean",
"property_order": 100
}
},
"required": []
}

例:拡張機能の強制インストール(例:1Password、Okta Verify)

{
"title": "Perplexity Comet – 1PasswordとOktaの拡張機能",
"description": "Cometで1PasswordとOktaの拡張機能の強制インストールを切り替えます。",
"properties": {
"ForceInstall_1Password": {
"title": "1Passwordのインストールを強制する",
"description": "有効にすると、Cometは1Passwordのブラウザ拡張機能を強制的にインストールします。",
"type": "boolean",
"default": false,
"property_order": 10
},
"ForceInstall_OktaPlugin": {
"title": "Oktaブラウザプラグインの強制インストール",
"description": "有効にすると、Cometは以下で定義されたOktaブラウザプラグインを強制的にインストールします。",
"type": "boolean",
"default": false,
"property_order": 20
},
"OktaPluginExtensionId": {
"title": "Oktaブラウザプラグイン拡張機能ID",
"description": "OktaブラウザプラグインのChromeウェブストア拡張機能ID(例:ウェブストアのURLから取得)。",
"type": "string",
"default": "",
"property_order": 30
},
"ExtensionInstallForcelist": {
"title": "追加の強制インストール拡張機能(詳細設定)",
"description": "オプション:extension_id形式の追加エントリ;<https://clients2.google.com/service/update2/crx>. Rows here are in addition to 1Password/Okta switches above.",
"type": "array",
"items": {
"type": "string",
"title": "Extension ID and update URL",
"default": "extension_id;<https://clients2.google.com/service/update2/crx>"
},
"property_order": 40
},
"_info": {
"title": "Info",
"description": "Jamf will write a prefs key named ExtensionInstallForcelist. Enable the switches above to add 1Password and/or Okta automatically; use the array only for extra extensions.",
"type": "string",
"options": {
"inputAttributes": {
"readonly": true
}
},
"property_order": 50
}
},
"required": []
}

汎用MDMの展開

Kandji、Mosyle、Fleet、SimpleMDMなど、完全な .mobileconfig ファイルを必要とするMDMソリューションの場合は、以下の完全な構成プロファイル形式を使用してください。

展開手順:

  1. サンプルテンプレートをコピーし、ニーズに合わせてカスタマイズします

  2. PayloadUUID フィールドの一意のUUIDを生成します(ターミナルで uuidgen を使用します)

  3. .mobileconfig ファイルとして保存します

  4. カスタム構成プロファイルとしてMDMにアップロードします

  5. ターゲットデバイスまたはグループに割り当てます

ブラウザポリシーを設定する前に、まずデバイスを組織に登録する必要があります。 これにより、各Cometインストールがエンタープライズアカウントに関連付けられ、一元管理が可能になります。

CloudManagementEnrollmentTokenを含む構成プロファイルを展開します。 perplexity.ai/account/org/cometから組織トークンを取得します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>A1B2C3D4-E5F6-7890-ABCD-EF1234567890</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>CloudManagementEnrollmentToken</key>
<string>YOUR-ORG-TOKEN-HERE</string>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - Organization Enrollment</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.org-enrollment</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>B2C3D4E5-F6A7-8901-BCDE-F23456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

デバイスが登録されると、追加の構成プロファイルを展開してブラウザポリシーを適用できます。 以下の例を参照してください。

例:拡張機能のブロック

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>Comet Extension Blocklist Policy</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>12345678-1234-1234-1234-123456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>ExtensionInstallBlocklist</key>
<array>
<!-- Metamask -->
<string>nkbihfbeogaeaoehlefnkodbefgpgknn</string>
</array>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - Extension Blocklist</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.extension.blocklist</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>87654321-4321-4321-4321-210987654321</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>

例:URLをブロックする

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadDisplayName</key>
<string>Comet URL Blocklist Policy</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet</string>
<key>PayloadType</key>
<string>ai.perplexity.comet</string>
<key>PayloadUUID</key>
<string>12345678-1234-1234-1234-123456789012</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>URLBlocklist</key>
<array>
<string>chatgpt.com</string>
<string>*.competitor.com</string>
</array>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Comet - URL Blocklist</string>
<key>PayloadIdentifier</key>
<string>ai.perplexity.comet.url.blocklist</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>87654321-4321-4321-4321-210987654321</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>