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.

Die zu konfigurierende App muss auf den Geräten installiert sein, damit die App-Konfiguration angewendet wird. Installiert Relution die App – aus dem App Store, über Apps und Bücher (im Portal: VPP) oder als Unternehmens-App – und ist auf dem Gerät bereits eine Richtlinie mit einer Managed-App-Konfiguration für dieselbe Bundle-ID angewendet, überträgt Relution die Konfiguration zusammen mit dem Installationsbefehl. Die Reihenfolge der Konfigurationen in der Richtlinie hat darauf keinen Einfluss.

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>

Wie hilfreich war dieser Artikel?