Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de Microsoft Intune App SDK voor iOS kunt u beveiligingsbeleid voor apps van Intune (ook wel APP- of MAM-beleid genoemd) opnemen in uw eigen iOS-app. Een door Intune beheerde toepassing is een toepassing die is geïntegreerd met de Intune App SDK. Intune-beheerders kunnen eenvoudig beveiligingsbeleid voor apps implementeren in uw door Intune beheerde app wanneer de app actief wordt beheerd door Intune.
Opmerking
Deze gids is onderverdeeld in verschillende verschillende fasen. Begin met het bekijken van De integratie plannen.
Fase 4: Functies voor deelname aan apps
Fase doelen
- Meer informatie over de verschillende functies voor deelname aan apps die worden aangeboden door de Intune App SDK.
- Integreer functies voor deelname aan apps die relevant zijn voor uw app en gebruikers.
- Test de integratie van deze functies.
Wat zijn functies voor deelname aan apps?
Dit SDK-integratieproces probeert de hoeveelheid app-specifieke code die ontwikkelaars moeten schrijven tot een minimum te beperken. Door de vorige fasen van de SDK-integratie met succes te voltooien, kan uw app nu de meeste instellingen voor app-beveiligingsbeleid afdwingen, zoals bestandsversleuteling, beperkingen voor kopiëren en plakken, het blokkeren van schermafbeeldingen en beperkingen voor gegevensoverdracht.
Er zijn echter enkele instellingen die app-specifieke code vereisen om correct af te dwingen; Dit worden functies voor deelname aan apps genoemd. De SDK heeft doorgaans onvoldoende context over de code van uw toepassing of het scenario voor de eindgebruiker om deze instellingen automatisch af te dwingen, en is daarom afhankelijk van ontwikkelaars om de SDK-API's op de juiste manier aan te roepen.
Functies voor deelname aan apps zijn niet noodzakelijkerwijs optioneel. Afhankelijk van de bestaande functies van uw app, zijn deze functies mogelijk vereist.
In de volgende fasen van deze handleiding worden verschillende belangrijke functies voor deelname aan apps beschreven:
- Multi-identiteit zoals behandeld in Fase 5: Multi-identiteit.
- App Protection CA zoals beschreven in fase 6: ondersteuning voor voorwaardelijke toegang voor app-beveiliging
- Specifieke functies voor webweergave die worden behandeld in fase 7: functies voor webweergave
In de rest van deze handleiding worden de resterende functies voor deelname aan apps beschreven:
- Toegestane accounts implementeren
- Bestandsversleuteling implementeren is vereist
- Besturingselementen voor opslaan als en openen vanuit implementeren
- Gegevens delen via UIActivityViewController
- Gerichte configuratie (APP/MAM-app-configuratie) inschakelen voor uw iOS-toepassingen
- Telemetrie
- Siri-intenties
- App-clips
- Bedrukking
- Meldingen
- Post-build script
Het gedrag van uw app aanpassen met API's
De Intune App SDK bevat verschillende API's die u kunt aanroepen voor informatie over het Intune app-beveiligingsbeleid dat is geïmplementeerd in de app. U kunt deze gegevens gebruiken om het gedrag van uw app aan te passen. In de volgende tabel vindt u informatie over enkele essentiële Intune-klassen die u gebruikt.
| Klasse | Beschrijving |
|---|---|
| IntuneMAMPolicyManager.h | De klasse IntuneMAMPolicyManager toont het Intune app-beveiligingsbeleid dat is geïmplementeerd in de toepassing. Het legt met name API's bloot die nuttig zijn voor het mogelijk maken van meerdere identiteiten. |
| IntuneMAMPolicy.h | De klasse IntuneMAMPolicy toont enkele MAM-beleidsinstellingen die van toepassing zijn op de app. De meeste van deze beleidsinstellingen worden weergegeven zodat de gebruikersinterface van de app kan worden aangepast. De meeste beleidsinstellingen worden afgedwongen door de SDK en niet door de app. Er zijn echter enkele uitzonderingen. App-ontwikkelaars moeten de opmerkingen in deze kop bekijken om te bepalen welke API's van toepassing zijn op de scenario's van hun toepassing. |
| IntuneMAMFileProtectionManager.h | Met de klasse IntuneMAMFileProtectionManager worden API's weergegeven die de app kan gebruiken om bestanden en mappen expliciet te beveiligen op basis van een opgegeven identiteit. De identiteit kan worden beheerd door Intune of onbeheerd, en de SDK past het juiste MAM-beleid toe. Het gebruik van deze klasse is optioneel. |
| IntuneMAMDataProtectionManager.h | De klasse IntuneMAMDataProtectionManager biedt API's die de app kan gebruiken om gegevensbuffers te beveiligen als ze een opgegeven identiteit hebben. De identiteit kan worden beheerd door Intune of onbeheerd en de SDK past de versleuteling op de juiste manier toe. |
Toegestane accounts implementeren
Met Intune kunnen IT-beheerders opgeven bij welke accounts de gebruiker zich kan aanmelden. Apps kunnen de Intune App SDK opvragen voor de opgegeven lijst met toegestane accounts en er vervolgens voor zorgen dat alleen toegestane accounts zijn aangemeld bij het apparaat.
Als u wilt zoeken naar toegestane accounts, moet de app de allowedAccounts eigenschap controleren op de IntuneMAMEnrollmentManager. De allowedAccounts eigenschap is een matrix met de toegestane accounts of nul. Als de eigenschap nihil is, zijn er geen toegestane accounts opgegeven. MSAL/OneAuth-toepassingen moeten de allowedAccountIds eigenschap van het IntuneMAMEnrollmentManager exemplaar gebruiken om een query uit te voeren op de Entra-object-id.
Apps kunnen ook reageren op wijzigingen van de allowedAccounts eigenschap door de IntuneMAMAllowedAccountsDidChangeNotification melding te observeren. De melding wordt geplaatst wanneer het allowedAccounts onroerend goed in waarde verandert.
De volgende vereisten zijn nodig bij het gebruik van API's voor toegestane accounts:
- Identiteitsvergelijking mag niet hoofdlettergevoelig zijn voor UPN en OID.
- Identiteitsvergelijking moet zowel UPN als OID ondersteunen.
- De toepassing moet logboekregistratie hebben om een diagnose te stellen van eventuele mismatches tussen het door de beheerder opgegeven account en het door de gebruiker ingevoerde account.
Bestandsversleuteling implementeren is vereist
De isFileEncryptionRequired API die is gedefinieerd in IntuneMAMPolicy.h informeert toepassingen wanneer de IT-beheerder vereist dat toepassingen gebruikmaken van Intune-versleuteling voor bestanden die zijn opgeslagen op schijf. Als isFileEncryptionRequired dit waar is, is het de verantwoordelijkheid van de app om ervoor te zorgen dat alle bestanden die door de app op schijf worden opgeslagen, worden versleuteld met de API's in IntuneMAMFile.h, IntuneMAMFileProtectionManager.h, en IntuneMAMFDataProtectionManager.h.
Apps kunnen reageren op wijzigingen in dit beleid door de IntuneMAMDataProtectionDidChangeNotification melding in acht te nemen die is gedefinieerd in IntuneMAMFDataProtectionManager.h.
Besturingselementen voor opslaan als en openen vanuit implementeren
Met Intune kunnen IT-beheerders selecteren op welke opslaglocaties een beheerde app gegevens kan opslaan of openen. Apps kunnen bij de Intune MAM SDK een query uitvoeren op toegestane opslaglocaties voor opslaan met behulp van de isSaveToAllowedForLocation:withAccountId: API, gedefinieerd in IntuneMAMPolicy.h. Apps kunnen ook een query uitvoeren op de SDK voor toegestane open-van-opslaglocaties met behulp van de isOpenFromAllowedForLocation:withAccountId: API, ook gedefinieerd in IntuneMAMPolicy.h.
Bovendien kunnen apps controleren of binnenkomende gegevens van een share-extensie zijn toegestaan door een query uit te voeren op de canReceiveSharedItemProvider: API, gedefinieerd in IntuneMAMPolicy.h. Apps kunnen ook een query uitvoeren op de canReceiveSharedFile: API om binnenkomende bestanden te verifiëren van een openURL-aanroep, ook gedefinieerd in IntuneMAMPolicy.h
Opmerking
Vanaf MAM SDK v15.1.0 zijn er wijzigingen aangebracht in het interne gedrag.
- Een
nilaccount wordt niet langer behandeld als het huidige account voor de LocalDrive/LocalStorage-locaties. Het doorgeven van eennilaccount wordt behandeld als een onbeheerd account. Omdat apps kunnen bepalen hoe ze met hun sandbox-opslag omgaan, kan en moet een identiteit worden gekoppeld aan die locaties. - Een
nilaccount wordt niet langer behandeld als het huidige account voor apps met een enkele identiteit. Het doorgeven van eennilaccount in een app met één identiteit wordt nu op precies dezelfde manier behandeld alsof het wordt doorgegeven aan een app met meerdere identiteiten. Als u een app met één identiteit ontwikkelt, gebruik dan deIntuneMAMPolicy'sprimaryUserom te verwijzen naar de lopende rekening als deze wordt beheerd ennilom naar de huidige rekening te verwijzen als deze niet wordt beheerd.
Opslaan in scenario's verwerken
Voordat gegevens worden verplaatst naar een nieuwe cloudopslag of lokale locatie, moet een app contact opnemen met de isSaveToAllowedForLocation:withAccountId: API om te weten of de IT-beheerder de gegevensoverdracht heeft toegestaan. Deze methode wordt voor een IntuneMAMPolicy object aangeroepen. Gegevens die ter plekke worden bewerkt en opgeslagen, hoeven niet te worden gecontroleerd met deze API.
Opmerking
Het IntuneMAMPolicy object moet het beleid aangeven van de eigenaar van de gegevens die worden opgeslagen. Om het IntuneMAMPolicy object van een specifieke identiteit op te halen, roept u IntuneMAMPolicyManagerde policyForAccountId: methode aan. Als de eigenaar een onbeheerd account is zonder identiteit, nil kan worden doorgegeven aan policyForAccountId:. Zelfs als de gegevens die worden opgeslagen geen organisatiegegevens zijn, isSaveToAllowedForLocation:withAccountId: moeten ze toch worden aangeroepen. Het account dat eigenaar is van de doellocatie heeft mogelijk nog beleid waarmee binnenkomende onbeheerde gegevens worden beperkt.
Deze isSaveToAllowedForLocation:withAccountId: methode heeft twee argumenten. Het eerste argument is een opsommingswaarde van het type IntuneMAMSaveLocation dat is gedefinieerd in IntuneMAMPolicy.h. Het tweede argument is de UPN van de identiteit die eigenaar is van de locatie. Als de eigenaar niet bekend is, nil kan in plaats daarvan worden gebruikt.
Ondersteunde opslaglocaties
De Intune MAM SDK biedt ondersteuning voor de volgende opslaglocaties zoals gedefinieerd inIntuneMAMPolicy.h:
-
IntuneMAMSaveLocationOneDriveForBusiness- Deze locatie vertegenwoordigt locaties van OneDrive voor Bedrijven. De identiteit die is gekoppeld aan het OneDrive-account moet als tweede argument worden doorgegeven. -
IntuneMAMSaveLocationSharePoint- Deze locatie vertegenwoordigt on-premises SharePoint-locaties voor zowel SharePoint Online als Microsoft Entra Hybrid Modern Auth SharePoint. De identiteit die is gekoppeld aan het SharePoint-account moet als tweede argument worden doorgegeven. -
IntuneMAMSaveLocationLocalDrive- Deze locatie vertegenwoordigt app-sandbox-opslag die alleen toegankelijk is voor de app. Deze locatie mag niet worden gebruikt voor het opslaan via een bestandskiezer of voor het opslaan naar bestanden via een share-extensie. Als een identiteit kan worden gekoppeld aan de app-sandboxopslag, moet deze als het tweede argument worden doorgegeven. Als er geen identiteit is,nilmoet deze in plaats daarvan worden doorgegeven. Een app kan bijvoorbeeld afzonderlijke app-sandbox-opslagcontainers gebruiken voor verschillende accounts. In dit geval moet het account dat eigenaar is van de geopende container als tweede argument worden gebruikt. -
IntuneMAMSaveLocationCameraRoll- Deze locatie vertegenwoordigt de iOS-fotobibliotheek. Omdat er geen account is gekoppeld aan de iOS-fotobibliotheek, moet alleennilworden doorgegeven als het tweede argument wanneer deze locatie wordt gebruikt. -
IntuneMAMSaveLocationAccountDocument- Deze locatie vertegenwoordigt elke organisatielocatie die nog niet eerder is vermeld en die kan worden gekoppeld aan een beheerd account. Het organisatieaccount dat aan de locatie is gekoppeld, moet als tweede argument worden doorgegeven. Bijvoorbeeld het uploaden van een foto naar de LOB-cloudservice van een organisatie die is gekoppeld aan het account van de organisatie. -
IntuneMAMSaveLocationOther- Deze locatie vertegenwoordigt elke niet-organisatorische, niet eerder vermelde of onbekende locatie. Als een account aan de locatie is gekoppeld, moet deze als tweede argument worden doorgegeven. Andersnilmoet in plaats daarvan worden gebruikt.
Speciale aandachtspunten voor opslaglocaties
Gebruik IntuneMAMSaveLocationLocalDrive de locatie alleen voor app-sandbox-opslag die alleen toegankelijk is voor de app. Gebruik een bestandskiezer of een andere methode om te controleren of een bestand kan worden opgeslagen in de opslag op een iOS-apparaat via een bestandskiezer of een andere methode waarbij de gegevens toegankelijk zijn in de app IntuneMAMSaveLocationOther Files.
Als de doellocatie niet wordt vermeld, of IntuneMAMSaveLocationAccountDocumentIntuneMAMSaveLocationOther moet deze worden gebruikt. Als de locatie organisatiegegevens bevat die toegankelijk zijn via het beheerde account (bijv. LOB-cloudservice voor het opslaan van organisatiegegevens), IntuneMAMSaveLocationAccountDocument moet worden gebruikt. Als de locatie geen organisatiegegevens bevat, moet u de IntuneMAMSaveLocationOther locatie gebruiken.
Open-from-scenario's verwerken
Voordat een app gegevens importeert uit een nieuwe cloudopslag of lokale locatie, moet deze bij de isOpenFromAllowedForLocation:withAccountId: API controleren of de IT-beheerder de gegevensoverdracht heeft toegestaan. Deze methode wordt voor een IntuneMAMPolicy object aangeroepen. Gegevens die in-place worden geopend, hoeven niet te worden gecontroleerd met deze API.
Opmerking
Het IntuneMAMPolicy object moet het beleid aangeven van de identiteit die de gegevens ontvangt. Om het IntuneMAMPolicy object van een specifieke identiteit op te halen, roept u IntuneMAMPolicyManagerde policyForAccountId: methode aan. Als het ontvangende account een onbeheerd account is zonder identiteit, nil kan worden doorgegeven aan policyForAccountId:. Zelfs als de ontvangen gegevens geen organisatiegegevens zijn, isOpenFromAllowedForLocation:withAccountId: moeten ze toch worden aangeroepen. Het account dat eigenaar is van de gegevens heeft mogelijk nog beleid dat de bestemmingen van uitgaande gegevensoverdrachten beperkt.
Deze isOpenFromAllowedForLocation:withAccountId: methode heeft twee argumenten. Het eerste argument is een opsommingswaarde van het type IntuneMAMOpenLocation dat is gedefinieerd in IntuneMAMPolicy.h. Het tweede argument is de UPN van de identiteit die eigenaar is van de locatie. Als de eigenaar niet bekend is, nil kan in plaats daarvan worden gebruikt.
Ondersteunde open locaties
De Intune MAM SDK biedt ondersteuning voor de volgende open locaties die zijn gedefinieerd inIntuneMAMPolicy.h:
-
IntuneMAMOpenLocationOneDriveForBusiness- Deze locatie vertegenwoordigt locaties van OneDrive voor Bedrijven. De identiteit die is gekoppeld aan het OneDrive-account moet als tweede argument worden doorgegeven. -
IntuneMAMOpenLocationSharePoint- Deze locatie vertegenwoordigt on-premises SharePoint-locaties voor zowel SharePoint Online als Microsoft Entra Hybrid Modern Auth SharePoint. De identiteit die is gekoppeld aan het SharePoint-account moet als tweede argument worden doorgegeven. -
IntuneMAMOpenLocationCamera- Deze locatie vertegenwoordigt alleen nieuwe foto's die door de camera zijn gemaakt. Omdat er geen account is gekoppeld aan de iOS-camera, moet alleennilworden doorgegeven als het tweede argument wanneer deze locatie wordt gebruikt. Voor het openen van gegevens uit de iOS-fotobibliotheek gebruikt u .IntuneMAMOpenLocationPhotos -
IntuneMAMOpenLocationPhotos- Deze locatie vertegenwoordigt alleen bestaande afbeeldingen uit de iOS-fotobibliotheek. Omdat er geen account is gekoppeld aan de iOS-fotobibliotheek, moet alleennilworden doorgegeven als het tweede argument wanneer deze locatie wordt gebruikt. GebruikIntuneMAMOpenLocationCameravoor het openen van afbeeldingen die rechtstreeks met de iOS-camera zijn genomen. -
IntuneMAMOpenLocationLocalStorage- Deze locatie vertegenwoordigt app-sandbox-opslag die alleen toegankelijk is voor de app. Deze locatie mag niet worden gebruikt voor het openen van bestanden van een bestandenkiezer of het verwerken van binnenkomende bestanden van een openURL. Als een identiteit kan worden gekoppeld aan de app-sandboxopslag, moet deze als het tweede argument worden doorgegeven. Als er geen identiteit is,nilmoet deze in plaats daarvan worden doorgegeven. Een app kan bijvoorbeeld afzonderlijke app-sandbox-opslagcontainers gebruiken voor verschillende accounts. In dit geval moet het account dat eigenaar is van de geopende container als tweede argument worden gebruikt. -
IntuneMAMOpenLocationAccountDocument- Deze locatie vertegenwoordigt elke organisatielocatie die nog niet eerder is vermeld en die kan worden gekoppeld aan een beheerd account. Het organisatieaccount dat aan de locatie is gekoppeld, moet als tweede argument worden doorgegeven. Bijvoorbeeld het downloaden van een foto uit de LOB-cloudservice van een organisatie die is gekoppeld aan het account van de organisatie. -
IntuneMAMOpenLocationOther- Deze locatie vertegenwoordigt elke niet-organisatorische locatie, niet eerder vermeld of een onbekende locatie. Als een account aan de locatie is gekoppeld, moet deze als tweede argument worden doorgegeven. Andersnilmoet in plaats daarvan worden gebruikt.
Speciale overwegingen voor open locaties
Gebruik IntuneMAMOpenLocationLocalStorage de locatie alleen voor app-sandbox-opslag die toegankelijk is voor de app. Om te controleren of een bestand kan worden geopend vanuit de opslag op een iOS-apparaat met een bestandenkiezer of een andere methode waarbij de gegevens ook toegankelijk zijn in de app Files, IntuneMAMOpenLocationOther moet worden gebruikt.
Als de doellocatie niet wordt vermeld, of IntuneMAMOpenLocationAccountDocumentIntuneMAMOpenLocationOther moet deze worden gebruikt. Als de locatie organisatiegegevens bevat waartoe toegang is verkregen met het beheerde account. U moet bijvoorbeeld de LOB-cloudservice voor het opslaan van organisatiegegevens IntuneMAMOpenLocationAccountDocument gebruiken. Als de locatie geen organisatiegegevens bevat, moet u de IntuneMAMSaveLocationOther locatie gebruiken.
Binnenkomende NSItemProviders en Files verwerken
Voor het afhandelen van NSItemProviders die van een share-extensie worden ontvangen, kan de IntuneMAMPolicy's-methode canReceiveSharedItemProvider: worden gebruikt in plaats van isOpenFromAllowedForLocation:withAccountId:. De canReceiveSharedItemProvider: methode gebruikt een NSItemProvider en retourneert of deze door de IT-beheerder is toegestaan om te worden geopend in het account van het IntuneMAMPolicy object. Het item moet worden geladen voordat deze methode wordt aangeroepen. Bijvoorbeeld door te bellen naar loadItemForTypeIdentifier:options:completionHandler. Deze methode kan ook worden aangeroepen vanaf de voltooiingshandler die is doorgegeven aan de NSItemProvider-aanroep.
Voor het verwerken van binnenkomende bestanden kan de IntuneMAMPolicy's-methode canReceiveSharedFile: worden gebruikt in plaats van isOpenFromAllowedForLocation:withAccountId:. De canReceiveSharedFile: methode gebruikt een NSString-pad en retourneert of het door de IT-beheerder is toegestaan om te worden geopend in het account van het IntuneMAMPolicy object.
Waarschuwing voor geblokkeerd delen
Een UI-helperfunctie kan worden gebruikt wanneer de isSaveToAllowedForLocation:withAccountId:isOpenFromAllowedForLocation:withAccountId: of-API wordt aangeroepen en gevonden om de actie opslaan/openen te blokkeren. Als de app de gebruiker wil laten weten dat de actie is geblokkeerd, kan de showSharingBlockedMessage API worden aangeroepen die is gedefinieerd om IntuneMAMUIHelper.h een waarschuwingsweergave met een algemeen bericht weer te geven.
Gegevens delen via UIActivityViewController
Vanaf release 8.0.2 kan de SDK van de Intune-app acties filterenUIActivityViewController, zodat alleen door Intune beheerde sharelocaties beschikbaar zijn om te selecteren. Dit gedrag wordt bepaald door het beleid voor gegevensoverdracht van toepassingen.
Kopieeracties
Bij het delen van documenten via de UIActivityViewController en UIDocumentInteractionController, geeft iOS 'Kopiëren naar'-acties weer voor elke toepassing die ondersteuning biedt voor het openen van het document dat wordt gedeeld. Toepassingen declareren de documenttypen die ze ondersteunen via de CFBundleDocumentTypes instelling in hun Info.plist. Dit type delen is niet meer beschikbaar als het beleid delen met onbeheerde toepassingen niet toestaat. Ter vervanging moeten gebruikers een niet-UI Action-extensie toevoegen aan hun toepassing en deze koppelen aan de Intune App SDK. De Action-extensie is slechts een stomp. De SDK implementeert het gedrag voor het delen van bestanden. Volg de onderstaande stappen:
Uw toepassing moet ten minste één schemeURL hebben gedefinieerd onder Info.plist
CFBundleURLTypes, samen met de-intunemambijbehorende partitie. Bijvoorbeeld:<key>CFBundleURLSchemes</key> <array> <string>launch-com.contoso.myapp</string> <string>launch-com.contoso.myapp-intunemam</string> </array>Zowel uw toepassings- als actie-extensie moeten ten minste één app-groep delen en de app-groep moet worden vermeld onder de
AppGroupIdentifiersmatrix onder de IntuneMAMSettingswoordenlijsten van de app en de extensie.Zowel je toepassings- als actie-extensie moeten de functie Sleutelhanger delen hebben en de
com.microsoft.intune.mamsleutelhangergroep delen.Geef de actie-extensie de naam 'Openen in', gevolgd door de naam van de toepassing. Lokaliseer de Info.plist indien nodig.
Geef een sjabloonpictogram voor de extensie op, zoals beschreven in de documentatie voor ontwikkelaars van Apple. U kunt ook het hulpprogramma IntuneMAMConfigurator gebruiken om deze installatiekopieën te genereren vanuit de map .app de toepassing. Ga hiervoor als volgt te werk:
IntuneMAMConfigurator -generateOpenInIcons /path/to/app.app -o /path/to/output/directoryVoeg onder IntuneMAMSettings in de Info.plist van de extensie een Booleaanse instelling toe met de naam
OpenInActionExtensionJa.Configureer de
NSExtensionActivationRuleom één bestand en alle typen van het voorvoegselcom.microsoft.intune.mamvan de toepassingCFBundleDocumentTypeste ondersteunen. Als de toepassing bijvoorbeeld public.text en public.image ondersteunt, is de activeringsregel:SUBQUERY ( extensionItems, $extensionItem, SUBQUERY ( $extensionItem.attachments, $attachment, ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.text" || ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.image").@count == 1 ).@count == 1
Bestaande extensies voor delen en actie bijwerken
Als uw app al extensies voor delen of acties bevat, moeten deze NSExtensionActivationRule worden gewijzigd om de Intune typen toe te staan. Voeg voor elk type dat door de extensie wordt ondersteund een extra type toe met com.microsoft.intune.mam. Als de bestaande activeringsregel bijvoorbeeld is:
SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.data"
).@count > 0
).@count > 0
Deze moet worden gewijzigd in:
SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.data" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.url" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.plain-text" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.image" ||
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.microsoft.intune.mam.public.data"
).@count > 0
).@count > 0
Opmerking
Met het hulpprogramma IntuneMAMConfigurator kunt u de Intune typen toevoegen aan de activeringsregel. Als uw bestaande activeringsregel de vooraf gedefinieerde tekenreeksconstanten gebruikt. Bijvoorbeeld, NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText, enzovoort, de syntaxis van het predicaat kan behoorlijk complex worden. Het hulpmiddel IntuneMAMConfigurator kan ook worden gebruikt om de activeringsregel te converteren van de tekenreeksconstanten naar een predikaattekenreeks terwijl de typen Intune worden toegevoegd.
Zo moet de gebruikersinterface eruitzien
Oude gebruikersinterface:
Nieuwe gebruikersinterface:
Gerichte app-configuratie inschakelen voor uw iOS-toepassingen
Met gerichte MAM-configuratie (ook wel bekend als MAM-app-configuratie) kan een app configuratiegegevens ontvangen via de Intune SDK. De indeling en varianten van deze gegevens moeten worden gedefinieerd en aan Intune-klanten worden meegedeeld door de eigenaar/ontwikkelaar van de app.
Intune beheerders kunnen configuratiegegevens targeten en implementeren via het Microsoft Intune beheercentrum en Intune Graph API. Vanaf versie 7.0.1 van de Intune App SDK voor iOS kunnen apps die deelnemen aan MAM-gerichte configuratie via de MAM-service aan MAM-gerichte configuratiegegevens worden geleverd. De toepassingsconfiguratiegegevens worden via onze MAM-service rechtstreeks naar de app gestuurd in plaats van via het MDM-kanaal. De SDK van de Intune-app biedt een klasse voor toegang tot de gegevens die zijn opgehaald van deze consoles. De volgende items zijn vereist:
De app moet worden geregistreerd bij de Intune MAM-service voordat u toegang krijgt tot de gerichte MAM-configuratie-UI. Zie Beveiligingsbeleid voor apps ontvangen voor meer informatie.
Opnemen
IntuneMAMAppConfigManager.hin het bronbestand van uw app.Bel
[[IntuneMAMAppConfigManager instance] appConfigForAccountId:]om het app-configuratieobject op te halen.Roep de juiste kiezer op voor
IntuneMAMAppConfighet object. Als de sleutel van uw toepassing bijvoorbeeld een tekenreeks is, wilt u ofstringValueForKeygebruikenallStringsForKey. ZieIntuneMAMAppConfig.hvoor een gedetailleerde beschrijving van retourwaarden en foutcondities.
Zie de naslaginformatie over de Graph API voor meer informatie over de mogelijkheden van de Graph API.
Zie de sectie over de configuratie van MAM-gerichte apps in How to use Microsoft Intune app configuration policies for iOS/iPadOS (Configuratiebeleid voor Microsoft Intune-apps gebruiken voor iOS/iPadOS) voor meer informatie over het maken van een MAM-gericht app-configuratiebeleid in iOS.
Telemetrie
Standaard verzamelt de Intune App SDK voor iOS telemetrie voor de volgende soorten gebeurtenissen:
App starten: om Microsoft Intune te helpen meer te weten te komen over het gebruik van MAM-apps per beheertype (MAM met MDM, MAM zonder MDM-registratie, enzovoort).
Inschrijvingsoproepen: om Microsoft Intune te helpen meer te weten te komen over het slagingspercentage en andere prestatiemetingen van inschrijvingsoproepen die vanaf de clientzijde zijn gestart.
Intune-acties: We verzamelen gegevens over SDK-acties van Intune om problemen te kunnen vaststellen en de functionaliteit van Intune te waarborgen.
Opmerking
Als u ervoor kiest geen Intune App SDK-telemetriegegevens naar Microsoft Intune te verzenden vanuit uw mobiele toepassing, moet u Intune App SDK-telemetrie-opname uitschakelen. Stel de eigenschap MAMTelemetryDisabled in op JA in de IntuneMAMSettings-woordenlijst.
Siri-intenties
Als uw app integreert met Siri Intents of Siri Intent-donaties doet, lees dan de opmerkingen voor areSiriIntentsAllowed in IntuneMAMPolicy.h voor instructies over het ondersteunen van dit scenario.
Opmerking
In iOS 16 en hoger is een nieuw systeemframework voor App-intenties beschikbaar voor het maken van Swift-app-intenties. Apps die een app-intentie implementeren, moeten eerst de areSiriIntentsAllowed eigenschap van het IntuneMAMPolicy-object controleren voor de gebruiker.
App-clips
Als uw app een app-clipdoel heeft, controleert u of er geen beheerde gegevens in de app-clip worden weergegeven. De app-clip moet worden beschouwd als een onbeheerde locatie. SDK-integratie in appclips wordt momenteel niet ondersteund.
Bedrukking
Als uw app afdrukken implementeert en een aangepaste afdrukactie biedt in een aangepast menu, moet u deze gebruiken UIPrintInteractionController.isPrintingAvailable() om te bepalen of u de actie Afdrukken moet toevoegen aan het aangepaste menu.
Schermopname blokkeren
Voor apps die zijn bijgewerkt naar v19.7.6 of hoger voor Xcode 15 en v20.2.1 of hoger voor Xcode 16 van de SDK, wordt schermopnameblokkering toegepast als u een andere waarde hebt geconfigureerd Send Org data to other apps dan 'Alle apps'. U kunt de app-configuratiebeleidsinstelling 'com.microsoft.intune.mam.screencapturecontrol = Disabled' configureren als u schermopname voor uw iOS-apparaten wilt toestaan.
Meldingen
Als uw app meldingen ontvangt, leest u de opmerkingen voor notificationPolicy in IntuneMAMPolicy.h voor instructies ter ondersteuning van dit scenario. Het is raadzaam dat apps zich registreren voor IntuneMAMPolicyDidChangeNotification de beschrijving in IntuneMAMPolicyManager.h, en deze waarde via de sleutelhanger aan hun UNNotificationServiceExtension gebruikers doorgeven.
Webextensies voor Safari
Als uw app een Safari-webextensie heeft en het verzenden van gegevens tussen de extensie en de bovenliggende toepassing ondersteunt, moet uw toepassing in sommige gevallen mogelijk het blokkeren van de gegevens ondersteunen. Als u de gegevens wilt blokkeren, roept u in de bovenliggende toepassing de isAppSharingAllowed API aan IntuneMAMPolicy.hen blokkeert u vervolgens de webextensie.
Post-build script
Het opdrachtregelprogramma IntuneMAMFrameworkPatcher moet niet langer worden uitgevoerd als laatste stap van het toepassingsbouwproces. Dit hulpprogramma is echter beschikbaar als onderdeel van de Intune App SDK voor iOS op GitHub.
Belangrijk
Vanaf release 17.7.1 van de Intune MAM SDK is deze stap niet meer vereist. Het opdrachtregelprogramma IntuneMAMFrameworkPatcher moet niet meer worden uitgevoerd.
Gebruik van de opdrachtregel
IntuneMAMFrameworkPatcher -i /path/to/directory_or_binary [-resign] [-verbose]
Parameters:
-
ivMetrdeze parameter kunt u ervoor kiezen om de Intune MAM Framework Patcher te installeren, te verwijderen of te controleren voor het bouwproces van de toepassing. -
path: Depathmap moet de hoofdmap zijn van de map .app van de toepassing. -
resign: met deresignoptie wordt het hulpprogramma geïnstrueerd om binaire bestanden te ondertekenen die een geldige handtekening hadden voordat het binaire bestand werd gepatcht. Deze optie moet worden gebruikt als het project framework-afhankelijkheden of invoegtoepassingen met de optie Insluiten en ondertekenen bevat, zelfs wanneer deze worden uitgevoerd vóór de definitieve ondertekening van de toepassing, of als het hulpprogramma wordt uitgevoerd na de definitieve ondertekening van de toepassing. -
verbose: deverboseoptie zorgt ervoor dat het hulpprogramma informatie geeft over elk binair bestand waarvoor een patch is uitgevoerd.
Andere toepassingen:
Verwijder de patch:
IntuneMAMFrameworkPatcher -r /path/to/directory_or_binary [-resign] [-verbose]Controleer de patch:
IntuneMAMFrameworkPatcher -v /path/to/directory_or_binary [-verbose]
Voorbeeld van script:
IntuneMAMFrameworkPatcher -i $BUILT_PRODUCTS_DIR/$EXECUTABLE_FOLDER_PATH -resign -verbose
Zie Aan de slag met de SDK van de Microsoft Intune-app voor meer informatie over aan de slag gaan en het downloaden van de SDK.
Exit-criteria
Beperkingen voor opslaan naar/openen van beperkingen valideren
Overslaan als u de besturingselementen Opslaan als en Openen vanuit niet hebt geïmplementeerd.
Maak uzelf opnieuw vertrouwd met elk scenario waarin uw app gegevens kan opslaan in cloudopslag of lokale locaties en gegevens kan openen vanuit cloudopslag of lokale locaties.
Voor het gemak wordt er bij deze tests vanuit aangenomen dat uw app alleen ondersteuning biedt voor het opslaan en openen van gegevens uit OneDrive voor Bedrijven vanaf één locatie in de app. U moet echter elke combinatie valideren: elke ondersteunde opslaglocatie op elke locatie waar uw app gegevens mag opslaan, en elke ondersteunde open locatie op elke locatie waar uw app het openen van gegevens toestaat.
Voor deze tests installeert u uw app, integreert u deze met de SDK en meldt u zich aan met een beheerd account voordat u de test start.
Bijkomend:
- Stel het beleid van het beheerde account in als:
- 'Organisatiegegevens verzenden naar andere apps' in 'Door beleid beheerde apps'.
- 'Gegevens ontvangen van andere apps' in 'Door beleid beheerde apps'.
| Scenario | Randvoorwaarden | Stappen |
|---|---|---|
| Opslaan naar, volledig toegestaan | Beleid 'Kopie van organisatiegegevens opslaan' ingesteld op 'Toestaan' | - Navigeer naar waar uw app gegevens kan opslaan in OneDrive voor Bedrijven. - Probeer een document op te slaan in OneDrive voor Bedrijven, met hetzelfde beheerde account dat is aangemeld bij uw app. - Controleer of opslaan is toegestaan. |
| Opslaan naar, vrijgesteld | - Beleid "Kopieën van organisatiegegevens opslaan" ingesteld op "Blokkeren" - Beleid "Gebruiker toestaan kopieën op te slaan voor geselecteerde services" is alleen ingesteld op "OneDrive voor Bedrijven" |
- Navigeer naar waar uw app gegevens kan opslaan in OneDrive voor Bedrijven. - Probeer een document op te slaan in OneDrive voor Bedrijven, met hetzelfde beheerde account dat is aangemeld bij uw app. - Controleer of opslaan is toegestaan. - Als uw app dit toestaat, probeert u het bestand op te slaan op een andere cloudopslaglocatie en controleert u of het is geblokkeerd. |
| Opslaan in, geblokkeerd | Beleid 'Kopieën van organisatiegegevens opslaan' ingesteld op 'Blokkeren' | - Navigeer naar waar uw app gegevens kan opslaan in OneDrive voor Bedrijven. - Probeer een document op te slaan in OneDrive voor Bedrijven, met hetzelfde beheerde account dat is aangemeld bij uw app. - Controleer of het opslaan is geblokkeerd. - Als uw app dit toestaat, probeert u het bestand op te slaan op een andere cloudopslaglocatie en controleert u of het is geblokkeerd. |
| Open vanaf, volledig toegestaan | Beleid 'Gegevens openen in organisatiedocumenten' ingesteld op 'Toestaan' | - Navigeer naar waar uw app gegevens van OneDrive voor Bedrijven kan openen. - Probeer een document te openen vanuit OneDrive voor Bedrijven, met hetzelfde beheerde account dat is aangemeld bij de opslagruimte van uw app. - Controleer of openen is toegestaan. |
| Open van, vrijgesteld | - Beleid "Open data into Org documents" ingesteld op "Blokkeren" - Beleid 'Gebruikers toestaan gegevens van geselecteerde services te openen' ingesteld op alleen 'OneDrive voor Bedrijven' |
- Navigeer naar waar uw app gegevens van OneDrive voor Bedrijven kan openen. - Probeer een document te openen vanuit OneDrive voor Bedrijven, met hetzelfde beheerde account dat is aangemeld bij de opslagruimte van uw app. - Controleer of openen is toegestaan. - Probeer als je app dit toestaat een ander bestand te openen vanuit een andere cloudopslaglocatie en controleer of het is geblokkeerd. |
| Open vanaf, geblokkeerd | Beleid 'Gegevens openen in organisatiedocumenten' ingesteld op 'Blokkeren' | - Navigeer naar waar uw app gegevens van OneDrive voor Bedrijven kan openen. - Probeer een document te openen vanuit OneDrive voor Bedrijven, met hetzelfde beheerde account dat is aangemeld bij de opslagruimte van uw app. - Controleer of het openen is geblokkeerd. - Probeer als je app dit toestaat een ander bestand te openen vanuit een andere cloudopslaglocatie en controleer of het is geblokkeerd. |
Acties voor kopiëren naar valideren
Sla over als u de acties 'Kopiëren naar' niet hebt geïmplementeerd.
Voor het gemak wordt er bij deze tests vanuit gegaan dat uw app alleen ondersteuning biedt voor het kopiëren van gegevens naar Microsoft Office-toepassingen zoals Microsoft Word, Excel enzovoort. U moet echter elke combinatie valideren: elke ondersteunde kopieerlocatie op elke locatie waarnaar uw app gegevens mag kopiëren.
Voor deze tests installeert u uw app, integreert u deze met de SDK en meldt u zich aan met een beheerd account voordat u de test start.
Bijkomend:
- Alle integratiestappen van 'Kopiëren naar'-acties met een actie-extensie voor Microsoft Word voltooid en de app bouwen en uitvoeren.
- Stel het beleid van het beheerde account in als:
- 'Organisatiegegevens verzenden naar andere apps' in 'Door beleid beheerde apps'.
| Scenario | Randvoorwaarden | Stappen |
|---|---|---|
| Apps selecteren om vrij te stellen, Geen | Beleid 'Organisatiegegevens verzenden naar andere apps' ingesteld op 'Door beleid beheerde apps' | - Navigeer naar waar uw app gegevens naar Microsoft Word kan kopiëren en start de optie voor het delen van die gegevens. - Bevestig in plaats van "Kopiëren naar Word" als optie te zien, zie je "Openen in Word". - Druk op 'Openen in Word' en bevestig dat het document is gekopieerd en met succes is bekeken, aangezien Word ook is aangemeld met hetzelfde beheerde account. |
Afdrukacties valideren
Sla over als u afdrukken niet hebt geïmplementeerd.
Voor deze test installeert u uw app, integreert u deze met de SDK en meldt u zich aan met een beheerd account voordat u de test start.
Bijkomend:
- Alle integratiestappen van Afdrukken voltooid en de app bouwen en uitvoeren.
- Uw app implementeert al waarschuwingen/actie-items om het geval af te handelen wanneer afdrukken niet is toegestaan van de APP IT-beheerder. Ga er in deze test vanuit dat uw app een waarschuwing voor eindgebruikers weergeeft wanneer afdrukken is geblokkeerd.
| Scenario | Stappen |
|---|---|
| Organisatiegegevens afdrukken, Blokkeren | - Navigeer naar waar uw app gegevens kan bekijken en start de optie voor het delen van die gegevens. - Druk op "Afdrukken". - Controleer of een blokkeringswaarschuwing wordt weergegeven en afdrukken niet is toegestaan. |
| Organisatiegegevens afdrukken, toestaan | - Navigeer naar waar uw app gegevens kan bekijken en start de optie voor het delen van die gegevens. - Druk op "Afdrukken". - Bevestig dat de weergave "Afdrukken" wordt weergegeven en dat u een printer kunt selecteren en de actie met succes kunt voltooien. |
Ontvangende app-configuraties valideren
Overslaan als u dat nog niet hebt gedaan Gerichte app-configuratie inschakelen voor uw iOS-toepassingen.
Intune is verantwoordelijk voor het leveren van de waarden voor het app-configuratiebeleid aan uw app. Daarna is het de verantwoordelijkheid van uw app om het gedrag of de gebruikersinterface in de app te wijzigen. Grondige end-to-end tests moeten beide componenten omvatten.
Ga als volgt te werk om te controleren of Intune app-configuratiebeleid correct levert:
- Configureer een app-configuratiebeleid dat is gericht op uw app en is geïmplementeerd voor uw testaccount.
- Als uw app app-configuratie voor beheerde apparaten ondersteunt, raadpleegt u toepassingsconfiguratiebeleid voor beheerde iOS Enterprise-apparaten.
- Zie Toepassingsconfiguratiebeleid voor beheerde apps als uw app app-configuratie voor beheerde apps ondersteunt.
- Als uw app beide typen app-configuratie ondersteunt, maakt u beide typen beleid voor testdoeleinden.
- Meld u aan bij uw app met uw testaccount.
- Navigeer door uw app om elk codepad uit te oefenen dat
IntuneMAMAppConfigManager'sappConfigForIdentity.- Het vastleggen van de resultaten van oproepen naar
appConfigForIdentityis een eenvoudige manier om te controleren welke instellingen worden geleverd. Beheerders kunnen echter alle gegevens invoeren voor de configuratie-instellingen van apps. Pas op dat u geen persoonlijke gegevens van gebruikers vastlegt.
- Het vastleggen van de resultaten van oproepen naar
- Zie Het toegepaste app-configuratiebeleid valideren.
Omdat app-configuraties app-specifiek zijn, weet u alleen hoe u kunt valideren hoe uw app het gedrag of de gebruikersinterface moet veranderen voor elke app-configuratie-instelling.
Houd bij het testen rekening met het volgende:
- Ervoor zorgen dat alle scenario's worden gedekt door verschillende test-app-configuratiebeleidsregels te maken met elke waarde die uw app ondersteunt.
- De logica voor conflictoplossing van uw app valideren door meerdere configuratiebeleidsregels voor test-apps te maken met verschillende waarden voor elke instelling.
Volgende stappen
Als u deze handleiding in de juiste volgorde hebt gevolgd en aan alle bovenstaande afsluitcriteria hebt voldaan, gefeliciteerd. Uw app is nu volledig geïntegreerd met de Intune App SDK en kan beveiligingsbeleid voor apps afdwingen. Bekijk ook andere belangrijke functies voor deelname aan apps , zoals fase 5: meerdere identiteiten, fase 6: ondersteuning voor voorwaardelijke toegang voor app-beveiliging en fase 7: functies voor webweergave om deze te integreren in uw app.
App-beveiliging is nu een belangrijk scenario voor uw app. Blijf deze handleiding en de bijlage raadplegen terwijl u uw app verder ontwikkelt.