Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Met de Microsoft Intune App SDK voor Android kunt u beveiligingsbeleid voor de Intune-app (ook wel MAM-beleid genoemd) opnemen in uw eigen Android-app Java/Kotlin. 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 doornemen van fase 1: plan de integratie.
Fase 4: Basisprincipes van MAM-integratie
Fase doelen
- Schakel de strikte MAM-modus in.
- Registreer u voor kritieke meldingen van de SDK.
- Implementeer en registreer een verificatiecallback om Microsoft Entra-tokens van MSAL aan de SDK te verstrekken.
- Registreer nieuwe accounts voor MAM-beheer na verificatie met MSAL.
- Maak de registratie van accounts ongedaan bij afmelden om bedrijfsgegevens te verwijderen.
- (Aanbevolen) Neem MAM-logboekregistratie op in uw app.
- (Aanbevolen) Meer informatie over het gebruik van het dialoogvenster voor SDK-diagnose.
Achtergrond
Nu u de Intune App SDK hebt gedownload, geïntegreerd in uw build en met succes klasse- en methodevervangingen hebt uitgevoerd, is het tijd om de essentiële codewijzigingen aan te brengen om instellingen voor app-beveiligingsbeleid af te dwingen voor met MAM beveiligde accounts.
In deze fase wordt uitgelegd hoe u kunt aansluiten op de logboekregistratie van de SDK, hoe u een dialoogvenster voor diagnostische gegevens kunt starten, hoe u de strikte modus van MAM kunt inschakelen om mogelijke integratiefouten te identificeren, hoe u zich registreert voor meldingen van de SDK en, belangrijker nog, hoe u een account voor Intune MAM kunt registreren om beleid te kunnen ontvangen.
Strikte MAM-modus
In de strikte modus van MAM kunt u mogelijke bugs identificeren in de integratie van uw toepassing met de Intune App SDK. Deze integratiefouten kunnen ertoe leiden dat het beveiligingsbeleid voor apps niet correct wordt toegepast en dat bedrijfsgegevens niet worden beveiligd. Als gevolg hiervan is het gebruik van de strikte MAM-modus vereist.
MAM strikte modus zoekt naar afwijkingen in het gebruik van MAM-API's en platform-API's met MAM-beperkingen in uw toepassing. Losjes gebaseerd op de strikte modus van Android, voert MAM strikte modus een vooraf gedefinieerde set controles uit die runtimefouten genereren wanneer ze mislukken. De strikte MAM-modus is niet bedoeld om ingeschakeld te blijven in productieversies. Gebruik het in plaats daarvan in de interne ontwikkeling, foutopsporing en/of dogfood-builds van uw app.
Als u MAM Strict Mode wilt inschakelen, Application.onCreateroept u de volgende methode vroeg in de initialisatie van de toepassing aan (bijvoorbeeld):
MAMStrictMode.enable();
Als de strikte modus van MAM niet kan worden gecontroleerd, probeert u na te gaan of het een echt probleem is dat in uw app kan worden opgelost of een fout-positief. Als u denkt dat het een fout-positief is of als u het niet zeker weet, laat het het Intune MAM-team dan weten. Hierdoor kunnen we ervoor zorgen dat we akkoord gaan met de fout-positieve bepaling en proberen we de detectie voor toekomstige releases te verbeteren. Als u fout-positieven wilt onderdrukken, schakelt u de controle uit volgens de onderstaande instructies.
Overtredingen afhandelen
Wanneer een controle mislukt, wordt een MAMStrictViolationHandler uitgevoerd.
De standaardhandler genereert een Error, waardoor de app naar verwachting vastloopt.
Hiermee worden fouten zo luidruchtig mogelijk gemaakt. Dit sluit aan bij de bedoeling dat strikte modus niet moet worden ingeschakeld in productieversies.
Als uw app schendingen anders wil afhandelen, kan de app een eigen handler leveren door de volgende methode aan te roepen waar handler implementeert MAMStrictViolationHandler:
MAMStrictMode.global().setHandler(handler);
Controles onderdrukken
Als een controle mislukt in een situatie waarin uw app niets verkeerds doet, meldt u dit zoals hierboven vermeld. In de tussentijd kan het nodig zijn om de controle uit te schakelen wanneer een fout-positief wordt aangetroffen, in ieder geval in afwachting van een bijgewerkte SDK. De controle die mislukt is wordt weergegeven in de fout die wordt gegenereerd door de standaard-handler of de controle wordt doorgegeven aan een aangepaste handler, indien ingesteld.
Hoewel onderdrukking globaal kan worden uitgevoerd, verdient het de voorkeur om per-thread tijdelijk uit te schakelen op de specifieke oproeplocatie. In de volgende voorbeelden ziet u hoe u MAMStrictCheck.IDENTITY_NO_SUCH_FILE op verschillende manieren kunt uitschakelen (aan de orde als wordt geprobeerd een niet-bestaand bestand te beveiligen).
Per-Thread tijdelijke onderdrukking
Dit is het voorkeursonderdrukkingsmechanisme.
try (StrictScopedDisable disable = MAMStrictMode.thread().disableScoped(MAMStrictCheck.IDENTITY_NO_SUCH_FILE)) {
// Perform the operation which raised a violation here
}
// The check is no longer disabled once the block exits
Per-Thread Permanente onderdrukking
MAMStrictMode.thread().disable(MAMStrictCheck.IDENTITY_NO_SUCH_FILE);
Wereldwijde (procesbrede) onderdrukking
MAMStrictMode.global().disable(MAMStrictCheck.IDENTITY_NO_SUCH_FILE);
Registreren voor meldingen van de SDK
De Intune App SDK geeft veel verschillende soorten meldingen uit om toepassingen te informeren over tijdgevoelige beheerbewerkingen. Uw toepassing kan zich registreren voor en actie ondernemen wanneer u deze meldingen ontvangt.
Als een IT-beheerder bijvoorbeeld een opdracht voor selectief wissen uitvoert voor een apparaat, stuurt de Intune-service een melding naar de SDK, die als zodanig WIPE_USER_DATAaan uw toepassing wordt doorgegeven.
Uw toepassing kan naar deze melding luisteren en bepalen welke gegevens worden gewist; of het kan vertrouwen op het standaard wisgedrag van de SDK.
Veel meldingen zijn optioneel. Afhankelijk van de SDK-functies die uw toepassing gebruikt, kunnen bepaalde meldingen vereist zijn. Zie Registreren voor meldingen van de SDK in fase 7: Functies voor deelname aan apps voor meer informatie over hoe u zich kunt registreren voor meldingen, welke meldingen de SDK verstuurt en hoe u specifieke meldingstypen moet verwerken.
Registreren voor app-beveiligingsbeleid
Wanneer beheerders beveiligingsbeleid voor apps maken, richten ze dit beleid op specifieke accounts in hun organisatie. Op de client moet de SDK weten welk account de toepassing gebruikt, zodat het beleid van dat account kan worden opgehaald en de instellingen op de juiste manier kunnen worden afgedwongen. Uw app is verantwoordelijk voor het verstrekken van deze accountgegevens aan de SDK. Dit proces wordt registratie genoemd.
Wanneer een nieuw account wordt toegevoegd aan een app, moet het account worden geregistreerd bij de SDK, zelfs als er al andere accounts zijn geregistreerd. Met uw app kunnen meerdere accounts worden geregistreerd. Op dit moment kan echter slechts één account worden geregistreerd of kan er een app-beveiligingsbeleid op worden toegepast. Op Android geldt deze beperking voor één beheerd account voor het hele apparaat.
Registratie versus inschrijving
Registratie is het proces waarbij uw app de SDK informeert dat er een nieuw account wordt gebruikt. De SDK bevat functies die uw app moet aanroepen voor het registreren en het ongedaan maken van de registratie van accounts.
Inschrijving is het proces waarbij de SDK het geregistreerde account registreert bij de service Intune, zodat het beleid van het account kan worden toegepast. Uw app hoeft geen functies aan te roepen voor inschrijving. De SDK handelt de inschrijving volledig af nadat een account is geregistreerd.
Als een account al is geregistreerd voor uw toepassing en er een ander account wordt geregistreerd, zelfs als dat account is gericht op app-beveiligingsbeleid, wordt dat tweede account niet geregistreerd en wordt beleid niet toegepast.
Opmerking
De term 'inschrijving' kan ook verwijzen naar apparaatbrede MDM-inschrijving Meer informatie vindt u in de bijlage op MDM- en MAM-inschrijving.
Registratie implementeren
Voorzichtigheid
Als MSAL niet is geïntegreerd met uw app (sterk aanbevolen), raadpleegt u Standaardinschrijving in de bijlage in plaats van verder te gaan in deze sectie.
Uw app moet drie codewijzigingen aanbrengen om een account te registreren:
De app moet een exemplaar van de MAMServiceAuthenticationCallback- of MAMServiceAuthenticationCallbackExtended-interface implementeren en registreren. Het callbackexemplaar moet worden geregistreerd in de
onCreate()(ofonMAMCreate()) methode van de subklasse Toepassing.Wanneer een account is gemaakt en de gebruiker zich met MSAL kan aanmelden, moet de app registerAccountForMAM aanroepen.
Wanneer een account wordt verwijderd, moet de app unregisterAccountForMAM aanroepen om het account uit het beheer van Intune te verwijderen.
Voorzichtigheid
Tijdens de aanroep kan het wissen worden gestart om bedrijfsgegevens voor het account volledig te verwijderen.
Alle benodigde authenticatie- en registratie-API's zijn te vinden in de MAMEnrollmentManager-interface .
Een verwijzing naar de MAMEnrollmentManager kan als volgt worden verkregen:
MAMEnrollmentManager mgr = MAMComponents.get(MAMEnrollmentManager.class);
// make use of mgr
Het MAMEnrollmentManager geretourneerde exemplaar is gegarandeerd niet null.
De API-methoden vallen in twee categorieën: verificatie en accountregistratie.
MAMEnrollmentManager en verificatie
De SDK communiceert regelmatig met de Intune-service: voor het registreren van geregistreerde accounts, voor het ophalen van updates van instellingen voor app-beveiligingsbeleid en voor het uitvoeren van beheerdersacties die in behandeling zijn, zoals het selectief wissen van beveiligde gegevens in uw app. Voor een geslaagde communicatie met de Intune-service heeft de SDK nieuwe toegangstokens nodig van apps waarin MSAL is geïntegreerd.
Als de SDK geen nieuw token kan ophalen, kan deze niet communiceren met de Intune-service, waardoor het ophalen en afdwingen van nieuwe beleidsinstellingen of beheeracties kan worden vertraagd. Het is essentieel dat uw app deze stappen uitvoert om te zorgen voor een naadloze handhaving van het beleid.
In fase 2 hebt u MSAL in uw toepassing geïntegreerd voor verificatie en het verkrijgen van toegangstokens. Hier implementeert u een authenticatiecallback zodat de SDK de benodigde tokens kan opvragen.
MAMEnrollmentManager beschikt over de volgende verificatiemethoden:
interface MAMServiceAuthenticationCallback {
String acquireToken(String upn, String aadId, String resourceId);
}
interface MAMServiceAuthenticationCallbackExtended extends MAMServiceAuthenticationCallback {
String acquireToken(String upn, String aadId, String tenantId, String authority, String resourceId);
}
void registerAuthenticationCallback(MAMServiceAuthenticationCallback callback);
void updateToken(String upn, String aadId, String resourceId, String token);
Opmerking
De aadId parameter in deze methoden verwijst naar de gebruikers-id van Microsoft Entra, voorheen bekend als AAD-id en ook bekend als OID.
De app moet de MAMServiceAuthenticationCallback-interface of de MAMServiceAuthenticationCallbackExtended-interface implementeren zodat de SDK een Microsoft Entra-token kan aanvragen voor het opgegeven account en de opgegeven bron-id. Het callback-exemplaar moet worden opgegeven door de registerAuthenticationCallback-methode aan te
MAMEnrollmentManagerroepen. Mogelijk is vroeg in de levenscyclus van de app een token vereist voor nieuwe inschrijvingspogingen of het vernieuwen van het app-beveiligingsbeleid, zodat de callback moet worden geregistreerd in deonCreate()(ofonMAMCreate()) methode van de subklasse van de appApplication.De
acquireTokenmethode moet het toegangstoken verkrijgen voor de aangevraagde bron-id voor het gegeven account. Als het gevraagde token niet kan worden verkregen, moet null worden geretourneerd.Tip
Zorg ervoor dat uw app gebruikmaakt van de
resourceIden deaadIdparameters die zijn doorgegevenacquireToken(), zodat het juiste token wordt verkregen. Deupnparameter is alleen voor informatief gebruik en mag niet worden gebruikt om een account te identificeren zonder ook rekening te houden met deaadId. HetresourceIdmoet worden gebruikt om de juiste bereiken te genereren en hetaadIdmoet worden gebruikt om het juiste account door te geven. Als tokens worden geretourneerd voor het verkeerde account en/of de verkeerde resource, kunnen ze leiden tot vertragingen of fouten bij het registreren van de app en het ophalen van beleidsregels. Als je app de Microsoft Entra Authority nodig heeft om het token correct te verkrijgen, implementeer je deMAMServiceAuthenticationCallbackExtendedinterface.class MAMAuthCallback implements MAMServiceAuthenticationCallbackExtended { public String acquireToken(String upn, String aadId, String tenantId, String authority, String resourceId) { final String[] scopes = {resourceId + "/.default"}; final IAccount account = getAccount(aadId); if (account == null) { // Log error or warning here about: "no account found for " + aadId return null; } AcquireTokenSilentParameters params = new AcquireTokenSilentParameters.Builder() .forAccount(account) .fromAuthority(account.getAuthority()) .withScopes(Arrays.asList(scopes)) .withCallback(callback) .build(); return mMsalClientApplication.acquireTokenSilent(params); } private static IAccount getAccount(String aadId) throws InterruptedException, MsalException { IAccount account = null; if (mMsalClientApplication instanceof IMultipleAccountPublicClientApplication) { IMultipleAccountPublicClientApplication multiAccountPCA = (IMultipleAccountPublicClientApplication) mMsalClientApplication; account = multiAccountPCA.getAccount(aadId); } else { ISingleAccountPublicClientApplication singleAccountPCA = (ISingleAccountPublicClientApplication) mMsalClientApplication; ICurrentAccountResult accountResult = singleAccountPCA.getCurrentAccount(); if (accountResult != null) { account = accountResult.getCurrentAccount(); // make sure this is the correct user if (account != null && !account.getId().equals(aadId)) account = null; } } return account; } }Als de app geen token kan verstrekken wanneer de SDK aanroept
acquireToken(), bijvoorbeeld als verificatie op de achtergrond mislukt en het een onhandig moment is om een gebruikersinterface weer te geven, kan de app op een later tijdstip een token verstrekken door de updateToken-methode aan te roepen. Dezelfde UPN, Microsoft Entra ID en resource-id die door de vorige aanroep zijn aangevraagd, moeten worden doorgegeven aanacquireToken()updateToken(), samen met het token dat uiteindelijk is verkregen. Deupnparameter is alleen bedoeld ter informatie en wordt over het algemeen genegeerd door de MAM SDK. De app moet deze methode zo snel mogelijk aanroepen nadat null is geretourneerd voor de opgegeven callback.Waarschuwing
Bel
updateToken()niet vanuit uw implementatie vanacquireToken().updateToken()moet worden gebruikt in het geval datacquireToken()een token niet kan worden verkregen.Opmerking
De SDK roept periodiek aan
acquireToken()om het token op te halen, dus bellenupdateToken()is niet strikt vereist. Het wordt echter sterk aanbevolen, omdat het kan helpen inschrijvingen en check-ins van het app-beveiligingsbeleid tijdig te voltooien.
Opmerkingen bij de implementatie van verificatie
Apps worden aangemoedigd om Microsoft Entra-tokens aan te schaffen voordatze registerAccountForMAM aanroepen. Na het registreren van een account ontvangen apps een callback naar de methode van de geregistreerde
MAMServiceAuthenticationCallback'sacquireToken()op een andere thread. Met een geldig token in die callback kan de inschrijving doorgaan. De app ontvangt het inschrijvingsresultaat via een melding.Als de app geen geldig Microsoft Entra-token retourneert, is het uiteindelijke resultaat van de inschrijvingspoging .
AUTHORIZATION_NEEDEDAls de app dit resultaat via een melding ontvangt, is het raadzaam om het inschrijvingsproces te versnellen door het token te verkrijgen voor het account en de resource die eerder zijn aangevraagd bij acquireToken en de updateToken-methode aan te roepen om het inschrijvingsproces opnieuw te starten.De geregistreerde
MAMServiceAuthenticationCallbackapp wordt ook aangeroepen om een token te verkrijgen voor het periodiek vernieuwen van het app-beveiligingsbeleid. Als de app geen token kan verstrekken wanneer hierom wordt gevraagd, ontvangt deze geen melding, maar moet de app proberen een token te verkrijgen en op het eerstvolgende geschikte tijdstip bellenupdateToken()om het inchecken te versnellen. Als er geen token is opgegeven, kan de callback bij de volgende incheckpoging alsnog worden aangeroepen.Voor ondersteuning voor onafhankelijke clouds is de bevoegdheid vereist.
Als
MAMServiceAuthenticationCallbackExtendedde interface is geïmplementeerd, hoeft de overgenomenacquireToken()methode nietMAMServiceAuthenticationCallbackte worden geïmplementeerd, omdat deMAMServiceAuthenticationCallbackExtendedinterface een standaardimplementatie biedt.
MAMEnrollmentManager en registratie
Wanneer een account wordt toegevoegd, moet het account worden geregistreerd bij de SDK. Wanneer de app een account verwijdert, moet de registratie van dat account ongedaan worden gemaakt om aan te geven dat de app geen beleid meer moet toepassen op dat account. Als het account was ingeschreven bij de MAM-service, wordt het account uitgeschreven en wordt de app gewist.
MAMEnrollmentManager heeft de volgende accountregistratiemethoden:
void registerAccountForMAM(String upn, String aadId, String tenantId);
void registerAccountForMAM(String upn, String aadId, String tenantId, String authority);
void unregisterAccountForMAM(String upn, String aadId);
Result getRegisteredAccountStatus(String upn, String aadId);
Als u een account voor beheer wilt registreren, moet de app .
registerAccountForMAM()Een account wordt geïdentificeerd aan zowel de UPN als de gebruikers-id van Microsoft Entra. De tenant-id is ook vereist om inschrijvingsgegevens te koppelen aan de Microsoft Entra-tenant van het account. De bevoegdheid van het account kan ook worden opgegeven om inschrijving voor specifieke soevereine clouds mogelijk te maken; Zie voor meer informatie Sovereign Cloud Registration. De SDK kan proberen de app voor het opgegeven account in te schrijven bij de MAM-service. Als de inschrijving mislukt, wordt periodiek geprobeerd de inschrijving opnieuw uit te schrijven totdat de inschrijving slaagt of de registratie van het account is opgeheven. De nieuwe periode is meestal 12-24 uur. De SDK geeft asynchroon de status van inschrijvingspogingen weer via meldingen.Het beste moment om te bellen
registerAccountForMAMis nadat de gebruiker zich heeft aangemeld bij de app en is geverifieerd met MSAL. De gebruikers-id, tenant-id en autoriteit van het account voor Microsoft Entra worden geretourneerd uit de MSAL-verificatieaanroep als onderdeel van deIAccount.IAuthenticationResult- Het account is afkomstig van de
IAuthenticationResult.getAccount()methode en bevat de relevante accountgegevens. - De AAD-id (ook wel Microsoft Entra ID of OID genoemd) is afkomstig van de
IAccount.getId()methode. - De tenant-id is afkomstig van de
IAccount.getTenantId()methode. - De autoriteit komt van de
IAccount.getAuthority()methode.
- Het account is afkomstig van de
Als u de registratie van een account bij het management van Intune ongedaan wilt maken, moet de app .
unregisterAccountForMAM()Als het account is ingeschreven en wordt beheerd, wordt de SDK de registratie van het account ongedaan gemaakt en worden de gegevens gewist. Periodieke nieuwe inschrijvingspogingen voor het account worden gestopt. De SDK geeft de status van uitschrijvingsaanvragen asynchroon via meldingen weer.
Opmerkingen bij de implementatie van de registratie
De registratiemethoden zijn idempotent. RegisterAccountForMAM registreert bijvoorbeeld alleen een account en probeert de app in te schrijven als het account nog niet is geregistreerd, en als u de registratie van AccountForMAM ongedaan maakt, wordt de registratie van een account alleen ongedaan gemaakt als het momenteel is geregistreerd. Volgende oproepen zijn no-ops, dus het kan geen kwaad om deze methoden meer dan één keer aan te roepen.
Er is geen garantie dat elke oproep voor registreren/registreren een bijbehorende resultaatmelding heeft. Als
registerAccountForMAM()er bijvoorbeeld een beroep op wordt gedaan voor een account dat al geregistreerd is, wordt de melding mogelijk niet opnieuw verzonden voor die identiteit. De SDK kan ook meldingen verzenden, zelfs als uw app deze methoden niet heeft aangeroepen, aangezien de SDK periodiek probeert zich op de achtergrond in te schrijven en uitschrijvingen kunnen worden geactiveerd door wisverzoeken die zijn ontvangen van de Intune-service.De registratiemethoden kunnen worden aangeroepen voor een willekeurig aantal verschillende accounts, maar momenteel kan slechts één account met succes worden ingeschreven. Als meerdere accounts met een licentie voor Intune die zijn gericht op het beveiligingsbeleid voor apps, op of rond hetzelfde moment worden geregistreerd, is er geen garantie op welke account de race zal winnen.
U kunt een query uitvoeren op MAMEnrollmentManager om te zien of een bepaald account is geregistreerd en om de huidige status ervan op te vragen met behulp van de methode getRegisteredAccountStatus . Als het opgegeven account niet is geregistreerd, wordt met deze methode null geretourneerd. Als het account is geregistreerd, retourneert deze methode de status van het account als een van de leden van de MAMEnrollmentManager.Result-opsomming .
Sovereign Cloud-registratie
Azure ondersteunt meerdere, fysiek geïsoleerde clouds, ook wel 'Sovereign of National Clouds' genoemd.
Als uw toepassing zich bewust is van de soevereine cloud,moet deze de authority parameter doorgeven aan registerAccountForMAM().
MSAL-richtlijnen
Voor MSAL ingesteld multiple_clouds_supported op true in het MSAL-configuratiebestand.
{
"multiple_clouds_supported": true,
}
Registratie Resultaat en statuscodes
Wanneer een account voor het eerst wordt geregistreerd, begint dit met de PENDING status, waarmee wordt aangegeven dat de eerste poging tot inschrijving voor de MAM-service onvolledig is.
Nadat de inschrijvingspoging is voltooid, wordt een melding verzonden met een van de resultaatcodes in de onderstaande tabel.
Bovendien retourneert de methode getRegisteredAccountStatus de status van het account, zodat de app altijd kan bepalen of voor dat account app-beveiligingsbeleid is afgedwongen.
Als de inschrijvingspoging mislukt, kan de status van het account na verloop van tijd veranderen wanneer de SDK opnieuw probeert zich op de achtergrond in te schrijven.
| Resultaatcode | Uitleg |
|---|---|
AUTHORIZATION_NEEDED |
Dit resultaat geeft aan dat er geen token is opgegeven door het geregistreerde MAMServiceAuthenticationCallback-exemplaar van de app of dat het opgegeven token ongeldig is. De app moet een geldig token verkrijgen en indien mogelijk updateToken aanroepen. |
NOT_LICENSED |
Het account heeft geen licentie voor Intune of de poging om contact te maken met de Intune MAM-service is mislukt. De app moet doorgaan in een onbeheerde (normale) status en de gebruiker mag niet worden geblokkeerd. Inschrijvingen worden regelmatig opnieuw geprobeerd voor het geval het account in de toekomst een licentie krijgt. |
ENROLLMENT_SUCCEEDED |
De inschrijvingspoging is geslaagd of het account is al geregistreerd. Bij een geslaagde inschrijving wordt een melding voor het vernieuwen van het beleid verzonden vóór deze melding. Toegang tot bedrijfsgegevens moet worden toegestaan. |
ENROLLMENT_FAILED |
De inschrijvingspoging is mislukt. Verdere details vindt u in de apparaatlogboeken. Met de app mag in deze status geen toegang tot bedrijfsgegevens worden toegestaan, omdat eerder is vastgesteld dat het account een licentie heeft voor Intune. Alle apps moeten ervoor zorgen dat de toegang tot bedrijfsgegevens ongeautoriseerd is, totdat ENROLLMENT_SUCCEEDED deze wordt verkregen door uw app. |
WRONG_USER |
Een app kan met slechts één account per apparaat worden ingeschreven bij de MAM-service. Dit resultaat geeft aan dat het account waarvoor dit resultaat is geleverd (het tweede account) een doel heeft met MAM-beleid, maar dat er al een ander account is geregistreerd. Omdat MAM-beleid niet kan worden afgedwongen voor het tweede account, mag uw app geen toegang tot de gegevens van dit account toestaan (mogelijk door het account uit uw app te verwijderen), tenzij/totdat de inschrijving voor dit account op een later tijdstip slaagt. Gelijktijdig met het leveren van dit WRONG_USER resultaat, vraagt MAM de eindgebruiker met twee opties om te herstellen: (1) het bestaande geregistreerde account verwijderen zodat het tweede account kan worden ingeschreven, of (2) het tweede (geprobeerde) account verwijderen, zodat de prompt niet meer wordt weergegeven terwijl het bestaande account geregistreerd blijft. Als de gebruiker optie (1) kiest, kan het tweede account korte tijd later worden ingeschreven. Als de gebruiker optie (2) kiest, maakt MAM de registratie van het tweede account lokaal ongedaan en rapporteert UNENROLLMENT_SUCCEEDED voor dat account via de standaardmelding voor het inschrijvingsresultaat. Omdat het tweede account nooit is geregistreerd, wordt er geen selectieve verwijdering uitgevoerd en wordt er geen wismelding bezorgd. MAM stopt ook met het opnieuw proberen in te schrijven voor dat account, zodat de prompt niet meer wordt weergegeven. Zolang het tweede account geregistreerd blijft (dat wil zeggen dat de gebruiker niet optie (2) heeft gekozen), probeert MAM zich periodiek opnieuw te registreren. |
UNENROLLMENT_SUCCEEDED |
Uitschrijven is gelukt. |
UNENROLLMENT_FAILED |
De aanvraag voor uitschrijving is mislukt. Verdere details vindt u in de apparaatlogboeken. In het algemeen zal dit niet gebeuren zolang de app een geldige (noch null noch lege) UPN doorgeeft. Er is geen directe, betrouwbare oplossing die de app kan uitvoeren. Als deze waarde wordt ontvangen bij het ongedaan maken van de registratie van een geldige UPN, meldt u een bug aan het Intune MAM-team. |
PENDING |
De eerste inschrijvingspoging voor het account wordt uitgevoerd. De app kan toegang tot bedrijfsgegevens blokkeren totdat het inschrijvingsresultaat bekend is, maar is niet verplicht. |
COMPANY_PORTAL_REQUIRED |
Het account heeft een licentie voor Intune, maar de app kan pas worden ingeschreven als de Bedrijfsportal-app is geïnstalleerd op het apparaat. De SDK van de Intune-app probeert de toegang tot de app voor het opgegeven account te blokkeren en geeft de gebruiker opdracht de app Bedrijfsportal te installeren. Wanneer deze melding naar de app wordt verzonden, wordt in de SDK van de Intune-app een niet-blokkerende gebruikersinterface weergegeven bovenop de huidige activiteit als de activiteit momenteel zichtbaar is voor de gebruiker of wanneer de volgende keer onResume wordt aangeroepen. Als de gebruiker deze niet-blokkerende gebruikersinterface annuleert, toont de Intune App SDK een blokkerende gebruikersinterface wanneer de volgende keer onCreate voor een activiteit wordt aangeroepen en de huidige identiteit wordt beheerd (zie hieronder voor meer informatie over probleemoplossing). |
(Aanbevolen) Logboekregistratie
Logboekregistratie moet vroeg worden geïnitialiseerd om de meeste waarde uit geregistreerde gegevens te halen.
Application.onMAMCreate() is meestal de beste plaats om logboekregistratie te initialiseren.
Als u MAM-logboeken in uw app wilt ontvangen, maakt u een Java-Handler en voegt u deze toe aan de MAMLogHandlerWrapper.
Hierdoor wordt publish() voor elk logboekbericht een beroep gedaan op de toepassingshandler.
/**
* Global log handler that enables fine grained PII filtering within MAM logs.
* To start using this you should build your own log handler and add it via
* MAMComponents.get(MAMLogHandlerWrapper.class).addHandler(myHandler, false);
* You may also remove the handler entirely via
* MAMComponents.get(MAMLogHandlerWrapper.class).removeHandler(myHandler);
*/
public interface MAMLogHandlerWrapper {
/**
* Add a handler, PII can be toggled.
* @param handler handler to add.
* @param wantsPII if PII is desired in the logs.
*/
void addHandler(final Handler handler, final boolean wantsPII);
/**
* Remove a handler.
* @param handler handler to remove.
*/
void removeHandler(final Handler handler);
}
Opmerking
PII staat voor 'persoonlijk identificeerbare informatie' en kan gegevens bevatten zoals gebruikersnamen en UPN's. U wordt sterk aangemoedigd om dergelijke persoonlijke informatie uit te sluiten in uw eigen productielogboeken. Zie het privacybeleid van Microsoft voor meer informatie.
(Aanbevolen) Informatie over diagnostische gegevens
De app Intune-bedrijfsportal biedt meerdere opties voor het verzamelen van diagnostische gegevens. De Bedrijfsportal bevat de gebruikersinterface die:
- Hiermee kunnen eindgebruikers logboeken in de Bedrijfsportal verzamelen.
- Hiermee worden metagegevens van apparaten en accounts weergegeven.
- Bevat informatie per app over het huidige MAM-beleid.
Diagnostische gegevens
Zie Informatie over logboeken in de Bedrijfsportalin de bijlage voor een gedetailleerde uitleg van de gegevens in de logboeken in de Bedrijfsportal en in de diagnostische UI.
Tip
Als u test met een account waarop MAM-beleid moet worden toegepast, maar de diagnostische gegevens geen beleid voor de pakketnaam van uw app weergeven, raadpleegt u de sectie Probleemoplossing hieronder.
Apps kunnen deze diagnostische gebruikersinterface starten door MAMPolicyManager.showDiagnostics(context).
Eindgebruikers kunnen de diagnostische console van de Bedrijfsportal ook starten via Microsoft Edge door in de adresbalk in te voerenabout:intunehelp.
Dit is een optionele functie die kan helpen bij foutopsporing.
Deze diagnostische informatie is alleen beschikbaar wanneer de Bedrijfsportal op het apparaat is geïnstalleerd.
Wanneer er een waarschuwing wordt aangeroepen zonder dat de Bedrijfsportal is geïnstalleerd, wordt een waarschuwingsdialoogvenster weergegevenshowDiagnostics.
Exit-criteria
Op dit punt in de integratie kan uw app nu app-beveiligingsbeleid ontvangen en afdwingen. Voer de volgende tests uit om de integratie te valideren.
First Policy Application Test
Voer eerst de volgende test uit om vertrouwd te raken met de volledige eindgebruikerservaring van de beleidstoepassing in uw app:
- Maak een beveiligingsbeleid voor Android-apps in het Microsoft Intune-beheercentrum (zie Een testbeveiligingsbeleid voor Android-apps maken in fase 1 voor meer informatie). Configureer voor deze test het beleid:
- Stel onder Gegevensbescherming "Schermopname en Google Assistent" in op "Blokkeren".
- Laat onder Toegangsvereisten de standaardinstellingen staan. Met name 'Pincode voor toegang' moet 'Vereisen' zijn.
- Zorg ervoor dat het app-beveiligingsbeleid op uw toepassing is gericht. Waarschijnlijk moet u de pakketnaam handmatig toevoegen in de wizard voor het maken van beleid.
- Wijs het app-beveiligingsbeleid toe aan een gebruikersgroep die uw testaccount bevat.
- Verwijder op een test-Android-apparaat andere apps die met SDK zijn geïntegreerd, zoals Microsoft Outlook, Teams, OneDrive en Office. Verwijder ook de app Intune-bedrijfsportal en Microsoft Authenticator.
-
Tip
Als u andere met SDK geïntegreerde apps verwijdert, weet u zeker dat u uitsluitend de integratie van uw eigen app test.
-
- Installeer uw toepassing.
- Meld u aan bij uw toepassing met uw testaccount dat is gericht op App-beveiligingsbeleid.
- Bevestig dat u wordt gevraagd de Intune-bedrijfsportal te installeren vanuit Google Play.
-
Opmerking
Als uw testapparaat niet beschikt over de Google Play Store-app, controleert u of u wordt gevraagd de Intune-bedrijfsportal te installeren vanuit een andere appstore of een Microsoft-website.
-
- Installeer de Bedrijfsportal. U hoeft de Bedrijfsportal niet te starten of u aan te melden bij de Bedrijfsportal.
- Ga terug naar uw app en meld u zo nodig opnieuw aan.
- Bevestig dat u wordt gevraagd een scherm Toegang krijgen te zien. Dit geeft aan dat de SDK beleid voor dit account heeft opgehaald.
- U wordt gevraagd om een app-pincode in te stellen. Een pincode maken.
- Navigeer door uw toepassing en probeer schermafbeeldingen te maken. Aangezien de SDK beleid heeft, moet dit consequent op elk scherm worden geblokkeerd.
- Meld het beheerde account af bij uw toepassing.
- Navigeer, indien mogelijk zonder u aan te melden, door uw toepassing en probeer schermafbeeldingen te maken. Nu het account is verwijderd, zou het niet moeten worden geblokkeerd.
Dit is een absolute minimumtest om te bevestigen dat uw app het account correct heeft geregistreerd, de authenticatiecallback heeft geregistreerd en de registratie van het account ongedaan heeft gemaakt. Voer de volgende tests uit om grondiger te valideren hoe andere instellingen voor app-beveiligingsbeleid het gedrag van uw toepassing wijzigen.
Tests voor gegevensbescherming
De volgende tests hebben betrekking op specifieke instellingen voor gegevensbescherming die zijn geconfigureerd binnen het app-beveiligingsbeleid. Wanneer u de instellingen voor het app-beveiligingsbeleid wijzigt in het Microsoft Intune-beheercentrum, wordt de client niet onmiddellijk bijgewerkt. Zie Snel testen met veranderend beleid voor tips om het testen te versnellen.
Voor deze tests:
- Installeer de app.
- Installeer de Intune-bedrijfsportal.
- Installeer een andere beheerde app, gericht op hetzelfde beleid als uw app, waarmee gegevens kunnen worden gekopieerd en geplakt (zoals Microsoft Office).
- Installeer (of hergebruik) een onbeheerde app waarmee gegevens kunnen worden gekopieerd en geplakt.
- Meld u aan bij uw app met het door de test beheerde account.
- Meld u aan bij de andere beheerde app met het beheerde testaccount.
| Scenario | Beleidsinstelling voor app-beveiliging | Teststappen |
|---|---|---|
| Schermafbeelding | 'Schermopname en Google Assistent' ingesteld op 'Blokkeren' | 1. Ga naar alle pagina's in de app. 2. Probeer op elke pagina een schermafbeelding te maken. 3. Controleer of schermopnamen zijn geblokkeerd of dat de opgeslagen afbeelding volledig leeg is. |
| Tekst kopiëren | 'Knippen, kopiëren en plakken tussen andere apps beperken' ingesteld op 'Door beleid beheerde apps' | 0. Als uw app geen tekst heeft om te kopiëren, slaat u dit over. 1. Navigeer naar alle pagina's in de app die tekst bevatten die kunnen worden gekopieerd. 2. Tekst kopiëren. 3. Schakel over naar de onbeheerde app. 4. Probeer om in de onbeheerde app te plakken. 5. Controleer of de pasta is geblokkeerd. 6. Ga naar de andere beheerde app. 7. Probeer om te plakken in de beheerde app. 8. Controleer of het plakken is toegestaan. |
| Tekst plakken | 'Knippen, kopiëren en plakken tussen andere apps beperken' ingesteld op 'Door beleid beheerde apps' | 0. Als uw app geen tekstinvoer heeft om in te plakken, slaat u dit over. 1. Schakel over naar de onbeheerde app. 2. Kopieer tekst uit de onbeheerde app. 3. Navigeer naar alle pagina's in de app met tekstinvoer. 5. Probeer vanuit de onbeheerde app te plakken. 5. Controleer of de pasta is geblokkeerd. 6. Schakel over naar de andere beheerde app. 7. Kopieer tekst uit de andere beheerde app. 7. Ga naar alle pagina's in de app met tekstinvoer. 8. Probeer te plakken vanuit de andere beheerde app. 9. Controleer of het plakken is toegestaan. |
| Bedrukking | 'Organisatiegegevens afdrukken' ingesteld op 'Blokkeren' | 0. Als uw app geen pagina's of documenten heeft die kunnen worden afgedrukt, slaat u dit over. 1. Navigeer naar alle pagina's in uw app die de afdrukfunctie van Android aanroepen. 2. Probeer vanaf elke pagina af te drukken. 3. Controleer of afdrukken is geblokkeerd. |
| Beperking van webinhoud in Microsoft Edge | 'Webinhoudsoverdracht beperken met andere apps' ingesteld op 'Microsoft Edge' | 0. Als uw app geen webkoppelingen weergeeft, slaat u dit over. 1. Navigeer naar alle pagina's in uw app waarop weblinks kunnen worden weergegeven of die tekstinvoer hebben die kan worden weergegeven in klikbare weblinks. 2. Selecteer voor elke pagina de weblink. 3. Controleer of u wordt gevraagd Microsoft Edge te installeren en of de weblink niet wordt geopend in een andere browser. |
| Beperkt toetsenbord | 'Goedgekeurde toetsenborden' ingesteld op 'Vereist' 'Selecteer toetsenborden om goed te keuren' ingesteld op alleen een toetsenbordpakket dat momenteel niet op uw apparaat is geïnstalleerd |
0. Als uw app geen tekstinvoer heeft, slaat u dit over. 1. Ga naar alle pagina's in de app met tekstinvoer. 2. Selecteer de tekstinvoer om het toetsenbord van het apparaat weer te geven. 3. Controleer of u wordt gevraagd het geconfigureerde, goedgekeurde toetsenbord te installeren en of het huidige apparaattoetsenbord niet wordt geopend. |
Tests voor gegevensoverdracht
Instellingen voor gegevensoverdracht zijn een subset van het beleid voor app-beveiliging, functies voor gegevensbeveiliging waarmee gegevens worden beheerd bij het invoeren en verlaten van beheerde apps. De meeste apps die ondersteuning bieden voor het verzenden van gegevens naar of ontvangen van andere apps, hebben ook de mogelijkheid om gegevens op te slaan in en te openen vanuit lokale of cloudopslag. Als je app deze mogelijkheden biedt, moet je aanvullende ondersteuning implementeren. Zie Beleid voor het beperken van gegevensoverdracht tussen apps en opslaglocaties op apparaten of in de cloud voor meer informatie.
Uw app kan actief gegevens importeren uit andere apps, zoals Microsoft Outlook die een bestand bijvoegt vanuit Microsoft OneDrive. Uw app kan ook passief gegevens ontvangen van andere apps, zoals Microsoft Office waarin een document wordt geopend vanuit een Microsoft Outlook-bijlage. De beleidsinstelling Gegevens ontvangen van andere apps dekt beide scenario's.
Voor deze tests:
- Installeer de app.
- Installeer de Intune-bedrijfsportal.
- Installeer een andere beheerde app, gericht op hetzelfde beleid als uw app, die gegevens kan verzenden en ontvangen (zoals Microsoft Outlook).
- Installeer (of hergebruik) een onbeheerde app die gegevens kan verzenden en ontvangen.
- Meld u aan bij uw app met het door de test beheerde account.
- Meld u aan bij de andere beheerde app met het beheerde testaccount.
| Scenario | Beleidsinstelling voor app-beveiliging | Teststappen |
|---|---|---|
| Gegevens verzenden naar andere apps | 'Organisatiegegevens verzenden naar andere apps' ingesteld op 'Door beleid beheerde apps' | 0. Als uw app geen gegevens naar andere apps kan verzenden, slaat u dit over. 1. Navigeer naar waar uw app gegevens naar kan verzenden. 2. Er wordt geprobeerd gegevens te verzenden. 3. Controleer of u beperkt bent tot het verzenden van gegevens naar alleen andere beheerde apps. U ziet een app-kiezer met alleen beheerde apps. |
| Gegevens uit andere apps importeren | 'Gegevens ontvangen van andere apps' ingesteld op 'Door beleid beheerde apps' | 0. Als uw app geen gegevens uit andere apps kan importeren, slaat u dit over. 1. Ga naar de locatie waar u met uw app gegevens uit andere apps kunt importeren. 2. Poging om gegevens te importeren. 3. Controleer of u beperkt bent tot het importeren van alleen gegevens uit andere beheerde apps. U ziet een app-kiezer met alleen beheerde apps. |
| Gegevens ontvangen van onbeheerde app | 'Gegevens ontvangen van andere apps' ingesteld op 'Door beleid beheerde apps' | 0. Als uw app geen gegevens van andere apps kan ontvangen, slaat u dit over. 1. Schakel over naar de onbeheerde app. 2. Navigeer naar waar gegevens naartoe kunnen worden verzonden. 3. Probeer gegevens van de onbeheerde app naar uw app te verzenden. 4. Controleer of uw app geen gegevens kan ontvangen van de onbeheerde app. |
| Gegevens ontvangen van beheerde app | 'Gegevens ontvangen van andere apps' ingesteld op 'Door beleid beheerde apps' | 0. Als uw app geen gegevens van andere apps kan ontvangen, slaat u dit over. 1. Schakel over naar de andere beheerde app. 2. Navigeer naar waar gegevens naartoe kunnen worden verzonden. 3. Probeer gegevens van de andere beheerde app naar uw app te verzenden. 4. Controleer of uw app gegevens kan ontvangen van de andere beheerde app. |
Overige instellingen voor gegevensbescherming
De volgende instellingen voor gegevensbescherming worden pas afgedwongen als er aanvullende wijzigingen zijn doorgevoerd in uw app. U hoeft deze instellingen in deze fase niet te testen. Zie Fase 7: Functies voor deelname aan apps voor meer informatie.
| Scenario | Beleidsinstelling voor app-beveiliging | Moet ondersteuning implementeren als... |
|---|---|---|
| Kopieën van gegevens opslaan | Kopieën van organisatiegegevens opslaan | Uw toepassing kan gegevens opslaan in lokale opslag of cloudopslag. |
| Gegevens openen vanuit opslag | Gegevens openen in organisatiedocumenten | Uw toepassing kan gegevens openen vanuit lokale of cloudopslag. |
| Inhoud van beheerde meldingen | Meldingen over organisatiegegevens | Uw app neemt gebruikersgegevens op in meldingen. |
| Back-up maken en terugzetten | Back-up maken van organisatiegegevens naar back-upservices voor Android | In uw app worden gebruikersgegevens gedeeld met de back-upfunctie van Android. |
Tests voor voorwaardelijk starten
Instellingen voor voorwaardelijk starten zijn een subset van functies van het app-beveiligingsbeleid die de toegang tot uw app beperken op basis van configureerbare apparaatbrede of app-specifieke criteria. Deze instellingen omvatten zowel voorwaarden (zoals 'minimale versie van het besturingssysteem') als acties (zoals 'toegang blokkeren'). Voorwaardelijk starten kan de volgende acties hebben:
- Waarschuwen: de eindgebruiker ziet een waarschuwingsdialoogvenster wanneer hun apparaat of app niet aan de criteria voldoet. Ze hebben nog steeds toegang tot alle appgegevens.
- Toegang blokkeren: de eindgebruiker ziet een waarschuwingsdialoogvenster wanneer het apparaat of de app niet aan de criteria voldoet. Ze hebben alleen toegang tot de app en app-gegevens als ze voldoen aan de criteria of het beheerde account uit de app verwijderen.
- Gegevens wissen: alle bedrijfsgegevens die zijn gekoppeld aan het beheerde account worden gewist wanneer het apparaat of de app niet aan de criteria voldoet. De gebruiker krijgt geen mogelijkheid om aan de criteria te voldoen voordat de gegevens worden verwijderd.
Sommige instellingen voor voorwaardelijk starten kunnen worden geconfigureerd met meerdere waarden en acties. Bijvoorbeeld:
- Minimale versie van het besturingssysteem, waarde van "10.0", actie ingesteld op "Waarschuwen".
- Minimale versie van het besturingssysteem, waarde van "9.0", actie ingesteld op "Toegang blokkeren"
- Minimale versie van het besturingssysteem, waarde van "8.0", actie ingesteld op "Gegevens wissen".
Door de integratiestappen in deze fase te voltooien, ondersteunt uw app nu alle functies voor voorwaardelijk starten. Maak uzelf vertrouwd met de functionaliteit van voorwaardelijk starten door beleidsitems zodanig te wijzigen dat uw testapparaat:
- Geeft alle geconfigureerde instellingen voor voorwaardelijk starten door.
- Een geconfigureerde instelling voor voorwaardelijk starten die is ingesteld op de actie 'Waarschuwen' mislukt.
- Een geconfigureerde instelling voor voorwaardelijk starten die is ingesteld op de actie 'Toegang blokkeren' mislukt.
- Een geconfigureerde instelling voor voorwaardelijk starten die is ingesteld op de actie 'Gegevens wissen' mislukt.
Problemen oplossen
First Policy Application Test Problemen oplossen
Na de bovenstaande stappen van de eerste beleidstoepassingstest kunt u het volgende onverwachte gedrag tegenkomen:
Nadat ik me heb aangemeld met een beheerd account, word ik niet gevraagd de Bedrijfsportal te installeren (stap 7)
Ga eerst naar het Intune-beheercentrum en controleer nog eens of het beveiligingsbeleid voor apps is gericht op uw testaccount.
Controleer vervolgens de broncode op oproepen naar registerAccountForMAM en implementatie van MAMServiceAuthenticationCallback.
Als deze eerste niet op het juiste moment wordt aangeroepen en/of als de laatste niet correct een geldige token heeft opgegeven, wordt de Bedrijfsportal-prompt niet weergegeven.
Kijk ten slotte in de logboeken (of debugging) naar de resultaatcode van de registratie of roep getRegisteredAccountStatus expliciet het account aan.
Codes zoals NOT_LICENSED kunnen duiden op configuratieproblemen met het testaccount.
Ik zie het scherm Toegang krijgen niet na het aanmelden (stap 10)
Als de Bedrijfsportal nog niet eerder is geïnstalleerd, moet u uw toepassing mogelijk hervatten of volledig opnieuw starten om het scherm Toegang krijgen te zien en het beleid correct te laten afdwingen. Dit is een verwacht resultaat op basis van de manier waarop SDK-geïntegreerde apps gebruikmaken van code in de Bedrijfsportal-app.
Als u het scherm Toegang verkrijgen nog steeds niet ziet, zelfs nadat u de app opnieuw hebt gestart en u zich opnieuw hebt aangemeld, kan de SDK het account mogelijk niet registreren of beleid voor het ophalen van het account ophalen.
Controleer de implementatie van het MAMServiceAuthenticationCallback.
Ik zie het scherm voor het instellen of invoeren van een app-pincode niet na het aanmelden (stap 11)
Zijn er andere met SDK geïntegreerde toepassingen op uw testapparaat? De pincode voor de app wordt gedeeld tussen alle beheerde apps en de SDK heeft een globale timer om te voorkomen dat eindgebruikers bij elke start of hervatting van beheerde apps om de pincode wordt gevraagd.
Ga anders naar het Intune-beheercentrum en controleer nogmaals of app-pincode is ingeschakeld voor het beveiligingsbeleid voor apps en of dit beleid is gericht op uw testaccount.
Als laatste redmiddel kunt u de pincodetimer opnieuw instellen door uw apparaat opnieuw op te starten. Als het scherm Pincode niet wordt weergegeven nadat uw apparaat opnieuw is opgestart, is het waarschijnlijk niet correct geconfigureerd in het beleid.
Ik heb het scherm Toegang krijgen gezien, maar schermafbeeldingen zijn nog steeds toegestaan (stap 12)
Terwijl beleid wordt opgehaald, wordt het verkeerde beleid toegepast. Ga eerst naar het Intune-beheercentrum en controleer nog eens of het beveiligingsbeleid voor apps schermopnamen uitschakelt en op uw testaccount is gericht. Gebruik vervolgens de diagnostische console (zoals hierboven beschreven) om het beleid te controleren dat voor uw app is gedownload. Als beide beleidsregels bevestigen dat schermafbeeldingen moeten worden geblokkeerd, controleert u de configuratie van uw Gradle-buildplug-in om er zeker van te zijn dat MAM-vervangingen worden uitgevoerd.
Mijn app lijkt vast te lopen of te worden gesloten na afmelden (stap 13)
Wanneer u de registratie ongedaan maakt van een account waarvoor eerder registratie was ingesteld en waarvoor beleid is afgedwongen, worden gegevens die aan dat account zijn gekoppeld, gewist door de SDK. Het einde van het app-proces wordt verwacht.
Schermopnamen worden nog steeds geblokkeerd, zelfs nadat ik ben afgemeld (stap 14)
Controleer de broncode nogmaals op oproepen naar unregisterAccountForMAM().
Als beleid nog steeds wordt afgedwongen nadat u bent afgemeld, is het account waarschijnlijk niet correct gedeïngeregistreerd en uitgeschreven.
Problemen met gegevensbeschermingstests oplossen
Als u de bovenstaande stappen voor gegevensbeschermingstests volgt, kunt u het volgende onverwachte gedrag tegenkomen:
Mijn app ontvangt geen beleidsregels en dwingt deze niet af
Controleer eerst of het app-beveiligingsbeleid is gericht op een groep die uw testaccount bevat. Zie How to validate your app protection policy setup setup in Microsoft Intune for details.
Controleer vervolgens de diagnostische gegevens van de client om te bevestigen dat de SDK het geconfigureerde beleid heeft ontvangen.
Als dat niet het geval is, controleert u de implementatie van MAMServiceAuthenticationCallback uw app en belt u naar registerAccountForMAM.
Controleer ook logboeken of debug om de MAMEnrollmentManager.Result.
Mijn app kan gegevens delen met een onbeheerde app
Bevestig dat 'Organisatiegegevens verzenden naar andere apps' is ingesteld op 'Door beleid beheerde apps'. Controleer in het Microsoft Intune-beheercentrum of het beleid correct is geconfigureerd en is ingesteld. Controleer de diagnostische gegevens van de client om te bevestigen dat de SDK het geconfigureerde beleid heeft ontvangen.
Als het beleid correct is geconfigureerd en opgehaald, controleert u vervolgens of er beleidsregels worden afgedwongen: Mijn app ontvangt geen beleid en dwingt geen beleid af.
Mijn app kan geen gegevens delen met een andere beheerde app
Controleer de instellingen voor het app-beveiligingsbeleid die zijn gericht op zowel uw app als de andere beheerde app. Het is raadzaam om voor beide apps hetzelfde beleid te gebruiken. Het beleid gericht op uw app moet zijn ingesteld op 'Organisatiegegevens verzenden naar andere apps' en ingesteld op 'Door beleid beheerde apps'. Controleer het beleid dat is gericht op de andere app. als 'Gegevens ontvangen van andere apps' is ingesteld op 'Geen', is dit gedrag normaal.
Mijn app kan gegevens ontvangen van een onbeheerde app
Bevestig dat 'Gegevens ontvangen van andere apps' is ingesteld op 'Door beleid beheerde apps'. Controleer in het Microsoft Intune-beheercentrum of het beleid correct is geconfigureerd en is ingesteld. Controleer de diagnostische gegevens van de client om te bevestigen dat de SDK het geconfigureerde beleid heeft ontvangen.
Als het beleid correct is geconfigureerd en opgehaald, controleert u vervolgens of er beleidsregels worden afgedwongen: Mijn app ontvangt geen beleid en dwingt geen beleid af.
Mijn app kan geen gegevens ontvangen van een andere beheerde app
Controleer de instellingen voor het app-beveiligingsbeleid die zijn gericht op zowel uw app als de andere beheerde app. Het is raadzaam om voor beide apps hetzelfde beleid te gebruiken. Het beleid gericht op uw app moet zijn ingesteld op 'Gegevens ontvangen van andere apps' ingesteld op 'Door beleid beheerde apps'. Controleer het beleid dat is gericht op de andere app. als 'Organisatiegegevens verzenden naar andere apps' is ingesteld op 'Geen', is dit gedrag normaal.
Volgende stappen
Nadat u aan alle bovenstaande afsluitcriteria hebt voldaan, is uw app nu geïntegreerd als één identiteit en kan al het basisbeleid voor app-beveiliging worden afgedwongen. De volgende secties, Fase 5: Meerdere identiteiten, Fase 6: App Configuration en Fase 7: Deelname aan app Functies kunnen al dan niet vereist zijn, afhankelijk van de gewenste ondersteuning van het app-beveiligingsbeleid. Als u niet zeker weet of een van deze secties van toepassing is op uw app, gaat u terug naar Belangrijke beslissingen voor SDK-integratie.