Zlepšení ochrany soukromí a zabezpečení systému macOS pomocí UUID aplikací

Automaticky přeloženo z Deepl

Po aktualizaci Sequoia se systém macOS spoléhá na UUID aplikací pro různé kontroly soukromí a zabezpečení, například pro přístup k síti. Tato nová funkce systému macOS by mohla způsobit problémy na straně koncových uživatelů, například nutnost často znovu autorizovat integrované 4D aplikace. Abychom to vyřešili, má nyní počínaje verzí 4D 20 R9 každá aplikace 4D vytvořená pro systém macOS své vlastní UUID aplikace. Tato změna zajišťuje lépe vyladěné řízení přístupu. Pojďme se ponořit do podrobností.

macOS Sequoia a UUID aplikací

Se zavedením verze Sequoia nyní macOS zakládá některá nastavení soukromí a zabezpečení na UUID aplikací namísto jejich názvů. Pokud pak více aplikací sdílí stejný UUID, může to způsobit problémy při ovládání systému. To se týká zejména přístupu k místní síti, jak je vysvětleno v této technické poznámce. Příslušná nastavení se nacházejí v dialogovém okně Nastavení systému na panelu Místní síť v položce Soukromí a zabezpečení:

Jedinečné identifikátory UUID aplikací

Před verzí 4D 20 R9 sdílely sestavené aplikace 4D stejné UUID jako aplikace 4D Volume Desktop nebo 4D Server, která byla použita jako zdroj.

Nyní se při sestavování aplikace automaticky nastaví její UUID pomocí kombinace zdrojové aplikace 4D a vašeho identifikátoru aplikace. Tím je zajištěno, že vaše aplikace bude v systémech macOS považována za jedinečnou a bude zachován stejný identifikátor UUID vaší aplikace, dokud budete používat stejnou verzi zdrojové aplikace 4D.

Toto nové chování se samozřejmě vztahuje i na komponentu Build4D!

Dobrá zpráva, nic nemusíte dělat, nic není třeba měnit ve vašem sestavovacím řetězci, vše probíhá zcela automaticky. Obvykle zde můžete přestat číst, ale pokud potřebujete, poskytujeme plnou kontrolu nad UUID! To je vysvětleno v následujícím odstavci.

Aktualizované funkce

Pro podporu této nové funkce jsme aktualizovali funkci File. getAppInfo() tak, aby při použití na spustitelný soubor aplikace vracela UUID aplikace. Zde je ukázkový úryvek kódu:

var $app:=File("/Applications/myApp.app/Contents/MacOS/myApp")
var $info:=$app.getAppInfo()

A zde je ukázka výsledku:

{
  "archs": [
    {
      "type": 16777223,
      "name": "x86_64",
      "uuid": "9C286FBFFAAA242FEBF462654C950ECF"
    },
    {
      "type": 16777228,
      "name": "arm64",
      "uuid": "8D8AA28824AACC558AB3D287A43EC53A"
    }
  ]
}

Kromě toho byla funkce File. setAppInfo() vylepšena tak, aby v případě potřeby umožňovala definovat vlastní UUID. Zde je uveden postup, jak to můžete udělat:

var $app:=File("/Applications/myApp.app/Contents/MacOS/myApp")
var $info:=$app.getAppInfo()
 
// regenerate uuids for all architectures
For each ($arch; $info.archs)
  $arch.uuid:=Generate UUID
End for each
 
// update the app with the new uuids
$app.setAppInfo($info)

Doufáme, že tato funkce zlepší uživatelskou zkušenost s vašimi nasazenými aplikacemi a zajistí jejich jedinečnost a lepší integraci v prostředí systému macOS.

Šťastné kódování!

Avatar
• Product Owner • Damien Fuzeau se připojil k týmu 4D Product v únoru 2019. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich následný převod do funkčních specifikací. Jeho úkolem je také zajistit, aby dodávané implementace funkcí vyhovovaly potřebám zákazníků. Damien vystudoval softwarové inženýrství na University of Nantes. Ve své bývalé společnosti strávil více než 23 let, nejprve jako vývojář (objevil 4D v roce 1997) a později jako technický manažer a softwarový architekt. Tato společnost je partnerem 4D OEM a nasadila obchodní software založený na 4D pro tisíce uživatelů na stovkách serverů. Damien je tedy zvyklý na 4D vývoj a nasazení ve vícejazyčném kontextu.