Megosztás a következőn keresztül:


iOS-hez készült Intune App SDK – Alkalmazás részvételi funkciói

Az iOS-hez készült Microsoft Intune App SDK lehetővé teszi, hogy intune-alkalmazásvédelmi szabályzatokat (más néven APP - vagy MAM-szabályzatokat) építsen be a natív iOS-alkalmazásba. Az Intune által felügyelt alkalmazások integrálva lesznek az Intune App SDK-val. Az Intune-rendszergazdák egyszerűen telepíthetnek alkalmazásvédelmi szabályzatokat az Intune által felügyelt alkalmazásokban, ha az Intune aktívan kezeli az alkalmazást.

Megjegyzés:

Ez az útmutató több különböző szakaszra oszlik. Először tekintse át az Integráció megtervezése című témakört.

4. szakasz: Alkalmazás részvételi funkciói

Szakaszcélok

  • Ismerje meg az Intune App SDK különböző alkalmazás-részvételi funkcióit.
  • Az alkalmazás és a felhasználók számára releváns alkalmazás-részvételi funkciók integrálása.
  • Tesztelje ezeknek a funkcióknak az integrációját.

Mik azok az "alkalmazás-részvételi funkciók"?

Ez az SDK-integrációs folyamat megpróbálja minimalizálni a fejlesztők által megírandó alkalmazásspecifikus kód mennyiségét. Az SDK-integráció korábbi szakaszainak sikeres végrehajtásával az alkalmazás mostantól kikényszerítheti az alkalmazásvédelmi szabályzat beállításainak többségét, például a fájltitkosítást, a másolási/beillesztési korlátozásokat, a képernyőképek blokkolását és az adatátviteli korlátozásokat.

Vannak azonban olyan beállítások, amelyek megkövetelik az alkalmazásspecifikus kód megfelelő kikényszerítését; ezeket alkalmazás-részvételi funkcióknak nevezzük. Az SDK általában nem rendelkezik elegendő kontextussal az alkalmazás kódjáról vagy a végfelhasználói forgatókönyvről a beállítások automatikus kikényszerítéséhez, ezért a fejlesztőkre támaszkodik az SDK API-k megfelelő meghívásához.

Az alkalmazás részvételi funkciói nem feltétlenül választhatók. Az alkalmazás meglévő funkcióitól függően szükség lehet ezekre a funkciókra.

Az útmutató következő szakaszai számos fontos alkalmazás-részvételi funkciót ismertetnek:

Az útmutató további része az alkalmazás részvételi funkcióinak fennmaradó készletét ismerteti:

  • Engedélyezett fiókok implementálása
  • Szükséges fájltitkosítás implementálása
  • Save-as és open-from vezérlők implementálása
  • Adatok megosztása az UIActivityViewController használatával
  • Célzott konfiguráció (APP/MAM-alkalmazáskonfiguráció) engedélyezése iOS-alkalmazásokhoz
  • Telemetria
  • Siri szándékok
  • Alkalmazásklipek
  • Nyomtatás
  • Értesítések
  • Buildelés utáni szkript

Az alkalmazás viselkedésének testreszabása API-kkal

Az Intune App SDK számos OLYAN API-val rendelkezik, amelyeket meghívhat, hogy információkat kapjon az alkalmazásra telepített Intune APP-szabályzatról. Ezek az adatok az alkalmazás viselkedésének testreszabására használhatók. Az alábbi táblázat az Ön által használt néhány alapvető Intune-osztályról tartalmaz információkat.

Osztály Leírás
IntuneMAMPolicyManager.h Az IntuneMAMPolicyManager osztály elérhetővé teszi az alkalmazásra telepített Intune APP-szabályzatot. Konkrétan olyan API-kat tesz elérhetővé, amelyek hasznosak a többszörös identitás engedélyezéséhez.
IntuneMAMPolicy.h Az IntuneMAMPolicy osztály elérhetővé tesz néhány MAM-szabályzatbeállítást, amelyek az alkalmazásra vonatkoznak. A szabályzatbeállítások többsége elérhető, így az alkalmazás testre szabhatja a felhasználói felületét. A legtöbb szabályzatbeállítást az SDK kényszeríti ki, nem az alkalmazás. Van azonban néhány kivétel. Az alkalmazásfejlesztőknek át kell tekinteniük az ebben a fejlécben található megjegyzéseket annak meghatározásához, hogy mely API-k alkalmazhatók az alkalmazásuk forgatókönyveire.
IntuneMAMFileProtectionManager.h Az IntuneMAMFileProtectionManager osztály olyan API-kat tesz elérhetővé, amelyeket az alkalmazás a megadott identitáson alapuló fájlok és könyvtárak explicit védelmére használhat. Az identitást az Intune felügyelheti vagy nem felügyelheti, és az SDK alkalmazza a megfelelő MAM-szabályzatot. Az osztály használata nem kötelező.
IntuneMAMDataProtectionManager.h Az IntuneMAMDataProtectionManager osztály olyan API-kat tesz elérhetővé, amelyeket az alkalmazás az adatpufferek védelmére használhat a megadott identitás alapján. Az identitást az Intune felügyelheti vagy nem felügyelheti, és az SDK megfelelően alkalmazza a titkosítást.

Engedélyezett fiókok implementálása

Az Intune lehetővé teszi a rendszergazdák számára, hogy meghatározzák, hogy a felhasználó mely fiókokba tud bejelentkezni. Az alkalmazások lekérdezhetik az Intune App SDK-t az engedélyezett fiókok megadott listájáról, majd meggyőződhetnek arról, hogy csak az engedélyezett fiókok vannak bejelentkezve az eszközre.

Az engedélyezett fiókok lekérdezéséhez az alkalmazásnak ellenőriznie kell a allowedAccounts tulajdonságát a IntuneMAMEnrollmentManagerkövetkezőn: . A allowedAccounts tulajdonság vagy egy tömb, amely az engedélyezett fiókokat tartalmazza, vagy üres. Ha a tulajdonság értéke nil, akkor nincs megadva engedélyezett fiók. Az MSAL/OneAuth-kompatibilis alkalmazásoknak a allowedAccountIds példány tulajdonságát kell használniuk az IntuneMAMEnrollmentManager Entra objektumazonosítójának lekérdezéséhez.

Az alkalmazások az értesítés megfigyelésével reagálhatnak a allowedAccounts tulajdonság változásaira IntuneMAMAllowedAccountsDidChangeNotification is. Az értesítés akkor lesz közzétéve, ha a allowedAccounts tulajdonság értéke megváltozik.

Az API-k engedélyezett fiókokhoz való használatakor a következő követelményekre van szükség:

  • Az identitás-összehasonlításnak nem különbözteti meg a kis- és nagybetűket az UPN és az OID esetében.
  • Az identitás-összehasonlításnak támogatnia kell az UPN-t és az OID-t is.
  • Az alkalmazásnak naplózással kell rendelkeznie a rendszergazda által megadott fiók és a felhasználó által megadott fiók közötti eltérés diagnosztizálásához.

Szükséges fájltitkosítás implementálása

A isFileEncryptionRequired ben IntuneMAMPolicy.h definiált API tájékoztatja az alkalmazásokat, ha a rendszergazda megköveteli, hogy az alkalmazások Intune-titkosítást használjanak a lemezre mentett fájlokon. Ha isFileEncryptionRequired igaz, akkor az alkalmazás felelőssége biztosítani, hogy az alkalmazás által lemezre mentett fájlok titkosítása a , IntuneMAMFileProtectionManager.hIntuneMAMFDataProtectionManager.hés API-kkal IntuneMAMFile.htörténjen.

Az alkalmazások a ben meghatározott értesítés megfigyelésével reagálhatnak a IntuneMAMDataProtectionDidChangeNotification szabályzat változásaira IntuneMAMFDataProtectionManager.h.

Save-as és open-from vezérlők implementálása

Az Intune-nal a rendszergazdák kiválaszthatják, hogy egy felügyelt alkalmazás mely tárolási helyekről menthet adatokat, illetve mely helyekről nyithat meg adatokat. Az alkalmazások lekérdezhetik az Intune MAM SDK-ból az engedélyezett mentési helyeket a isSaveToAllowedForLocation:withAccountId: ben IntuneMAMPolicy.hdefiniált API használatával. Az alkalmazások lekérdezhetik az SDK-t is az engedélyezett nyílt tárhelyekről a szintén a-ben isOpenFromAllowedForLocation:withAccountId:IntuneMAMPolicy.hdefiniált API-val.

Emellett az alkalmazások a fájlban definiált API lekérdezésével canReceiveSharedItemProvider: ellenőrizhetik, hogy a megosztási bővítményből érkező adatok engedélyezve van-e IntuneMAMPolicy.h. Az alkalmazások lekérdezhetik az canReceiveSharedFile: API-t is, hogy ellenőrizzék a bejövő fájlokat egy openURL-hívásból, amely szintén a következőben van meghatározva: IntuneMAMPolicy.h

Megjegyzés:

A MAM SDK 15.1.0-s verziójának belső viselkedése módosult.

  • A nil rendszer a továbbiakban nem kezeli a fiókokat a LocalDrive/LocalStorage helyek aktuális fiókjaként. A fiók átadása nil nem felügyelt fiókként lesz kezelve. Mivel az alkalmazások szabályozhatják, hogyan kezelik a tesztkörnyezeti tárolójukat, egy identitás társítható és társítható ezekhez a helyekhez.
  • Az nil egy identitással rendelkező alkalmazások esetében a fiók már nem lesz aktuális fiókként kezelve. nil A fiók egy identitással rendelkező alkalmazásban való átadása mostantól pontosan ugyanúgy történik, mintha egy több identitást tartalmazó alkalmazásba lett volna átadva. Ha egy identitással rendelkező alkalmazást fejleszt, az IntuneMAMPolicy's primaryUser használatával hivatkozzon az aktuális fiókra, ha felügyelt, és nil ha nem felügyelt, hivatkozzon az aktuális fiókra.

Mentési forgatókönyvek kezelése

Mielőtt új felhőbeli tárolóba vagy helyi helyre helyezne át adatokat, az alkalmazásnak ellenőriznie kell az isSaveToAllowedForLocation:withAccountId: API-val, hogy a rendszergazda engedélyezte-e az adatátvitelt. Ez a metódus egy objektumon van meghívva IntuneMAMPolicy . A helyben szerkesztett és mentett adatokat nem kell ellenőrizni ezzel az API-val.

Megjegyzés:

Az IntuneMAMPolicy objektumnak a mentett adatok tulajdonosának szabályzatait kell képviselnie. Egy adott identitás objektumának lekéréséhez hívja meg IntuneMAMPolicyManagera IntuneMAMPolicy metódustpolicyForAccountId:. Ha a tulajdonos identitás nélküli, nem felügyelt fiók, nil akkor átadható a következőnek policyForAccountId:: . Még akkor is meghívandó, isSaveToAllowedForLocation:withAccountId: ha a mentett adatok nem szervezeti adatok. Előfordulhat, hogy a célhelyet birtokoló fiók házirendjei korlátozzák a bejövő nem felügyelt adatokat.

A isSaveToAllowedForLocation:withAccountId: metódus két argumentumot vesz fel. Az első argumentum a fájlban IntuneMAMPolicy.hdefiniált típus IntuneMAMSaveLocation enumerálási értéke. A második argumentum a hely tulajdonos identitásának egyszerű felhasználónévje. Ha a tulajdonos nem ismert, nil használhatja helyette.

Támogatott mentési helyek

Az Intune MAM SDK a következő mentési IntuneMAMPolicy.hhelyekhez nyújt támogatást:

  • IntuneMAMSaveLocationOneDriveForBusiness – Ez a hely a OneDrive Vállalati verzió helyeit jelöli. A OneDrive-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMSaveLocationSharePoint – Ez a hely a SharePoint Online-t és a Microsoft Entra hibrid modern hitelesítésű Helyszíni SharePoint-helyeket jelöli. A SharePoint-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMSaveLocationLocalDrive – Ez a hely olyan alkalmazás-tesztkörnyezeti tárolót jelöl, amelyet csak az alkalmazás érhet el. Ez a hely nem használható fájlválasztón keresztüli mentéshez, illetve fájlokba megosztási bővítményen keresztüli mentéshez. Ha egy identitás társítható az alkalmazás-tesztkörnyezet tárolójával, akkor a második argumentumként kell átadni. Ha nincs identitás, nil akkor inkább át kell adni. Előfordulhat például, hogy egy alkalmazás külön alkalmazás-tesztkörnyezet tárolókat használ a különböző fiókokhoz. Ebben az esetben a második argumentumként azt a fiókot kell használni, amely az elérni kívánt tároló tulajdonosa.
  • IntuneMAMSaveLocationCameraRoll – Ez a hely az iOS fotótárat jelöli. Mivel nincs társítva fiók az iOS-fotótárhoz, csak nil a második argumentumként kell megadni, ha ezt a helyet használja.
  • IntuneMAMSaveLocationAccountDocument – Ez a hely minden olyan szervezeti helyet jelöl, amely korábban nem szerepel a listán, és amely egy felügyelt fiókhoz köthető. A helyhez társított szervezeti fiókot második argumentumként kell átadni. Például feltölthet egy fényképet egy szervezet szervezeti fiókhoz kötött üzletági felhőszolgáltatásához.
  • IntuneMAMSaveLocationOther – Ez a hely bármilyen nem szervezett, korábban nem felsorolt vagy ismeretlen helyet jelöl. Ha egy fiók társítva van a helyhez, akkor azt a második argumentumként kell átadni. nil Ellenkező esetben inkább a függvényt kell használni.
A mentési helyekre vonatkozó speciális szempontok

A IntuneMAMSaveLocationLocalDrive helyet csak olyan alkalmazás-tesztkörnyezeti tárolókhoz szabad használni, amelyeket csak az alkalmazás érhet el. Annak ellenőrzéséhez, hogy egy fájl menthető-e iOS-eszköztárolóba egy fájlválasztóval vagy más olyan módszerrel, ahol az adatok elérhetők lesznek a Fájlok alkalmazásban, IntuneMAMSaveLocationOther érdemes használni.

Ha a célhely nem szerepel a listában, IntuneMAMSaveLocationAccountDocument vagy IntuneMAMSaveLocationOther azt kell használni. Ha a hely olyan szervezeti adatokat tartalmaz, amelyek a felügyelt fiókkal (azaz) érhetők el. A szervezeti adatok IntuneMAMSaveLocationAccountDocument tárolására szolgáló LOB felhőszolgáltatást) kell használni. Ha a hely nem tartalmaz szervezeti adatokat, akkor a IntuneMAMSaveLocationOther helyet kell használni.

Nyílt forráskódú forgatókönyvek kezelése

Mielőtt adatokat importál egy új felhőbeli tárolóból vagy helyi helyről, az alkalmazásnak ellenőriznie kell az isOpenFromAllowedForLocation:withAccountId: API-val, hogy a rendszergazda engedélyezte-e az adatátvitelt. Ez a metódus egy objektumon van meghívva IntuneMAMPolicy . A helyben megnyitott adatokat nem kell ellenőrizni ezzel az API-val.

Megjegyzés:

Az IntuneMAMPolicy objektumnak az adatokat fogadó identitás szabályzatait kell képviselnie. Egy adott identitás objektumának lekéréséhez hívja meg IntuneMAMPolicyManagera IntuneMAMPolicy metódustpolicyForAccountId:. Ha a fogadó fiók egy identitás nélküli, nem felügyelt fiók, nil akkor továbbítható a következőnek policyForAccountId:: . Még akkor is meghívandó, isOpenFromAllowedForLocation:withAccountId: ha a fogadott adatok nem szervezeti adatok. Előfordulhat, hogy az adatok tulajdonosa fiókban továbbra is vannak olyan szabályzatok, amelyek korlátozzák a kimenő adatátvitelek célhelyét.

A isOpenFromAllowedForLocation:withAccountId: metódus két argumentumot vesz fel. Az első argumentum a fájlban IntuneMAMPolicy.hdefiniált típus IntuneMAMOpenLocation enumerálási értéke. A második argumentum a hely tulajdonos identitásának egyszerű felhasználónévje. Ha a tulajdonos nem ismert, nil használhatja helyette.

Támogatott nyitott helyek

Az Intune MAM SDK a következő, a rendszerben IntuneMAMPolicy.hdefiniált nyílt helyekhez nyújt támogatást:

  • IntuneMAMOpenLocationOneDriveForBusiness – Ez a hely a OneDrive Vállalati verzió helyeit jelöli. A OneDrive-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMOpenLocationSharePoint – Ez a hely a SharePoint Online-t és a Microsoft Entra hibrid modern hitelesítésű Helyszíni SharePoint-helyeket jelöli. A SharePoint-fiókhoz társított identitást második argumentumként kell átadni.
  • IntuneMAMOpenLocationCamera – Ez a hely csak a kamera által készített új képeket jelöli. Mivel nincs társítva fiók az iOS-kamerához, csak nil a második argumentumot kell megadni a hely használata esetén. Az iOS fotótárból származó adatok megnyitásához használja a következőt IntuneMAMOpenLocationPhotos: .
  • IntuneMAMOpenLocationPhotos – Ez a hely csak az iOS fotótárban meglévő képeket jelöli. Mivel nincs társítva fiók az iOS-fotótárhoz, csak nil a második argumentumként kell megadni, ha ezt a helyet használja. A közvetlenül az iOS-kameráról készített képek megnyitásához használja a következőt IntuneMAMOpenLocationCamera: .
  • IntuneMAMOpenLocationLocalStorage – Ez a hely olyan alkalmazás-tesztkörnyezeti tárolót jelöl, amelyet csak az alkalmazás érhet el. Ez a hely nem használható fájlok fájlválasztóból való megnyitására vagy openURL-ből érkező fájlok kezelésére. Ha egy identitás társítható az alkalmazás-tesztkörnyezet tárolójával, akkor a második argumentumként kell átadni. Ha nincs identitás, nil akkor inkább át kell adni. Előfordulhat például, hogy egy alkalmazás külön alkalmazás-tesztkörnyezet tárolókat használ a különböző fiókokhoz. Ebben az esetben a második argumentumként azt a fiókot kell használni, amely az elérni kívánt tároló tulajdonosa.
  • IntuneMAMOpenLocationAccountDocument – Ez a hely minden olyan szervezeti helyet jelöl, amely korábban nem szerepel a listán, és amely egy felügyelt fiókhoz köthető. A helyhez társított szervezeti fiókot második argumentumként kell átadni. Például egy fénykép letöltése egy szervezet szervezeti fiókhoz kötött üzletági felhőszolgáltatásából.
  • IntuneMAMOpenLocationOther – Ez a hely bármilyen nem rendezetlen helyet jelöl, amely korábban nem szerepel a listán, vagy bármilyen ismeretlen helyet. Ha egy fiók társítva van a helyhez, akkor azt a második argumentumként kell átadni. nil Ellenkező esetben inkább a függvényt kell használni.
A nyitott helyekre vonatkozó speciális szempontok

A IntuneMAMOpenLocationLocalStorage helyet csak az alkalmazás által elérhető alkalmazás-tesztkörnyezeti tárolókhoz szabad használni. Annak ellenőrzéséhez, hogy egy fájl megnyitható-e iOS-eszköztárolóból egy fájlválasztón keresztül, vagy más olyan módszert kell használni, IntuneMAMOpenLocationOther ahol az adatok a Fájlok alkalmazásban is elérhetők.

Ha a célhely nem szerepel a listában, IntuneMAMOpenLocationAccountDocument vagy IntuneMAMOpenLocationOther azt kell használni. Ha a hely olyan szervezeti adatokat tartalmaz, amelyek a felügyelt fiók használatával érhetők el. Például a szervezeti adatok IntuneMAMOpenLocationAccountDocument tárolására szolgáló LOB felhőszolgáltatást kell használni. Ha a hely nem tartalmaz szervezeti adatokat, akkor a IntuneMAMSaveLocationOther helyet kell használni.

Bejövő NSItemProviderek és fájlok kezelése

A megosztásbővítménytől kapott NSItemProviderek kezeléséhez a metódus canReceiveSharedItemProvider: használható a IntuneMAMPolicyisOpenFromAllowedForLocation:withAccountId:helyett. A canReceiveSharedItemProvider: metódus egy NSItemProvidert használ, és visszaadja, hogy a rendszergazda engedélyezi-e az IntuneMAMPolicy objektum fiókjába való megnyitást. A metódus meghívása előtt be kell tölteni az elemet. Például a meghívásával loadItemForTypeIdentifier:options:completionHandler. Ez a metódus az NSItemProvider betöltési hívásnak átadott befejezéskezelőből is meghívható.

A bejövő fájlok kezeléséhez a IntuneMAMPolicycanReceiveSharedFile: metódus használható a isOpenFromAllowedForLocation:withAccountId:helyett. A canReceiveSharedFile: metódus egy NSString elérési utat használ, és visszaadja, hogy a rendszergazda engedélyezi-e az IntuneMAMPolicy objektum fiókjába való megnyitást.

Letiltott megosztási riasztás

A felhasználói felület segédfüggvénye akkor használható, ha meghívja a vagy isOpenFromAllowedForLocation:withAccountId: az isSaveToAllowedForLocation:withAccountId: API-t, és letiltja a mentési/megnyitási műveletet. Ha az alkalmazás értesíteni szeretné a felhasználót a művelet letiltásáról, meghívhatja a showSharingBlockedMessage ben IntuneMAMUIHelper.h definiált API-t, hogy általános üzenettel jelenítsen meg egy riasztási nézetet.

Adatok megosztása az UIActivityViewController használatával

A 8.0.2-es kiadástól kezdődően az Intune App SDK képes szűrni UIActivityViewController a műveleteket, így csak az Intune által felügyelt megosztási helyek választhatók ki. Ezt a viselkedést az alkalmazás adatátviteli szabályzata szabályozza.

"Másolás a fájlba" műveletek

Ha a és UIDocumentInteractionControllera használatával oszt meg dokumentumokat, az UIActivityViewController iOS a "Másolás a következőre" műveleteket jeleníti meg minden olyan alkalmazás esetében, amely támogatja a megosztott dokumentum megnyitását. Az alkalmazások az Info.plist fájlban megadott beállítással deklarálják az CFBundleDocumentTypes általuk támogatott dokumentumtípusokat. Ez a megosztási típus többé nem lesz elérhető, ha a szabályzat megtiltja a megosztást a nem felügyelt alkalmazásoknak. Csereként a felhasználónak hozzá kell adnia egy nem felhasználói felületi műveleti bővítményt az alkalmazásához, és hozzá kell kapcsolnia az Intune App SDK-hoz. Az Action bővítmény csupán egy csonk. Az SDK implementálja a fájlmegosztási viselkedést. Kövesse az alábbi lépéseket:

  1. Az alkalmazásnak legalább egy schemeURL-t kell definiálnia az Info.plist CFBundleURLTypes fájlban a megfelelőjével -intunemam együtt. Például:

    <key>CFBundleURLSchemes</key>
     <array>
     	<string>launch-com.contoso.myapp</string>
     	<string>launch-com.contoso.myapp-intunemam</string>
     </array>
    
  2. Az alkalmazás- és műveletbővítménynek legalább egy alkalmazáscsoportot meg kell osztania, és az alkalmazáscsoportnak az AppGroupIdentifiers alkalmazás és a bővítmény IntuneMAMSettings szótárai alatti tömbben kell szerepelnie.

  3. Mind az alkalmazásnak, mind a műveletbővítménynek rendelkeznie kell a Kulcskarika-megosztás funkcióval, és meg kell osztania a com.microsoft.intune.mam kulcskarikacsoportot.

  4. Nevezze el a "Megnyitás" műveletbővítményt, majd az alkalmazás nevét. Szükség szerint honosítsa az Info.plist fájlt.

  5. Adjon meg egy sablonikont a bővítményhez az Apple fejlesztői dokumentációjában leírtak szerint. Alternatív megoldásként az IntuneMAMConfigurator eszközzel is létrehozhatja ezeket a lemezképeket az alkalmazás .app könyvtárából. Ehhez futtassa a következőt:

    IntuneMAMConfigurator -generateOpenInIcons /path/to/app.app -o /path/to/output/directory
    
  6. A bővítmény Info.plist fájljában található IntuneMAMSettings területen adjon hozzá egy IGEN értékű logikai beállítást OpenInActionExtension .

  7. Konfigurálja a-t NSExtensionActivationRule egyetlen fájl és az alkalmazás előtagjának összes típusának CFBundleDocumentTypes támogatására a következővel com.microsoft.intune.mam: . Ha például az alkalmazás támogatja a public.text és a public.image szöveget, az aktiválási szabály a következő:

    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
    

Meglévő megosztási és műveletbővítmények frissítése

Ha az alkalmazás már tartalmaz megosztási vagy műveletbővítményeket, azokat NSExtensionActivationRule módosítani kell az Intune-típusok engedélyezéséhez. A bővítmény által támogatott összes típushoz adjon hozzá egy további, előtaggal com.microsoft.intune.mamellátott típust. Ha például a meglévő aktiválási szabály a következő:

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

Ezt a következőre kell módosítani:

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

Megjegyzés:

Az IntuneMAMConfigurator eszközzel hozzáadhatja az Intune-típusokat az aktiválási szabályhoz. Ha a meglévő aktiválási szabály az előre definiált sztringkonstansokat használja. Például: NSExtensionActivationSupportsFileWithMaxCount, NSExtensionActivationSupportsText stb., a predikátum szintaxisa meglehetősen összetett lehet. Az IntuneMAMConfigurator eszközzel az aktiválási szabályt a sztringállandókból predikátumsztringgé alakíthatja az Intune-típusok hozzáadásakor.

Hogyan kell kinéznie a felhasználói felületnek?

Régi felhasználói felület:

Adatok megosztása – iOS régi megosztási felhasználói felülete

Új felhasználói felület:

Adatok megosztása – iOS új megosztási felhasználói felület

Célzott alkalmazáskonfiguráció engedélyezése iOS-alkalmazásokhoz

A célzott MAM-konfiguráció (más néven MAM-alkalmazáskonfiguráció) lehetővé teszi, hogy az alkalmazások konfigurációs adatokat fogadjanak az Intune SDK-n keresztül. Az adatok formátumát és változatait az alkalmazás tulajdonosának/fejlesztőjének kell meghatároznia és közölnie az Intune-ügyfelekkel.

Az Intune-rendszergazdák a Microsoft Intune Felügyeleti központban és az Intune Graph API-n keresztül célozhatják meg és helyezhetik üzembe a konfigurációs adatokat. Az iOS-hez készült Intune App SDK 7.0.1-es verziójától a célzott MAM-konfigurációban részt vevő alkalmazások a MAM szolgáltatáson keresztül biztosíthatják a célzott MAM-konfigurációs adatokat. Az alkalmazáskonfigurációs adatok a MAM szolgáltatáson keresztül közvetlenül az alkalmazásba kerülnek, nem pedig az MDM-csatornán keresztül. Az Intune App SDK egy osztályt biztosít a konzolokról lekért adatok eléréséhez. A következő elemek előfeltételek:

  • Az alkalmazást regisztrálni kell az Intune MAM szolgáltatásban, mielőtt hozzáfér a célzott MAM-konfigurációs felhasználói felülethez. További információ: Alkalmazásvédelmi szabályzat fogadása.

  • Szerepeljen IntuneMAMAppConfigManager.h az alkalmazás forrásfájljában.

  • Az alkalmazáskonfigurálási objektum lekéréséhez hívja meg a következőt [[IntuneMAMAppConfigManager instance] appConfigForAccountId:] : .

  • Hívja meg a megfelelő választót az objektumon IntuneMAMAppConfig . Ha például az alkalmazás kulcsa egy sztring, akkor a vagy allStringsForKeya értéket kell használniastringValueForKey. A IntuneMAMAppConfig.h visszatérési értékek és a hibafeltételek részletes leírását lásd.

A Graph API képességeivel kapcsolatos további információkért lásd: Graph API-referencia.

A célzott MAM-alkalmazáskonfigurációs szabályzatok iOS-ben történő létrehozásáról további információt a célzott MAM-alkalmazáskonfigurációról a Microsoft Intune alkalmazáskonfigurációs szabályzatainak használata iOS/iPadOS rendszeren című témakörben talál.

Telemetria

Az iOS-hez készült Intune App SDK alapértelmezés szerint a következő típusú eseményekről gyűjt telemetriát:

  • Alkalmazás indítása: Annak érdekében, hogy a Microsoft Intune megismerhesse a MAM-kompatibilis alkalmazások használatát felügyeleti típus szerint (MAM MDM-sel, MAM MDM-regisztráció nélkül stb.).

  • Regisztrációs hívások: Annak érdekében, hogy a Microsoft Intune megismerhesse a sikerességi arányt és az ügyféloldalról kezdeményezett regisztrációs hívások egyéb teljesítménymetrikáit.

  • Intune-műveletek: A problémák diagnosztizálása és az Intune működésének biztosítása érdekében információkat gyűjtünk az Intune SDK-műveletekről.

Megjegyzés:

Ha úgy dönt, hogy nem küldi el az Intune App SDK telemetriai adatait a Microsoft Intune-nak a mobilalkalmazásból, le kell tiltania az Intune App SDK telemetriai adatok rögzítését. Állítsa a tulajdonságot MAMTelemetryDisabled IGEN értékre az IntuneMAMSettings szótárban.

Siri szándékok

Ha az alkalmazás integrálva van a Siri Szándékokkal, vagy Siri Szándékadományokat készít, mindenképpen olvassa el a következőhöz tartozó megjegyzéseket areSiriIntentsAllowedIntuneMAMPolicy.h a forgatókönyv támogatásával kapcsolatban.

Megjegyzés:

Az iOS 16-os és újabb verziókban egy új App Intents rendszer-keretrendszer érhető el a Swift-alkalmazás szándékainak létrehozásához. Az alkalmazás szándékát megvalósító alkalmazásoknak először ellenőriznie kell a areSiriIntentsAllowed felhasználó IntuneMAMPolicy objektumának tulajdonságát.

Alkalmazásklipek

Ha az alkalmazás tartalmaz alkalmazásklip-célt, győződjön meg arról, hogy nem jelennek meg felügyelt adatok az alkalmazásklipben. Az alkalmazásklipet nem felügyelt helynek kell tekinteni. Az SDK appklipekbe való integrálása jelenleg nem támogatott.

Nyomtatás

Ha az alkalmazás implementálja a nyomtatást, és egyéni nyomtatási műveletet biztosít egy egyéni menüben, mindenképpen használja UIPrintInteractionController.isPrintingAvailable() annak meghatározásához, hogy fel kell-e vennie a nyomtatási műveletet az egyéni menübe.

Értesítések

Ha az alkalmazás értesítéseket kap, mindenképpen olvassa el a következőhöz tartozó megjegyzéseket notificationPolicyIntuneMAMPolicy.h , hogy útmutatást kapjon a forgatókönyv támogatásához. Javasoljuk, hogy az alkalmazások regisztráljanak a () szakaszban IntuneMAMPolicyManager.hleírtakraIntuneMAMPolicyDidChangeNotification, és ezt az értéket a kulcskarikán keresztül közöljék UNNotificationServiceExtension velük.

Safari webes bővítmények

Ha az alkalmazás rendelkezik Safari webes bővítménysel, és támogatja az adatok küldését a bővítmény és a szülőalkalmazás között, bizonyos esetekben előfordulhat, hogy az alkalmazásnak támogatnia kell az adatok blokkolását. Az adatok blokkolásához a szülőalkalmazásban hívja meg az API-t a isAppSharingAllowed fájlban IntuneMAMPolicy.h, majd tiltsa le a webes bővítményt.

Buildelés utáni szkript

Az IntuneMAMFrameworkPatcher parancssori eszközt már nem kell futtatni az alkalmazás buildelési folyamatának utolsó lépéseként. Ez az eszköz azonban az iOS-hez készült Intune App SDK részeként érhető el a GitHubon.

Fontos

Az Intune MAM SDK 17.7.1-es kiadásától ez a lépés már nem szükséges. Az IntuneMAMFrameworkPatcher parancssori eszközt már nem kell futtatni.

Parancssori használat

IntuneMAMFrameworkPatcher -i /path/to/directory_or_binary [-resign] [-verbose]

Paraméterek:

  • i, r, v: Ez a paraméter lehetővé teszi az Intune MAM Framework Patcher telepítését, eltávolítását vagy ellenőrzését az alkalmazás buildelési folyamatához.
  • path: A path legyen az alkalmazás .app könyvtárának gyökere.
  • resign: A resign beállítás arra utasítja az eszközt, hogy a bináris fájl javítása előtt lemondjon az érvényes aláírással rendelkező bináris fájlokról. Ezt a lehetőséget akkor kell használni, ha a projekt keretrendszerfüggőségeket vagy beépülő modulokat tartalmaz a Beágyazás és az Aláírás beállítással, még akkor is, ha az utolsó alkalmazás-aláírás előtt fut, vagy ha az eszköz a végső alkalmazás-aláírás után fut.
  • verbose: A verbose beállítás hatására az eszköz adatokat ad ki minden javított bináris fájlról.

Egyéb használati adatok:

  • Távolítsa el a javítást:

    IntuneMAMFrameworkPatcher -r /path/to/directory_or_binary [-resign] [-verbose]

  • Ellenőrizze a javítást:

    IntuneMAMFrameworkPatcher -v /path/to/directory_or_binary [-verbose]

Példaszkript:

IntuneMAMFrameworkPatcher -i $BUILT_PRODUCTS_DIR/$EXECUTABLE_FOLDER_PATH -resign -verbose

További információ az első lépésekről és az SDK letöltéséről: Ismerkedés a Microsoft Intune App SDK-val.

Kilépési feltételek

A mentés ellenőrzése a korlátozásokból való megnyitásra vagy mentésre

Kihagyhatja, ha nem implementálja a mentés másként és a megnyitási vezérlőket.

Ismerkedjen meg minden olyan forgatókönyvvel, ahol az alkalmazás adatokat menthet a felhőbeli vagy helyi tárhelyekre, és megnyithat adatokat a felhőbeli tárolókból vagy helyi helyekről.

Az egyszerűség kedvéért ezek a tesztek feltételezik, hogy az alkalmazás csak a OneDrive Vállalati verzióba való mentést és az adatoknak az alkalmazáson belüli egyetlen helyről történő megnyitását támogatja. Azonban minden kombinációt ellenőriznie kell: minden támogatott mentési hely minden olyan helyhez, ahol az alkalmazás lehetővé teszi az adatok mentését, és minden támogatott nyílt hely minden olyan helyhez, ahol az alkalmazás lehetővé teszi az adatok megnyitását.

Ezekhez a tesztekhez telepítse az alkalmazást, integrálja az SDK-val, és jelentkezzen be egy felügyelt fiókkal a teszt megkezdése előtt.

Továbbá:

  • Állítsa be a felügyelt fiók szabályzatát a következőként:
    • "Szervezeti adatok küldése más alkalmazásoknak" a szabályzattal felügyelt alkalmazásoknak.
    • "Adatok fogadása más alkalmazásokból" a szabályzattal felügyelt alkalmazásokba.
Forgatókönyv Előfeltételek Utaslépcső
Mentés a fájlba, teljes mértékben engedélyezve "Szervezeti adatok másolatainak mentése" szabályzat "Engedélyezés" értékre állítva – Navigáljon arra a helyre, ahová az alkalmazás adatokat menthet a OneDrive Vállalati verzióba.
– Kíséreljen meg menteni egy dokumentumot a OneDrive Vállalati verzióba ugyanarra a felügyelt fiókra, amely az alkalmazásba van bejelentkezve.
- Ellenőrizze, hogy a mentés engedélyezve van-e.
Mentés a fájlba, kivétel – "Szervezeti adatok másolatainak mentése" szabályzat "Letiltás" értékre állítva
– "Másolatok mentésének engedélyezése a felhasználó számára a kijelölt szolgáltatásokba" szabályzat csak a OneDrive Vállalati verzióra van beállítva
– Navigáljon arra a helyre, ahová az alkalmazás adatokat menthet a OneDrive Vállalati verzióba.
– Kíséreljen meg menteni egy dokumentumot a OneDrive Vállalati verzióba ugyanarra a felügyelt fiókra, amely az alkalmazásba van bejelentkezve.
- Ellenőrizze, hogy a mentés engedélyezve van-e.
– Ha az alkalmazás engedélyezi, próbálja meg menteni a fájlt egy másik felhőtárhelyre, és ellenőrizze, hogy le van-e tiltva.
Mentés helye, letiltva "Szervezeti adatok másolatainak mentése" szabályzat "Letiltás" értékre állítva – Navigáljon arra a helyre, ahová az alkalmazás adatokat menthet a OneDrive Vállalati verzióba.
– Kíséreljen meg menteni egy dokumentumot a OneDrive Vállalati verzióba ugyanarra a felügyelt fiókra, amely az alkalmazásba van bejelentkezve.
– Ellenőrizze, hogy a mentés le van-e tiltva.
– Ha az alkalmazás engedélyezi, próbálja meg menteni a fájlt egy másik felhőtárhelyre, és ellenőrizze, hogy le van-e tiltva.
Megnyitás innen: , teljes mértékben engedélyezett "Adatok megnyitása szervezeti dokumentumokba" szabályzat "Engedélyezés" értékre állítva – Navigáljon arra a helyre, ahol az alkalmazás adatokat nyithat meg a OneDrive Vállalati verzióból.
– Nyisson meg egy dokumentumot a OneDrive Vállalati verzióból az alkalmazás tárterületére bejelentkezett felügyelt fiókból.
- Ellenőrizze, hogy a megnyitás engedélyezve van-e.
Megnyitás innen, kivétel – "Adatok megnyitása szervezeti dokumentumokba" szabályzat "Letiltás" értékre állítva
– "A felhasználók megnyithatják az adatokat a kiválasztott szolgáltatásokból" szabályzat csak a "OneDrive Vállalati verzió" értékre van állítva
– Navigáljon arra a helyre, ahol az alkalmazás adatokat nyithat meg a OneDrive Vállalati verzióból.
– Nyisson meg egy dokumentumot a OneDrive Vállalati verzióból az alkalmazás tárterületére bejelentkezett felügyelt fiókból.
- Ellenőrizze, hogy a megnyitás engedélyezve van-e.
– Ha az alkalmazás engedélyezi, próbáljon meg megnyitni egy másik fájlt egy másik felhőtárhelyről, és ellenőrizze, hogy le van-e tiltva.
Megnyitás innen, letiltva "Adatok megnyitása szervezeti dokumentumokba" szabályzat "Letiltás" értékre állítva – Navigáljon arra a helyre, ahol az alkalmazás adatokat nyithat meg a OneDrive Vállalati verzióból.
– Nyisson meg egy dokumentumot a OneDrive Vállalati verzióból az alkalmazás tárterületére bejelentkezett felügyelt fiókból.
- Ellenőrizze, hogy a megnyitás le van-e tiltva.
– Ha az alkalmazás engedélyezi, próbáljon meg megnyitni egy másik fájlt egy másik felhőtárhelyről, és ellenőrizze, hogy le van-e tiltva.

A "Másolás a fájlba" műveletek ellenőrzése

Hagyja ki, ha nem implementálja a Másolás a következőre műveleteket.

Az egyszerűség kedvéért ezek a tesztek feltételezik, hogy az alkalmazás csak az adatok Microsoft Office-alkalmazásokba, például a Microsoft Wordbe, az Excelbe stb. való másolását támogatja. Minden kombinációt ellenőriznie kell: minden támogatott másolási helyet minden olyan helyen, ahová az alkalmazás engedélyezi az adatok másolását.

Ezekhez a tesztekhez telepítse az alkalmazást, integrálja az SDK-val, és jelentkezzen be egy felügyelt fiókkal a teszt megkezdése előtt.

Továbbá:

  • A "Másolás a következőre" műveletek összes integrációs lépését végrehajtotta a Microsoft Word műveletbővítményével, és sikeresen elkészítette és futtatta az alkalmazást.
  • Állítsa be a felügyelt fiók szabályzatát a következőként:
    • "Szervezeti adatok küldése más alkalmazásoknak" a szabályzattal felügyelt alkalmazásoknak.
Forgatókönyv Előfeltételek Utaslépcső
Jelölje ki a kivétel alá iktatandó alkalmazásokat, nincs "Szervezeti adatok küldése más alkalmazásoknak" szabályzat "Szabályzattal felügyelt alkalmazások" – Navigáljon arra a helyre, ahová az alkalmazás adatokat másolhat a Microsoft Wordbe, és indítsa el az adatok megosztási lehetőségét.
- Erősítse meg, hogy a "Másolás a Wordbe" lehetőség helyett a "Megnyitás a Wordben" felirat látható.
– Nyomja le a "Megnyitás a Wordben" gombot, és ellenőrizze, hogy a dokumentum másolása és megtekintése sikeres volt-e, mivel a Word is ugyanazzal a felügyelt fiókkal van bejelentkezve.

Nyomtatási műveletek ellenőrzése

Hagyja ki, ha nem implementálja a nyomtatást.

Ehhez a teszthez telepítse az alkalmazást, integrálja az SDK-val, és jelentkezzen be egy felügyelt fiókkal a teszt megkezdése előtt.

Továbbá:

  • A nyomtatás és az alkalmazás létrehozása és futtatása során végrehajtott összes integrációs lépés sikeresen befejeződött.
  • Az alkalmazás már implementálja a riasztásokat/műveleti elemeket az eset kezeléséhez, ha a nyomtatás nem engedélyezett az alkalmazás informatikai rendszergazdájától. Ebben a tesztben, feltéve, hogy az alkalmazás riasztást fog kérni a végfelhasználóknak, ha a nyomtatás le van tiltva.
Forgatókönyv Utaslépcső
Szervezeti adatok nyomtatása, Letiltás – Keresse meg, hogy az alkalmazás hol tekintheti meg az adatokat, és indítsa el az adatok megosztási lehetőségét.
- Nyomja le a "Nyomtatás" gombot.
– Győződjön meg arról, hogy megjelenik egy blokkriasztás, és a nyomtatás nem engedélyezett.
Szervezeti adatok nyomtatása, Engedélyezés – Keresse meg, hogy az alkalmazás hol tekintheti meg az adatokat, és indítsa el az adatok megosztási lehetőségét.
- Nyomja le a "Nyomtatás" gombot.
- Erősítse meg, hogy megjelenik a "Nyomtatás" nézet, és kiválaszthat egy nyomtatót, és sikeresen végrehajthatja a műveletet.

A fogadó alkalmazáskonfigurációk ellenőrzése

Hagyja ki, ha nem engedélyezte a célzott alkalmazáskonfigurációt az iOS-alkalmazásokhoz.

Az Intune feladata az alkalmazáskonfigurációs szabályzat értékeinek továbbítása az alkalmazásba; ezt követően az alkalmazás felelős azért, hogy ezeket az értékeket felhasználva módosítsa a viselkedést vagy a felhasználói felületet az alkalmazásban. Az alapos, teljes körű tesztelésnek mindkét összetevőre ki kell terjednie.

Annak ellenőrzése, hogy az Intune megfelelően kézbesíti-e az alkalmazáskonfigurációs szabályzatot:

  1. Konfiguráljon egy alkalmazáskonfigurációs szabályzatot, amely az alkalmazásra irányul, és a tesztfiókban van üzembe helyezve.
  2. Jelentkezzen be az alkalmazásba a tesztfiókjával.
  3. Navigáljon az alkalmazáson az összes olyan kódútvonal gyakorlásához, amely meghívja IntuneMAMAppConfigManagera -t appConfigForIdentity.
    • A hívások appConfigForIdentity eredményeinek naplózása egyszerű módszer a beállítások kézbesítésének ellenőrzésére. Mivel azonban a rendszergazdák bármilyen adatot megadhatnak az alkalmazáskonfigurációs beállításokhoz, ügyeljen arra, hogy ne naplózza a privát felhasználói adatokat.
  4. Lásd: Az alkalmazott alkalmazáskonfigurációs szabályzat ellenőrzése.

Mivel az alkalmazáskonfigurációk alkalmazásspecifikusak, csak Ön tudja, hogyan kell ellenőrizni, hogy az alkalmazás hogyan módosítsa a viselkedést vagy a felhasználói felületet az egyes alkalmazáskonfigurációs beállításokhoz.

A tesztelés során vegye figyelembe a következőket:

  • Az alkalmazás által támogatott összes értékhez különböző tesztalkalmazás-konfigurációs szabályzatok létrehozásával biztosíthatja az összes forgatókönyvet.
  • Az alkalmazás ütközésfeloldási logikájának ellenőrzése több tesztalkalmazás-konfigurációs szabályzat létrehozásával, amelyek mindegyik beállításhoz különböző értékeket tartalmaznak.

Következő lépések

Ha sorrendben követte ezt az útmutatót, és teljesítette a fenti kilépési feltételeket , gratulálunk, az alkalmazás most már teljesen integrálva van az Intune App SDK-val, és alkalmazásvédelmi szabályzatokat kényszeríthet ki! További fontos alkalmazás-részvételi funkciók, például az 5. fázis: Többszörös identitás, a 6. fázis: Alkalmazásvédelem feltételes hozzáférés támogatása és a 7. fázis: Webnézet funkciók , amelyek integrálhatók az alkalmazásba.

Az alkalmazásvédelem mostantól az alkalmazás egyik alapvető forgatókönyve. Az alkalmazás fejlesztése során továbbra is tekintse meg ezt az útmutatót és a függeléket .