Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anzeigen von Webinhalten in einer Anwendung
In iOS können Webansichten verwendet werden, um eine Vielzahl von Webinhalten anzuzeigen, ohne den Kontext der App verlassen zu müssen. Einige Anwendungen verwenden möglicherweise auch Webansichten, um Features und Benutzeroberfläche auf mehreren Plattformen freizugeben.
Da Webansichten in der App vorhanden sind, ist sie potenziellen Datenlecks ausgesetzt. Wenn ein Benutzer in der Lage ist, innerhalb einer App zu beliebigen externen Webseiten zu navigieren (entweder durch absichtliches App-Design oder durch geschicktes Manövrieren über exponierte Links im HTML-Inhalt der gerenderten Webseite), kann der Benutzer möglicherweise verwaltete Daten aus der App verlieren.
Das Intune MAM SDK bietet mehrere APIs für die Behandlung verschiedener Szenarien, in denen sowohl verwaltete als auch nicht verwaltete Inhalte durch Webansichten innerhalb einer App angezeigt werden. Diese APIs müssen nur aufgerufen werden, wenn ein verwalteter Benutzer bei der App angemeldet ist. In der folgenden Tabelle finden Sie eine kurze Anleitung, welche API für welches Szenario gilt.
| Szenario | APIs |
|---|---|
| Nur Benutzer- und Organisationsinhalte ohne das Risiko beliebiger Webseiten | Keine APIs erforderlich |
| Nur Nicht-Benutzer- und Nicht-Organisationsinhalte | Wählen Sie TreatAllWebViewsAsUnmanaged im Feld Info.plist |
| Eine Mischung aus Benutzer-/Organisations- und Nicht-Benutzer-/Nicht-Organisationsinhalten (mehrheitlich Nicht-Benutzer/Nicht-Organisation) | Festlegen TreatAllWebViewsAsUnmanaged in der Info.plist und verwenden setWebViewPolicy:forWebViewer: mit IntuneMAMWebViewPolicyCurrentIdentity On-Web-Ansichten, die Benutzer- oder Organisationsdaten enthalten |
| Eine Mischung aus Benutzer-/Organisations- und Nichtbenutzer-/Nicht-Organisationsinhalten (Mehrheitsbenutzer/Organisation) | Nur für IntuneMAMWebViewPolicyUnmanaged On-Web-Ansichten verwendensetWebViewPolicy:forWebViewer:, die keine Benutzer- oder Organisationsdaten enthalten |
| Benutzer- oder Organisationsinhalte, jedoch mit dem Risiko beliebiger Webseiten | Nach geeigneter Verwendung von TreatAllWebViewsAsUnmanaged und setWebViewPolicy:forWebViewer:implementieren Sie auch die IntuneMAMWebViewPolicyDelegate für Webansichten, die zu beliebigen Webseiten navigieren können |
Webansicht Szenario 1: Nur Webseiten, die Benutzer- oder Organisationsinhalte anzeigen
Wenn eine App Webansichten nur zum Rendern von Benutzer- oder Organisationsinhalten verwendet und kein Risiko besteht, dass die Webansicht zu beliebigen externen Webseiten navigiert, müssen keine APIs oder Einstellungen verwendet werden. Standardmäßig behandelt das SDK jede Webansicht, die in der App angezeigt wird, als Inhalt, der zur aktuellen UI-Richtlinienidentität gehört.
Wenn ein verwalteter Benutzer eine Webansicht in einer App öffnet, werden alle ausgeschnittenen/kopierten Daten aus der Webansicht als verwalteter Inhalt behandelt. Das Einfügen in die Webansicht erfolgt gemäß den Richtlinien des verwalteten Kontos.
Wenn ein nicht verwalteter Benutzer eine Webansicht in einer App öffnet, werden alle ausgeschnittenen/kopierten Daten aus der Webansicht als nicht verwalteter Inhalt behandelt. Das Einfügen in die Webansicht wird so behandelt, als ob es vom nicht verwalteten Konto vorgenommen würde, und es werden keine zusätzlichen Einschränkungen auferlegt.
Webansicht Szenario 2: Nur Webseiten, die keine Benutzer- oder Organisationsinhalte anzeigen
Wenn einer App bekannt ist, dass niemals Benutzer- oder Organisationsinhalte in einer Webansicht angezeigt werden, kann TreatAllWebViewsAsUnmanaged sie diese auf YES in der Info.plist. Dadurch werden alle Ausschneide-, Kopier- und Einfügeaktionen, die von einem Benutzer in einer Webansicht ausgeführt werden, als nicht verwaltet behandelt. Unabhängig von der Verwaltungs status des Kontos, das zum Ausführen der Aktionen verwendet wird, wird die Aktion so behandelt, als ob sie von einem nicht verwalteten Benutzer ausgeführt würde.
Dadurch wird sichergestellt, dass verwaltete App-Inhalte nicht über die Webansicht nach außen aus der App gelangen. Das Festlegen dieses Kennzeichens empfiehlt sich dann, wenn eine App Webansichten nur zum Anzeigen von Datenschutzhinweisen, EULAs oder anderen statischen Seiteninhalten verwendet, für die kein Benutzer erforderlich ist.
Wenn TreatAllWebViewsAsUnmanaged diese Option festgelegt ist, können alle Inhalte, die in den Webansichten angezeigt werden, kopiert und in andere nicht verwaltete Apps eingefügt werden, da die Webansichten selbst als nicht verwaltet gelten.
Webansicht Szenario 3: Eine Mischung aus Benutzer-/Organisationsinhalten und Nicht-Benutzer-/Nicht-Organisationsinhalten
Komplexere Apps können eine Kombination aus Benutzer-/Organisations- und Nicht-Benutzer-/Nicht-Organisations-Webansichten verwenden. Eine App kann Webansichten zum Anzeigen von Datenschutzhinweisen verwenden, aber auch Webansichten, um Benutzerinhalte anzuzeigen. In diesem Fall kann die IntuneMAMPolicyManagerAPI 's setWebViewPolicy:forWebViewer: verwendet werden. Diese API ermöglicht es einer App, einzelne Webansichten als nicht verwaltet zu markieren oder die Auswirkungen für einzelne Webansichten TreatAllWebViewsAsUnmanaged rückgängig zu machen.
Die API akzeptiert zwei Argumente. Der erste ist ein Enumerationswert vom IntuneMAMWebViewPolicy Typ. Der zweite kann entweder ein UIView oder ein UIViewController sein, der in seiner untergeordneten Ansichtshierarchie einen WKWebView enthalten kann. Ein WKWebView selbst kann auch direkt als zweites Argument übergeben werden.
Wenn die WKWebView ein untergeordnetes Element von UIView oder UIViewController ist, der als zweites Argument übergeben wird, muss sie zum Zeitpunkt des Aufrufs dieser API nicht in der Ansichtshierarchie vorhanden sein. Auf alle untergeordneten WKWebViews des übergebenen UIView oder UIViewController wird beim Hinzufügen die richtige Richtlinie angewendet.
-
IntuneMAMWebViewPolicyUnset- Dies ist die Standardrichtlinie für alle WKWebViews. Webansichten werden nur entsprechend derTreatAllWebViewsAsUnmanagedKennzeichnung behandelt. -
IntuneMAMWebViewPolicyUnmanaged- Alle Ausschneide-/Kopie-/Einfügeaktionen, die von einem Benutzer in einer mit dieser Richtlinie markierten Webansicht ausgeführt werden, werden so behandelt, als ob sie von einer nicht verwalteten Identität ausgeführt würden. Diese Richtlinie überschreibt dasTreatAllWebViewsAsUnmanagedFlag. -
IntuneMAMWebViewPolicyCurrentIdentity- Alle Ausschneide-/Kopie-/Einfügeaktionen, die von einem Benutzer in einer mit dieser Richtlinie markierten Webansicht ausgeführt werden, werden so behandelt, als ob sie von der aktuellen UI-Richtlinienidentität ausgeführt würden. Diese Richtlinie überschreibt dasTreatAllWebViewsAsUnmanagedFlag.
Mehrheitlich nicht benutzerbezogene und nicht organisatorische Daten
Wenn ein Großteil der Webansichten in einer App nicht verwaltete Inhalte anzeigt, kann TreatAllWebViewsAsUnmanaged dies in den Webansichten der App und mit kann für die Webansichten des Benutzers oder Organisationsinhalts Info.plistsetWebViewPolicy:forWebViewer:IntuneMAMWebViewPolicyCurrentIdentity aufgerufen werden.
Wichtigste Benutzer- und Organisationsdaten
Wenn ein Großteil der Webansichten in einer App Benutzer- oder Organisationsinhalte anzeigt, dann nur setWebViewPolicy:forWebViewer: für IntuneMAMWebViewPolicyUnmanaged die nicht verwalteten Webansichten, da alle Webansichten standardmäßig als verwaltet behandelt werden.
Webansicht Szenario 4: Benutzer- oder Organisationsinhalte, aber mit dem Risiko beliebiger Webseiten
Wenn eine Webansicht zum Anzeigen von Benutzer- oder Organisationsinhalten verwendet wird, aber das Risiko birgt, zu beliebigen externen URLs zu navigieren, kann eine zusätzliche API in Kombination mit TreatAllWebViewsAsUnmanaged und setWebViewPolicy:forWebViewer:verwendet werden. Beispiele hierfür sind Feature- oder Feedback-Webseiten, die entweder direkte oder indirekte Links zu einer Suchmaschine haben.
IntuneMAMWebViewPolicyDelegatekönnen implementiert und mit 's setWebViewPolicyDelegate:forWebViewer:auf eine Webansicht IntuneMAMPolicyManagergesetzt werden. Das IntuneMAMWebViewPolicyDelegate hat eine erforderliche Methode, isExternalURL:.
Die setWebViewPolicyDelegate:forWebViewer: Methode muss direkt auf einem WKWebView- oder SFSafariViewController aufgerufen werden.
Jedes Mal, wenn die Webansicht zu einer neuen Seite navigiert, wird die isExternalURL: Delegatmethode aufgerufen. Anwendungen sollten bestimmen, ob es sich bei der an die Delegatmethode übergebenen URL um eine interne Website handelt, auf der Benutzer- oder Organisationsdaten eingefügt werden können, oder um eine externe Website, durch die Organisationsdaten verloren gehen könnten. Die Rückgabe NO teilt dem SDK mit, dass es sich bei der geladenen Website um einen Organisationsspeicherort handelt, an dem Benutzer- oder Organisationsdaten freigegeben werden können. Die Rückgabe YES führt dazu, dass das SDK die URL in Microsoft Edge und nicht in WKWebView oder SFSafariViewController öffnet, wenn die aktuellen Richtlinieneinstellungen dies erfordern. Dadurch wird sichergestellt, dass keine Benutzer- oder Organisationsdaten aus der App an die externe Website weitergegeben werden können.
Beispiel für Web View-APIs
Eine App wird mit fünf Webansichten (A, B, C, D und E) erstellt. In den Webansichten A, B und C werden keine Benutzer- oder Organisationsdaten angezeigt. In der Webansicht D wird die Seite "organization" angezeigt, die allen Benutzern des Unternehmens zur Verfügung steht. In der Webansicht E werden die Dokumente des Benutzers gerendert, die Links enthalten können.
Da die meisten Webansichten nicht verwaltet werden (A, B und C), können TreatAllWebViewsAsUnmanaged wir festlegen, dass die Anzahl der Aufrufe setWebViewPolicy:forWebViewer:von .
Da in den Webansichten D und E Benutzerinhalte angezeigt werden und alle Webansichten jetzt standardmäßig nicht mehr verwaltet werden, müssen wir sie mit setWebViewPolicy:forWebViewer:IntuneMAMWebViewPolicyCurrentIdentitymarkieren.
Da die Webansicht E Links enthält, auf die der Benutzer möglicherweise klickt und mit denen er zu beliebigen URLs navigieren kann, müssen wir auch die IntuneMAMWebViewPolicyDelegate implementieren und mit auf die Webansicht E setWebViewPolicyDelegate:forWebViewer:setzen. In unserer isExternalURL: Implementierung konnten wir eingehende URLs überprüfen und feststellen, ob sie mit der URL für das Dokument übereinstimmen. Wenn sie nicht übereinstimmen, wissen wir, dass es sich um eine externe URL handelt, und können zurückkehren YES. Wenn sie übereinstimmen, wissen wir, dass es sich um eine interne URL handelt, und können zurückkehren NO.
Das Implementieren und Aufrufen dieser APIs bedeutet, dass verwaltete Benutzer- oder Organisationsinhalte nicht in die Webansichten A, B und C abfließen können. Dies bedeutet auch, dass verwaltete Inhalte nicht an externe URLs weitergegeben werden können, zu denen der Benutzer möglicherweise in E navigiert, indem er auf Links in Dokumenten klickt. Verwaltete Inhalte werden auch geschützt, indem verhindert wird, dass die Daten aus den Webansichten D und E nach außerhalb der App gelangen.