Chrome-extensies installeren via groupsbeleid of master_voorkeuren

Dit artikel is bestemd voor IT-beheerders die Chrome-extensies afgedwongen willen installeren op door het bedrijf beheerde Windows-apparaten via apparaat- en OS-gebruikersbeleid.

Google Chrome-extensies zijn kleine programma's waarmee de functionaliteit van Google Chrome kan worden aangepast en verbeterd.

U kunt Google Chrome-extensies downloaden via de extensiegalerij. Bekijk ook Google Chrome-extensies om te zien hoe u uw eigen extensies kunt maken.

U kunt een extensie op twee manieren afgedwongen installeren: via groepsbeleid of master_voorkeuren.

Afgedwongen installeren via groepsbeleid

Implementatie van een extensie of Chrome-webapp via groepsbeleid is de eenvoudigste en meest schaalbare methode. Dit is de aanbevolen methode voor het distribueren van extensies, omdat het CRX-bestand niet op de computer beschikbaar hoeft te zijn. Het hoeft alleen maar beschikbaar te zijn via een opgegeven URL.

Als u deze methode wilt gebruiken, stelt u het beleid in op 'gedwongen installatie' voor de extensie, zoals hier beschreven.

Afgedwongen installeren via master_voorkeuren

Afgedwongen geïnstalleerde extensies worden toegevoegd aan het bestand master_voorkeuren dat naast chrome.exe bestaat. Dit betekent dat het CRX-bestand zich overal kan bevinden en de bits niet aanwezig hoeven te zijn op de computer van de doelgebruiker of te worden geïntegreerd in installatiescripts.

Als u niet bekend bent met het bestand master_voorkeuren of hoe het werkt, bekijkt u voorkeuren configureren.

Er zijn enkele vereisten voor het gebruik van deze methode:

  • Deze methode werkt alleen als de gebruiker toegang heeft tot de openbare extensiegalerij of een andere URL waar het CRX-bestand wordt bewaard. Deze methode werkt daardoor mogelijk niet voor gebruikers achter een bedrijfsfirewall of proxy die toegang tot de galerij beperkt.

  • Deze methode werkt doorgaans alleen voor nieuwe installaties. Het kost veel moeite en opschoonacties om deze methode voor een bestaande installatie mogelijk te maken.

Ga als volgt te werk om een extensie afgedwongen te installeren via master_voorkeuren:

  1. Zoek het CRX-bestand dat u wilt installeren. Download het bestand via de galerij of maak een eigen bestand dat u zelf heeft voorbereid.

  2. Open het CRX-bestand met een zipprogramma en zoek het bestand manifest.json (dit is een gewoon tekstbestand). Dit bestand bevat veel waarden die u nodig heeft.

  3. Stel uw master_voorkeueren in met waarden uit het bestand manifest.json.

Dit is een voorbeeld van een master_voorkeurenbestand, waarmee de extensie Extern bureaublad voor Chrome wordt geïnstalleerd:


{
 "homepage" : "http://dev.chromium.org",
 "homepage_is_newtabpage" : true,
 "extensions": {
    "settings": {
       "gbchcmhmhahfdphkhkmpfmihenigjmpp": {
          "location": 1,
          "manifest": {
             "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5cK3ybDkh173plsjDX
              oqUzvsjFRMtbc5+a8HR6dxYBETeXQ7GOR5/xYnsY2R4smo5ly4yUK69iF7rnPNH+
              X97K7e7JFbuH5W/ZRc8YaIG66oJ9JwKZagSOZasSJPWNz4f1GdaHD1Z4KRucvOYx
              saPVdwS2W3nbG6i3oQFaio+JQIDAQAB",
             "name": "Chrome Extern Bureaublad",
             "permissions": [ "tabs", "http://www.google.com/" ],
             "update_url": "http://clients2.google.com/service/update2/crx",
             "version": "0.0"
          },
          "path": "gbchcmhmhahfdphkhkmpfmihenigjmpp\\0.0",
          "state": 1
       }
    }
  }
}

Hier volgt een uitleg van de regels in dit master_voorkeuerenbestand:

  • Onder "settings" is de eerste waarde de hash van de extensie ("apflmjolhbonpkbkooiamcnenbmbjcbf"). U krijgt dit door het CRX-bestand in te pakken en het is tevens de ID van de extensie in de galerij.
  • "location" moet altijd 1 zijn.
  • De sectie "manifest" moet de waarden "key", "name", "permissions", "update_url" en "version" bevatten. Deze waarden kunnen uit het manifest van de extensie worden gehaald.
  • De waarde "key" komt uit de verpakte extensie, evenals de hash. Als u een uitgepakt CRX-bestand bekijkt, vindt u de waarde "key" in manifest.json.
  • "name" kan alles zijn, hoewel u met een tijdelijke tag (het gedeelte (bijv. "(Bezig met installatie...)") zorgt dat gebruikers begrijpen waarom het even duurt voordat een extensie wordt geladen.
  • "permissions" moet gelijk zijn aan de machtigingen in het CRX-bestand van de extensie bij "update_url". Als dit niet het geval is, ziet de gebruiker een groot aantal waarschuwingen en wordt de extensie niet geladen. U kunt dus geen lege reeks "permissions" opgeven. Voor de echte extensie zijn veel machtigingen vereist - dit zou het escaleren van privileges verbergen.
  • "update_url" is de URL van het CRX-bestand. Ook deze kunt u vinden in het bestand manifest.json.
  • "version" moet altijd "0.0" zijn.
  • "path" moet altijd de hash van de extensie zijn, gevolgd door "\\0.0".
  • "state" moet altijd 1 zijn.
  • Als een van deze regels niet correct is, wordt de extensie mogelijk niet geladen of ziet de gebruiker een waarschuwing.

Belangrijk: Als de extensie inhoudscripts bevat waarvoor rechten zijn vereist, moeten ze ook in master_voorkeuren worden vermeld. Hier volgt een voorbeeld:


{
 "extensions": {
    "settings": {
       "apflmjolhbonpkbkooiamcnenbmbjcbf": {
          "location": 1,
          "manifest": {
              "content_scripts": [ {
                "all_frames": true,
                "js": [ "script.js" ],
                "matches": [ "http://*/*", "https://*/*" ],
                "run_at": "document_start"
              } ],
             "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5cK3ybDkh173plsjDX
             oqUzvsjFRMtbc5+a8HR6dxYBETeXQ7GOR5/xYnsY2R4smo5ly4yUK69iF7rnPNH+X
             97K7e7JFbuH5W/ZRc8YaIG66oJ9JwKZagSOZasSJPWNz4f1GdaHD1Z4KRucvOYxsa
             PVdwS2W3nbG6i3oQFaio+JQIDAQAB",
             "name": "Google Reader Notifier (wordt geïnstalleerd...)",
              ...
Als de extensie inhoudscripts bevat waarvoor rechten/toegang is vereist en u deze hier niet opgeeft, wordt de extensie niet geladen.

U kunt meerdere extensies vooraf laden. Het toevoegen van een aanvullende extensie is erg eenvoudig, u voegt gewoon nog een blok toe onder "settings":


{
 "extensions": {
    "settings": {
       "apflmjolhbonpkbkooiamcnenbmbjcbf": {  <-- extensie één
          "location": 1,
          "manifest": {
              ...
          }
        },
       "oaiwevnmzvoinziufeuibyfnzwevmiiw": {  <-- extensie twee
         "location": 1,
         "manifest": {
           ...
       },
       ...
     }
   }
}

Als de extensie rechten heeft waarvoor gebruikersgoedkeuring is vereist, moet u ook een sectie granted_permissions opnemen:


{
  "extensions": {
    "settings": {
      "mihcahmgecmbnbcchbopgniflfhgnkff": {
        "location": 1,
        "manifest": {
          ...
        },
        "granted_permissions": {
          "api": [ "tabs" ],
          "explicit_host": [ "http://*.google.com/*", "https://*.google.com/" ],
          "scriptable_host": [ "http://example.com/" ]
        },
        ...
      },
      ...
    }
  }
}

Als u geen sectie granted_permissions opneemt, schakelt Chrome de extensie onmiddellijk uit. Het veld granted_permissions bevat de volgende subvelden:

  • "api" bevat API-rechten in de sleutel "permissions" van het manifest
  • "explicit_host" bevat hostrechten in de sleutel "permissions" van het manifest
  • "scriptable_host" moet worden ingesteld als de hosts in de inhoudscripts van de extensie

De eenvoudigste manier om het veld granted_permissions te generen is door de extensie lokaal te installeren en vervolgens de granted_permissions van de extensie te kopiëren uit het Voorkeurenbestand in uw Chrome-profiel.

Was dit artikel nuttig?