Managed App Konfiguration iOS
Es ist möglich, einige Apps mit der Richtlinien-Konfiguration Managed App vorzukonfigurieren. Diese Konfiguration ist nur für iOS-Geräte ab Version 7 und macOS-Geräte ab Version 11+ verfügbar. Sie ist mit Unterstützt Benutzerregistrierung gekennzeichnet und wirkt damit auch auf Geräten, die per Benutzer-Einschreibung → registriert sind.
Konfiguration
In der Konfiguration werden die Bundle-ID der zu konfigurierenden App im Feld Bundle Identifier und eine gültige App-Konfigurations-Payload im Feld Payload hinterlegt. Die Bundle-ID wird über einen Auswahldialog übernommen: aus den in Relution hinterlegten Apps, aus dem Apple App Store, aus den iOS-Systemapps oder per manueller Eingabe. Das Feld Payload ist mit einem leeren plist-Grundgerüst vorbelegt. Ungültiges XML wird als Fehler markiert, die Konfiguration lässt sich dann nicht speichern. Eine Richtlinie kann mehrere Managed-App-Konfigurationen enthalten, etwa für verschiedene Apps.
In der Payload lassen sich die Platzhalter verwenden, die unten auf der Seite angezeigt werden. So kann zum Beispiel eine E-Mail-Client-App konfiguriert werden, indem der Platzhalter ${user.email} verwendet wird. So lässt sich die Konfiguration für verschiedene Benutzer nutzbar machen. Die Platzhalter werden ausgefüllt, wenn die Konfiguration auf die Geräte übertragen wird. Unbekannte oder falsch geschriebene Platzhalternamen werden ohne Fehlermeldung durch einen leeren Wert ersetzt.
Für Relution-eigene Apps wie Relution, Relution Teacher oder Relution Files überträgt Relution bei der Installation eine eigene App-Konfiguration, eine Managed-App-Konfiguration wird dabei nicht mitgesendet. Relution Decon erhält seine Konfiguration über Relution Decon (Inhaltsfilter) →. Wird eine Managed-App-Konfiguration vom Gerät entfernt, sendet Relution die Einstellung für die betreffende App ohne Konfigurationsinhalt, wodurch die App-Konfiguration auf dem Gerät entfernt wird.
Grundsätzlich ist der Hersteller der jeweiligen App für die Konfigurationsmöglichkeiten verantwortlich. Die folgenden Beispiele haben zum Zeitpunkt der Erstellung dieses Dokuments mit den jeweiligen Apps funktioniert. Eine Gewähr, dass dies weiterhin gilt, besteht nicht.
Goodnotes 6
com.goodnotesapp.x
<?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>ManagedAppConfigurationVersion</key>
<string>1</string>
<key>LicenseKey</key>
<string>AAAAAA-BBBBBB-CCCCCC-DDDDDD-123456-V3</string>
</dict>
</plist>
Microsoft Outlook für Office365
com.microsoft.Office.Outlook
<?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>com.microsoft.outlook.EmailProfile.AccountType</key>
<string>ModernAuth</string>
<key>com.microsoft.outlook.EmailProfile.EmailAccountName</key>
<string>${user.fullname}</string>
<key>com.microsoft.outlook.EmailProfile.ServerHostName</key>
<string>outlook.office365.com</string>
<key>com.microsoft.outlook.EmailProfile.EmailAddress</key>
<string>${user.email}</string>
<key>com.microsoft.outlook.EmailProfile.EmailUPN</key>
<string>${user.email}</string>
<key>com.microsoft.outlook.EmailProfile.AccountDomain</key>
<string></string>
<key>com.microsoft.outlook.EmailProfile.ServerAuthentication</key>
<string>Username and Password</string>
<key>IntuneMAMAllowedAccountsOnly</key>
<string>Enabled</string>
<key>IntuneMAMUPN</key>
<string>${user.email}</string>
</dict>
</plist>
Microsoft Outlook für einen On-Premise Exchange Server
com.microsoft.Office.Outlook
<?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>com.microsoft.outlook.EmailProfile.AccountType</key>
<string>BasicAuth</string>
<key>com.microsoft.outlook.EmailProfile.EmailAccountName</key>
<string>${user.fullname}</string>
<key>com.microsoft.outlook.EmailProfile.ServerHostName</key>
<string>exchange.server.name</string>
<key>com.microsoft.outlook.EmailProfile.AccountDomain</key>
<string>domainname</string>
<key>com.microsoft.outlook.EmailProfile.EmailAddress</key>
<string>${user.email}</string>
<key>com.microsoft.outlook.EmailProfile.EmailUPN</key>
<string>${user.email}</string>
<key>com.microsoft.outlook.EmailProfile.ServerAuthentication</key>
<string>Username and Password</string>
<key>IntuneMAMAllowedAccountsOnly</key>
<string>Disabled</string>
<key>IntuneMAMUPN</key>
<string>${user.email}</string>
</dict>
</plist>
SecurePIM für Office365
com.virtual-solution.securepim-enterprise
<?xml version="1.0" ?>
<!DOCTYPE plist PUBLIC "-//Apple Inc//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>license</key>
<string>your-license-key</string>
<key>activeSyncServer</key>
<string>outlook.office365.com</string>
<key>userEmail</key>
<string>${user.email}</string>
<key>activeSyncUser</key>
<string>${user.email}</string>
<key>deviceSerialNumber</key>
<string>${device.serialnumber}</string>
<key>recipientCertificateEmail</key>
<string>${user.email}</string>
<key>allowTouchIDAuthentication</key>
<string>true</string>
<key>callKitEnabled</key>
<string>true</string>
</dict>
</plist>
Konfiguration unvollständig
Beim Export einer bestehenden Konfiguration aus einem anderen MDM-System als XML und der anschließenden Umwandlung in eine plist-Datei kann aus einem als optional markierten, leeren Wert ein leerer <string></string>-Wert in der plist werden. Betroffen ist unter anderem der Key subscriptionWebServiceEndPointURL.
SecurePIM meldet in diesem Fall beim App-Start dauerhaft die Meldung „Konfiguration unvollständig”, obwohl der Key im ursprünglichen System ohne Wert funktioniert hat. Abhilfe schafft das Eintragen eines beliebigen, nicht-leeren Werts in den betroffenen Key oder das vollständige Entfernen des Keys aus der plist.
FileBrowser for Education
com.stratospherix.filebrowsereducation
Konfiguration eines SMB-Share
<?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>mdm-enforce</key>
<integer>1</integer>
<key>lockdown</key>
<integer>1</integer>
<key>1displayname</key>
<string>My NAS</string>
<key>1domain</key>
<string>office.mwaysolutions.com</string>
<key>1flags</key>
<integer>1746</integer>
<key>1machinename</key>
<string>smb://yoursmbservershare/</string>
<key>1username</key>
<string>${user.email}</string>
<key>1vpntype</key>
<integer>0</integer>
<key>waitForSearchButton</key>
<integer>0</integer>
</dict>
</plist>
IBM Verse client
com.ibm.lotus.traveler
Vollständiges Konfigurationsbeispiel anzeigen
<?xml version="1.0" ?>
<!DOCTYPE plist PUBLIC "-//Apple Inc//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>appConfigOnly</key>
<string>true</string>
<key>serverType</key>
<string>onpremise</string>
<key>serverURL</key>
<string>server_url_or_ip_address</string>
<key>user</key>
<string>${user.name}</string>
<key>password</key>
<string></string>
<key>restrictClipboard</key>
<string>false</string>
<key>disableShareMenu</key>
<string>false</string>
<key>disableRemoteImages</key>
<string>false</string>
<key>mamKey</key>
<string></string>
<key>mamKeyMismatchTimeout</key>
<integer>24</integer>
<key>disableAttachmentExport</key>
<string>false</string>
<key>mailFilterDays</key>
<integer>3</integer>
<key>mailFilterDays.lock</key>
<string>false</string>
<key>previewLines</key>
<integer>2</integer>
<key>previewLines.lock</key>
<string>false</string>
<key>confirmDelete</key>
<string>false</string>
<key>confirmDelete.lock</key>
<string>false</string>
<key>attachmentFilter</key>
<integer>100</integer>
<key>attachmentFilter.lock</key>
<string>false</string>
<key>mailThreads</key>
<string>false</string>
<key>mailThreads.lock</key>
<string>false</string>
<key>useMailSignature</key>
<string>false</string>
<key>useMailSignature.lock</key>
<string>false</string>
<key>mailSignature</key>
<string></string>
<key>mailSignature.lock</key>
<string>false</string>
<key>bccMyself</key>
<string>false</string>
<key>bccMyself.lock</key>
<string>false</string>
<key>calendarPastFilterDays</key>
<integer>14</integer>
<key>calendarPastFilterDays.lock</key>
<string>false</string>
<key>calendarAlarms</key>
<string>true</string>
<key>calendarAlarms.lock</key>
<string>false</string>
<key>calendarAudioAlarms</key>
<string>true</string>
<key>calendarAudioAlarms.lock</key>
<string>false</string>
<key>weekStartDay</key>
<integer>0</integer>
<key>weekStartDay.lock</key>
<string>false</string>
<key>exportContacts</key>
<string>false</string>
<key>exportContacts.lock</key>
<string>false</string>
<key>searchCorpDirectory</key>
<string>true</string>
<key>searchCorpDirectory.lock</key>
<string>false</string>
<key>contactSortOrder</key>
<string>lastfirst</string>
<key>contactSortOrder.lock</key>
<string>false</string>
<key>contactDisplayOrder</key>
<string>firstlast</string>
<key>contactDisplayOrder.lock</key>
<string>false</string>
<key>appPassword</key>
<string>false</string>
<key>appPasswordType</key>
<string>numeric</string>
<key>appPasswordMinLetters</key>
<integer>0</integer>
<key>appPasswordMinNumeric</key>
<integer>0</integer>
<key>appPasswordMinNonLetters</key>
<integer>0</integer>
<key>appPasswordMinUppercase</key>
<integer>0</integer>
<key>appPasswordMinLowercase</key>
<integer>0</integer>
<key>appPasswordMinSymbols</key>
<integer>0</integer>
<key>appPasswordMinLength</key>
<integer>4</integer>
<key>appPasswordAutolock</key>
<integer>30</integer>
<key>appPasswordExpiration</key>
<integer>0</integer>
<key>appPasswordHistory</key>
<integer>0</integer>
<key>appPasswordWipeFailures</key>
<integer>0</integer>
<key>appPasswordProhibitSequences</key>
<string>false</string>
<key>appPasswordProhibitTouchID</key>
<string>false</string>
</dict>
</plist>