Intune App SDK voor Android - ESSENTIËLE MAM-integratie
Met de Microsoft Intune App SDK voor Android kunt u Intune app-beveiligingsbeleid (ook wel APP- of MAM-beleid genoemd) opnemen in uw systeemeigen Java/Kotlin Android-app. Een Intune beheerde toepassing is een toepassing die is geïntegreerd met de Intune App SDK. Intune-beheerders kunnen eenvoudig app-beveiligingsbeleid implementeren in uw Intune beheerde app wanneer Intune de app actief beheert.
Opmerking
Deze handleiding is onderverdeeld in verschillende fasen. Bekijk eerst Fase 1: De integratie plannen.
Fase 4: MAM-integratie Essentials
Fase Goals
- Schakel de strikte MAM-modus in.
- Registreer u voor kritieke meldingen van de SDK.
- Implementeer en registreer een verificatieaanroep om Microsoft Entra tokens van MSAL naar de SDK te verstrekken.
- Registreer nieuwe accounts voor MAM-beheer na verificatie met MSAL.
- De registratie van accounts bij afmelden ongedaan maken om bedrijfsgegevens te verwijderen.
- (Aanbevolen) Neem MAM-logboekregistratie op in uw app.
- (Aanbevolen) Meer informatie over het gebruik van het diagnostische dialoogvenster van de SDK.
Achtergrond
Nu u de Intune App SDK hebt gedownload, geïntegreerd in uw build en vervangingen van klassen en methoden hebt uitgevoerd, is het tijd om de essentiële codewijzigingen aan te brengen om te beginnen met het afdwingen van instellingen voor app-beveiligingsbeleid voor met MAM beveiligde accounts.
In deze fase leert u hoe u verbinding maakt met de logboekregistratie van de SDK, een diagnostisch dialoogvenster aanroept, de strikte MAM-modus inschakelt om mogelijke integratiefouten te identificeren, u te registreren voor meldingen van de SDK en het belangrijkste, hoe u een account registreert voor Intune MAM om te beginnen met het ontvangen van beleid.
STRIKTE MAM-modus
De strikte MAM-modus kan potentiële fouten identificeren in de integratie van uw toepassing van de Intune App SDK. Deze integratiefouten kunnen ertoe leiden dat het app-beveiligingsbeleid niet correct wordt toegepast en dat bedrijfsgegevens niet worden beveiligd. Als gevolg hiervan is het gebruik van de strikte MAM-modus vereist.
De strikte MAM-modus zoekt naar afwijkingen in het gebruik van MAM-API's en BEPERKTE PLATFORM-API's van uw toepassing. Mam Strict Mode heeft een los patroon na de StrictMode van Android en voert een vooraf gedefinieerde set controles uit die runtimefouten veroorzaken wanneer deze mislukken. De strikte MAM-modus is niet bedoeld om ingeschakeld te blijven in productie-builds; Gebruik het in plaats daarvan in de interne ontwikkel-, foutopsporings- en/of dogfood-builds van uw app.
Als u de strikte MAM-modus wilt inschakelen, roept u de volgende methode vroeg in de initialisatie van de toepassing aan (bijvoorbeeld Application.onCreate
):
MAMStrictMode.enable();
Wanneer een mam strikte moduscontrole mislukt, probeert u te bepalen of het een echt probleem is dat kan worden opgelost in uw app of een fout-positief. Als u denkt dat het een fout-positief is of als u het niet zeker weet, laat het Intune MAM-team dit weten. Hierdoor kunnen we ervoor zorgen dat we het eens zijn met de fout-positieve bepaling en proberen de detectie voor toekomstige releases te verbeteren. Als u fout-positieven wilt onderdrukken, schakelt u de mislukte controle uit volgens de onderstaande instructies.
Schendingen verwerken
Wanneer een controle mislukt, wordt een MAMStrictViolationHandler uitgevoerd.
De standaardhandler genereert een Error
, die naar verwachting de app vastloopt.
Dit is om fouten zo luid mogelijk te maken en past bij de bedoeling dat de strikte modus niet moet worden ingeschakeld in productieversies.
Als uw app schendingen anders wil afhandelen, kan deze een eigen handler leveren door de volgende methode aan te roepen waarbij handler
implementaties MAMStrictViolationHandler
worden uitgevoerd:
MAMStrictMode.global().setHandler(handler);
Controles onderdrukken
Als een controle mislukt in een situatie waarin uw app niets onjuists doet, meldt u deze zoals hierboven vermeld. In de tussentijd kan het nodig zijn om de controle uit te schakelen wanneer er een fout-positief optreedt, ten minste tijdens het wachten op een bijgewerkte SDK. De controle die is mislukt, wordt weergegeven in de fout die is gegenereerd door de standaardhandler of wordt doorgegeven aan een aangepaste handler, indien ingesteld.
Hoewel onderdrukkingen globaal kunnen worden uitgevoerd, heeft het de voorkeur om per thread tijdelijk uit te schakelen op de specifieke aanroepsite. In de volgende voorbeelden ziet u verschillende manieren om MAMStrictCheck.IDENTITY_NO_SUCH_FILE uit te schakelen (als er een poging wordt gedaan om een bestand te beveiligen dat niet bestaat).
tijdelijke onderdrukking van Per-Thread
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
permanente onderdrukking van Per-Thread
MAMStrictMode.thread().disable(MAMStrictCheck.IDENTITY_NO_SUCH_FILE);
Wereldwijde onderdrukking (procesbreed)
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 een van deze meldingen en actie ondernemen wanneer u deze meldingen ontvangt.
Wanneer een IT-beheerder bijvoorbeeld een opdracht voor selectief wissen voor een apparaat uitgeeft, verzendt de Intune-service een melding naar de SDK, die als wordt doorgegeven aan uw toepassing.WIPE_USER_DATA
Uw toepassing kan naar deze melding luisteren en bepalen welke gegevens worden gewist; of het kan afhankelijk zijn van het standaard wisgedrag van de SDK.
Veel van de meldingen zijn optioneel. Afhankelijk van de SDK-functies die uw toepassing gebruikt, zijn sommige meldingen mogelijk vereist. Zie Registreren voor meldingen van de SDK in fase 7: Functies voor app-deelname voor meer informatie over hoe u zich registreert voor meldingen, welke meldingen de SDK levert en hoe u specifieke meldingstypen verwerkt.
Registreren voor app-beveiligingsbeleid
Wanneer beheerders app-beveiligingsbeleid maken, richten ze dit beleid op specifieke accounts in hun organisatie. Op de client moet de SDK weten welk account de toepassing gebruikt, zodat deze het beleid van dat account kan ophalen en de instellingen op de juiste manier kan afdwingen. Uw app is verantwoordelijk voor het verstrekken van deze accountgegevens aan de SDK. Dit proces wordt registratie genoemd.
Wanneer uw app een nieuw account toevoegt, moet het account worden geregistreerd bij de SDK, zelfs als andere accounts al zijn geregistreerd. Uw app kan meerdere accounts registreren. Momenteel kan echter slechts één account worden ingeschreven of app-beveiligingsbeleid 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 in gebruik is. De SDK bevat functies die uw app moet aanroepen voor het registreren en opheffen van accounts.
Inschrijving is het proces waarbij de SDK het geregistreerde account registreert bij de Intune service, zodat het beleid van het account kan worden toegepast. Uw app hoeft geen functies aan te roepen voor inschrijving. De SDK verwerkt de inschrijving volledig nadat een account is geregistreerd.
Als een account al is ingeschreven voor uw toepassing en een ander account wordt geregistreerd, zelfs als dat account is gericht op app-beveiligingsbeleid, wordt dat tweede account niet ingeschreven en wordt het beleid niet toegepast.
Opmerking
De term 'inschrijving' kan ook verwijzen naar MDM-inschrijving voor het hele apparaat Meer informatie in de bijlage bij MDM- en MAM-inschrijving.
Registratie implementeren
Voorzichtigheid
Als uw app MSAL niet integreert (sterk aanbevolen), raadpleegt u Standaardinschrijving in de bijlage in plaats van verder te gaan met deze sectie.
Uw app moet drie codewijzigingen aanbrengen om een account te registreren:
De app moet een exemplaar van de interface MAMServiceAuthenticationCallback of MAMServiceAuthenticationCallbackExtended implementeren en registreren. Het callback-exemplaar moet zijn geregistreerd in de
onCreate()
methode (ofonMAMCreate()
) van de subklasse Toepassing.Wanneer een account is gemaakt en de gebruiker zich met MSAL aanmeldt, moet de app registerAccountForMAM aanroepen.
Wanneer een account wordt verwijderd, moet de app unregisterAccountForMAM aanroepen om het account te verwijderen uit Intune-beheer.
Voorzichtigheid
De aanroep kan een wisbewerking starten om bedrijfsgegevens voor het account volledig te verwijderen.
Alle benodigde verificatie- en registratie-API's vindt u in de INTERFACE MAMEnrollmentManager .
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 voor instellingen voor app-beveiligingsbeleid en voor het ophalen van in behandeling zijnde beheeracties, zoals selectief wissen van beveiligde gegevens in uw app. Om te kunnen communiceren met de Intune-service, vereist de SDK nieuwe toegangstokens van apps met geïntegreerde MSAL.
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 voltooit om een naadloze afdwinging van beleid te garanderen.
In fase 2 hebt u MSAL geïntegreerd in uw toepassing voor verificatie en het verkrijgen van toegangstokens. Hier implementeert u een verificatie-callback zodat de SDK de benodigde tokens kan aanvragen.
MAMEnrollmentManager heeft 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 Microsoft Entra gebruikers-id, 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 resource-id. Het callback-exemplaar moet worden opgegeven aan de door de
MAMEnrollmentManager
bijbehorende methode registerAuthenticationCallback aan te roepen. Mogelijk is vroeg in de levenscyclus van de app een token nodig voor het opnieuw uitvoeren van nieuwe inschrijvingen of het vernieuwen van het app-beveiligingsbeleid. De callback moet dus worden geregistreerd in deonCreate()
methode (ofonMAMCreate()
) van de subklasse van de appApplication
.De
acquireToken
methode moet het toegangstoken verkrijgen voor de aangevraagde resource-id voor het opgegeven account. Als het aangevraagde token niet kan worden verkregen, moet het null retourneren.Tip
Zorg ervoor dat uw app gebruikmaakt van de
resourceId
aadId
parameters en die worden doorgegeven aanacquireToken()
, zodat het juiste token wordt verkregen. Deupn
parameter is alleen bedoeld voor informatief gebruik. Deze mag niet worden gebruikt om een account te identificeren zonder ook rekening te houden met deaadId
. DeresourceId
moet worden gebruikt om de juiste bereiken te genereren en deaadId
moet worden gebruikt om het juiste account door te geven. Als tokens worden geretourneerd voor het verkeerde account en/of de verkeerde resource, kunnen deze leiden tot vertragingen of fouten bij het registreren van de app en het ophalen van beleidsregels. Als uw app de Microsoft Entra Authority nodig heeft om het token correct te verkrijgen, implementeert u deMAMServiceAuthenticationCallbackExtended
interface.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 opgeven wanneer de SDK aanroept
acquireToken()
, bijvoorbeeld als verificatie op de achtergrond mislukt en het niet handig is om een gebruikersinterface weer te geven, kan de app op een later tijdstip een token leveren door de methode updateToken aan te roepen. Dezelfde UPN, Microsoft Entra ID en resource-id die door de vorige aanroepacquireToken()
zijn aangevraagd, moeten worden doorgegeven aanupdateToken()
, samen met het token dat uiteindelijk is verkregen. Deupn
parameter is alleen voor informatieve doeleinden en wordt over het algemeen genegeerd door de MAM SDK. De app moet deze methode zo snel mogelijk aanroepen nadat null is geretourneerd vanuit de opgegeven callback.Waarschuwing
Roep niet
updateToken()
aan vanuit uw implementatie vanacquireToken()
.updateToken()
moet worden gebruikt in het geval datacquireToken()
een token niet kan worden verkregen.Opmerking
De SDK roept
acquireToken()
periodiek aan om het token op te halen, dus aanroepenupdateToken()
is niet strikt vereist. Dit wordt echter sterk aanbevolen, omdat het kan helpen bij het tijdig voltooien van inschrijvingen en app-beveiligingsbeleid.
Opmerkingen bij verificatie-implementatie
Apps worden aangemoedigd om Microsoft Entra-tokens te verkrijgen voordatregisterAccountForMAM wordt aangeroepen. Nadat een account is geregistreerd, ontvangen apps een callback naar de geregistreerde
MAMServiceAuthenticationCallback
acquireToken()
methode op een andere thread. Door een geldig token op te geven in die callback kan de inschrijving doorgaan. De app krijgt het inschrijvingsresultaat via een melding.Als de app geen geldig Microsoft Entra token retourneert, is
AUTHORIZATION_NEEDED
het uiteindelijke resultaat van de inschrijvingspoging . Als de app dit resultaat ontvangt via een melding, is het raadzaam om het inschrijvingsproces te versnellen door het token voor het account en de resource te verkrijgen die eerder zijn aangevraagd bij acquireToken en de methode updateToken aan te roepen om het inschrijvingsproces opnieuw te starten.De geregistreerde
MAMServiceAuthenticationCallback
app wordt ook aangeroepen om een token te verkrijgen voor het periodiek vernieuwen van het app-beveiligingsbeleid. Als de app geen token kan opgeven wanneer dit wordt aangevraagd, ontvangt deze geen melding, maar moet worden geprobeerd een token te verkrijgen en op het volgende geschikte moment aan te roepenupdateToken()
om het incheckproces te versnellen. Als er geen token is opgegeven, kan de callback nog steeds worden aangeroepen bij de volgende incheckpoging.Voor ondersteuning van onafhankelijke clouds is het opgeven van de autoriteit vereist.
Als
MAMServiceAuthenticationCallbackExtended
de interface is geïmplementeerd, hoeft de overgenomenacquireToken()
methode vanMAMServiceAuthenticationCallback
niet te worden geïmplementeerd, omdat deMAMServiceAuthenticationCallbackExtended
interface een standaard-implementatie biedt.
MAMEnrollmentManager en registratie
Wanneer de app een account toevoegt, moet het account worden geregistreerd bij de SDK. Wanneer de app een account verwijdert, moet de registratie van dat account worden opgeheken om aan te geven dat de app geen beleid meer voor dat account moet toepassen. Als het account is 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 wilt registreren voor beheer, moet de app aanroepen
registerAccountForMAM()
. Een account wordt geïdentificeerd door zowel de UPN als de Microsoft Entra gebruikers-id. De tenant-id is ook vereist om inschrijvingsgegevens te koppelen aan de Microsoft Entra tenant van het account. De instantie van het account kan ook worden verstrekt om inschrijving bij specifieke onafhankelijke clouds toe te staan; Zie Registratie van onafhankelijke cloud voor meer informatie. De SDK kan proberen de app in te schrijven voor het opgegeven account in de MAM-service; Als de inschrijving mislukt, wordt de inschrijving regelmatig opnieuw geprobeerd totdat de inschrijving is voltooid of de registratie van het account ongedaan wordt gemaakt. De periode voor opnieuw proberen is doorgaans 12-24 uur. De SDK biedt de status van inschrijvingspogingen asynchroon via meldingen.De beste tijd om aan te roepen
registerAccountForMAM
is nadat de gebruiker zich heeft aangemeld bij de app en is geverifieerd met behulp van MSAL. De Microsoft Entra gebruikers-id, tenant-id en instantie van het account worden geretourneerd door de MSAL-verificatieaanroep als onderdeel van deIAccount
die is gerelateerd aan deIAuthenticationResult
.- Het account is afkomstig van de
IAuthenticationResult.getAccount()
methode en bevat de relevante accountgegevens. - De AAD-id (ook wel bekend als Microsoft Entra ID of OID) is afkomstig van de
IAccount.getId()
methode. - De tenant-id is afkomstig van de
IAccount.getTenantId()
methode. - De instantie is afkomstig van de
IAccount.getAuthority()
methode.
- Het account is afkomstig van de
Als u de registratie van een account bij Intune-beheer wilt opheffen, moet de app aanroepen
unregisterAccountForMAM()
. Als het account is ingeschreven en wordt beheerd, wordt het account door de SDK uitgeschreven en worden de gegevens gewist. Periodieke nieuwe pogingen voor inschrijving voor het account worden gestopt. De SDK biedt de status van aanvragen voor uitschrijving asynchroon via een melding.
Opmerkingen bij registratie-implementatie
De registratiemethoden zijn idempotent. Met registerAccountForMAM wordt bijvoorbeeld alleen een account geregistreerd en wordt geprobeerd de app in te schrijven als het account nog niet is geregistreerd. Als u de registratie van AccountForMAM ongedaan maakt , wordt de registratie van een account alleen ongedaan gemaakt als het momenteel is geregistreerd. Volgende aanroepen zijn no-ops, dus het kan geen kwaad om deze methoden meer dan één keer aan te roepen.
Er is geen garantie dat elke registratie-/de-registratieaanroep een bijbehorende resultaatmelding heeft. Als
registerAccountForMAM()
bijvoorbeeld wordt aangeroepen voor een account dat al is geregistreerd, wordt de melding mogelijk niet opnieuw verzonden voor die identiteit. De SDK kan ook meldingen verzenden, zelfs wanneer uw app deze methoden niet heeft aangeroepen, omdat de SDK periodiek inschrijvingen op de achtergrond kan proberen en de registraties ongedaan kunnen worden uitgevoerd 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 worden ingeschreven. Als meerdere accounts die zijn gelicentieerd voor Intune en gericht zijn op app-beveiligingsbeleid, op of bijna hetzelfde moment worden geregistreerd, is er geen garantie waarop één de race zal winnen.
U kunt mamEnrollmentManager opvragen om te zien of een bepaald account is geregistreerd en om de huidige status op te halen met behulp van de methode getRegisteredAccountStatus . Als het opgegeven account niet is geregistreerd, retourneert deze methode null. Als het account is geregistreerd, retourneert deze methode de status van het account als een van de leden van de opsomming MAMEnrollmentManager.Result .
Registratie van onafhankelijke cloud
Azure ondersteunt meerdere fysiek geïsoleerde clouds, ook wel soevereine of nationale clouds genoemd.
Als uw toepassing onafhankelijk is van de cloud, moet deze de authority
parameter opgeven voor .registerAccountForMAM()
MSAL-richtlijnen
Voor MSAL stelt u multiple_clouds_supported
in op true
in het MSAL-configuratiebestand.
{
"multiple_clouds_supported": true,
}
Registratieresultaat- en statuscodes
Wanneer een account voor het eerst wordt geregistreerd, begint het in de PENDING
status, wat aangeeft dat de eerste poging tot inschrijving van de MAM-service onvolledig is.
Nadat de inschrijvingspoging is voltooid, wordt er 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 als de SDK de inschrijving op de achtergrond opnieuw probeert.
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 is niet gelicentieerd voor Intune of de poging om contact op te maken met de Intune MAM-service is mislukt. De app moet worden voortgezet in een onbeheerde (normale) status en de gebruiker mag niet worden geblokkeerd. Inschrijvingen worden periodiek opnieuw geprobeerd voor het geval het account in de toekomst een licentie krijgt. |
ENROLLMENT_SUCCEEDED |
De inschrijvingspoging is geslaagd of het account is al ingeschreven. In het geval van een geslaagde inschrijving wordt vóór deze melding een melding voor het vernieuwen van beleid verzonden. Toegang tot bedrijfsgegevens moet zijn toegestaan. |
ENROLLMENT_FAILED |
De inschrijvingspoging is mislukt. Meer informatie vindt u in de apparaatlogboeken. De app mag geen toegang tot bedrijfsgegevens in deze status toestaan, omdat eerder is vastgesteld dat het account een licentie heeft voor Intune. Alle apps moeten ervoor zorgen dat toegang tot bedrijfsgegevens niet geautoriseerd is, totdat ENROLLMENT_SUCCEEDED deze door uw app wordt verkregen. |
WRONG_USER |
Er kan slechts één account per apparaat een app registreren bij de MAM-service. Dit resultaat geeft aan dat het account waarvoor dit resultaat is geleverd (het tweede account) is gericht op 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 is voltooid. Gelijktijdig met het leveren van dit WRONG_USER resultaat vraagt MAM met de optie om het bestaande account te verwijderen. Als de menselijke gebruiker bevestigend antwoordt, is het inderdaad mogelijk om het tweede account een korte tijd later in te schrijven. Zolang het tweede account geregistreerd blijft, wordt de inschrijving door MAM periodiek opnieuw uitgevoerd. |
UNENROLLMENT_SUCCEEDED |
De uitschrijving is geslaagd. |
UNENROLLMENT_FAILED |
De aanvraag voor uitschrijving is mislukt. Meer informatie vindt u in de apparaatlogboeken. In het algemeen gebeurt dit niet zolang de app een geldige (null of lege) UPN doorgeeft. Er is geen directe, betrouwbare herstelbewerking die de app kan uitvoeren. Als deze waarde wordt ontvangen bij het ongedaan maken van de registratie van een geldige UPN, meldt u als een fout aan het Intune MAM-team. |
PENDING |
De eerste inschrijvingspoging voor het account wordt uitgevoerd. De app kan de toegang tot bedrijfsgegevens blokkeren totdat het inschrijvingsresultaat bekend is, maar is hiervoor niet vereist. |
COMPANY_PORTAL_REQUIRED |
Het account is gelicentieerd voor Intune, maar de app kan pas worden ingeschreven als de Bedrijfsportal-app op het apparaat is geïnstalleerd. De Intune App SDK probeert de toegang tot de app voor het opgegeven account te blokkeren en geeft de gebruiker de aanwijzing om de Bedrijfsportal-app te installeren. Wanneer u deze melding naar de app verzendt, geeft de Intune App SDK een niet-blokkerende gebruikersinterface weer boven op de huidige activiteit als de activiteit momenteel zichtbaar is voor de gebruiker of de volgende keer onResume wordt aangeroepen. Als de gebruiker deze niet-blokkeringsgebruikersinterface annuleert, wordt in de Intune App SDK een blokkerende gebruikersinterface weergegeven wanneer de volgende keer onCreate wordt aangeroepen voor een activiteit 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 vastgelegde gegevens te halen.
Application.onMAMCreate()
is doorgaans 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.
Dit roept voor elk logboekbericht op de toepassingshandler publish()
aan.
/**
* 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 'persoonsgegevens' en kan gegevens bevatten zoals gebruikersnamen en UPN's. U wordt sterk aangeraden dergelijke persoonlijke gegevens uit te sluiten in uw eigen productielogboeken. Zie het privacybeleid van Microsoft voor meer informatie.
(Aanbevolen) Diagnostische gegevens
De Intune-bedrijfsportal-app heeft meerdere opties voor het verzamelen van diagnostische gegevens. De Bedrijfsportal bevat gebruikersinterface die:
- Hiermee kunnen eindgebruikers Bedrijfsportal logboeken verzamelen.
- Geeft metagegevens van apparaten en accounts weer.
- Bevat informatie per app over het huidige MAM-beleid.
Zie Informatie over Bedrijfsportal logboeken in de bijlage voor een gedetailleerde uitleg van de gegevens die zijn opgenomen in Bedrijfsportal logboeken en in de gebruikersinterface voor diagnostische gegevens.
Tip
Als u test met een account waarop MAM-beleid moet worden toegepast, maar de diagnostische gegevens geen beleid weergeven voor de pakketnaam van uw app, raadpleegt u de sectie Probleemoplossing hieronder.
Apps kunnen deze gebruikersinterface voor diagnostische gegevens starten door aan te roepen MAMPolicyManager.showDiagnostics(context)
.
Eindgebruikers kunnen ook de diagnostische console van de Bedrijfsportal starten via Microsoft Edge door in te voeren about:intunehelp
in de adresbalk.
Dit is een optionele functie die kan helpen bij het opsporen van fouten.
Deze diagnostische gegevens zijn alleen beschikbaar wanneer de Bedrijfsportal op het apparaat is geïnstalleerd.
Er wordt een waarschuwingsdialoogvenster weergegeven wanneer showDiagnostics
wordt aangeroepen zonder dat de Bedrijfsportal geïnstalleerd.
Afsluitcriteria
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.
Eerste beleidstoepassingstest
Voer eerst de volgende test uit om vertrouwd te raken met de volledige ervaring van de eindgebruiker van de beleidstoepassing in uw app:
- Maak een Android-app-beveiligingsbeleid in het Microsoft Intune-beheercentrum (zie Een beveiligingsbeleid 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 is gericht op uw toepassing. 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 android-testapparaat andere met SDK geïntegreerde apps, zoals Microsoft Outlook, Teams, OneDrive en Office. Verwijder ook de Intune-bedrijfsportal-app en de Microsoft Authenticator-app.
-
Tip
Als u andere met SDK geïntegreerde apps verwijdert, zorgt u ervoor dat u de integratie van uw eigen app uitsluitend test.
-
- Installeer uw toepassing.
- Meld u aan bij uw toepassing met uw testaccount waarop app-beveiligingsbeleid is gericht.
- 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 App Store 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.
- Controleer of u wordt gevraagd om het scherm Toegang ophalen. Dit geeft aan dat de SDK het beleid voor dit account heeft opgehaald.
- U moet worden gevraagd om een pincode voor de app in te stellen. Maak een pincode.
- Navigeer door uw toepassing en probeer schermopnamen te maken. Aangezien de SDK beleid heeft, moet dit consistent worden geblokkeerd op elk scherm.
- Meld het beheerde account uit uw toepassing.
- Indien mogelijk zonder u aan te melden, navigeert u door uw toepassing en probeert u schermopnamen te maken. Nu het account is verwijderd, mag dit niet worden geblokkeerd.
Dit is een minimale test om te bevestigen dat uw app het account correct heeft geregistreerd, de verificatie-callback 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 gegevensbeveiliging die zijn geconfigureerd in het app-beveiligingsbeleid. Wanneer u de instellingen voor app-beveiligingsbeleid wijzigt in het Microsoft Intune-beheercentrum, wordt de client niet onmiddellijk bijgewerkt. Zie Snel testen met wijzigend beleid voor tips over het versnellen van testen.
Voor deze tests:
- Installeer uw 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 die gegevens kan kopiëren en plakken.
- Meld u aan bij uw app met het door test beheerde account.
- Meld u aan bij de andere beheerde app met het beheerde testaccount.
Scenario | Beleidsinstelling voor app-beveiliging | Teststappen |
---|---|---|
Schermopname | 'Schermopname en Google-assistent' ingesteld op 'Blokkeren' | 1. Navigeer naar alle pagina's in uw app. 2. Probeer op elke pagina een schermopname 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 is ingesteld op Door beleid beheerde apps | 0. Als uw app geen tekst heeft om te kopiëren, slaat u over. 1. Navigeer naar alle pagina's in uw app met kopieerbare tekst. 2. Tekst kopiëren. 3. Schakel over naar de niet-beheerde app. 4. Probeer te plakken in de niet-beheerde app. 5. Controleer of de plakken is geblokkeerd. 6. Navigeer naar de andere beheerde app. 7. Probeer te plakken in de beheerde app. 8. Controleer of het plakken is toegestaan. |
Tekst plakken | Knippen, kopiëren en plakken tussen andere apps beperken is ingesteld op Door beleid beheerde apps | 0. Als uw app geen tekstinvoer heeft om in te plakken, slaat u over. 1. Schakel over naar de niet-beheerde app. 2. Kopieer tekst uit de onbeheerde app. 3. Navigeer naar alle pagina's in uw app met tekstinvoer. 5. Probeer te plakken vanuit de onbeheerde app. 5. Controleer of de plakken is geblokkeerd. 6. Overschakelen naar de andere beheerde app. 7. Kopieer tekst uit de andere beheerde app. 7. Navigeer naar alle pagina's in uw app met tekstinvoer. 8. Probeer te plakken vanuit de andere beheerde app. 9. Controleer of het plakken is toegestaan. |
Drukkerij | 'Organisatiegegevens afdrukken' ingesteld op 'Blokkeren' | 0. Als uw app geen pagina's of documenten heeft die kunnen worden afgedrukt, slaat u 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 het afdrukken is geblokkeerd. |
Beheerde browser | 'Overdracht van webinhoud met andere apps beperken' ingesteld op 'Microsoft Edge' | 0. Als uw app geen weblinks weergeeft, slaat u over. 1. Navigeer naar alle pagina's in uw app die weblinks kunnen weergeven of tekstinvoer kunnen hebben die wordt weergegeven in klikbare weblinks. 2. Selecteer voor elke pagina de weblink. 3. Controleer of u wordt gevraagd Microsoft Edge te installeren en dat 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 is geïnstalleerd op uw apparaat |
0. Als uw app geen tekstinvoer heeft, slaat u over. 1. Navigeer naar alle pagina's in uw 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 dat het huidige apparaattoetsenbord niet wordt geopend. |
Tests voor gegevensoverdracht
Instellingen voor gegevensoverdracht zijn een subset van gegevensbeveiligingsbeleidsfuncties voor app-beveiliging waarmee gegevens worden beheerd die beheerde apps binnenkomen en afsluiten. De meeste apps die ondersteuning bieden voor het verzenden van gegevens naar of het ontvangen van gegevens van andere apps, hebben ook de mogelijkheid om gegevens op te slaan in en gegevens te openen vanuit lokale of cloudopslag. Als uw app deze mogelijkheden heeft, moet u extra ondersteuning implementeren. Zie Beleid voor het beperken van gegevensoverdracht tussen apps en apparaat- of cloudopslaglocaties 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 die een document opent vanuit een Microsoft Outlook-bijlage. De beleidsinstelling 'gegevens ontvangen van andere apps' heeft betrekking op beide scenario's.
Voor deze tests:
- Installeer uw 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 niet-beheerde app die gegevens kan verzenden en ontvangen.
- Meld u aan bij uw app met het door 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 deze over. 1. Navigeer naar de locatie waar uw app gegevens kan verzenden. 2. Probeer gegevens te verzenden. 3. Controleer of u beperkt bent tot het verzenden van gegevens naar andere beheerde apps. U ziet nu een app-kiezer met alleen beheerde apps. |
Gegevens importeren uit andere apps | 'Gegevens ontvangen van andere apps' ingesteld op 'Door beleid beheerde apps' | 0. Als uw app geen gegevens uit andere apps kan importeren, slaat u deze over. 1. Navigeer naar de locatie waar uw app gegevens uit andere apps kan importeren. 2. Probeer gegevens te importeren. 3. Controleer of u beperkt bent tot het importeren van gegevens uit andere beheerde apps. U ziet nu 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 deze over. 1. Schakel over naar de niet-beheerde app. 2. Navigeer naar de locatie waar gegevens kunnen worden verzonden. 3. Probeer gegevens van de niet-beheerde 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 deze over. 1. Overschakelen naar de andere beheerde app. 2. Navigeer naar de locatie waar gegevens 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 uw app aanvullende wijzigingen heeft doorgevoerd. U hoeft deze instellingen in deze fase niet te testen. Zie Fase 7: Functies voor app-deelname voor meer informatie.
Scenario | Beleidsinstelling voor app-beveiliging | Ondersteuning moet worden geïmplementeerd als... |
---|---|---|
Kopieën van gegevens opslaan | Kopieën van organisatiegegevens opslaan | Uw toepassing kan gegevens opslaan in lokale of cloudopslag. |
Gegevens openen vanuit opslag | Gegevens openen in organisatiedocumenten | Uw toepassing kan gegevens openen vanuit lokale opslag of cloudopslag. |
Inhoud van beheerde meldingen | Meldingen van organisatiegegevens | Uw app bevat gebruikersgegevens in meldingen. |
Back-up maken en herstellen | Back-up van organisatiegegevens maken naar Back-upservices voor Android | Uw app deelt gebruikersgegevens met de back-upfunctie van Android. |
Tests voor voorwaardelijk starten
Instellingen voor voorwaardelijk starten zijn een subset van app-beveiligingsbeleidsfuncties 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'). Acties voor voorwaardelijk starten kunnen zijn:
- Waarschuwen: de eindgebruiker ziet een waarschuwingsdialoogvenster wanneer het apparaat of de app niet voldoet aan de criteria. Ze hebben nog steeds toegang tot alle app-gegevens.
- Toegang blokkeren: de eindgebruiker ziet een waarschuwingsdialoogvenster wanneer het apparaat of de app niet voldoet aan de criteria. Ze mogen de app niet invoeren en toegang krijgen tot app-gegevens totdat 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 voldoet aan de criteria. De gebruiker heeft 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 voor voorwaardelijk starten door beleidsitems te wijzigen zodat uw testapparaat:
- Hiermee worden alle geconfigureerde instellingen voor voorwaardelijk starten doorgegeven.
- Mislukt 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'.
Probleemoplossing
First Policy Application Test Troubleshooting
Als u de bovenstaande stappen voor de test van de eerste beleidstoepassing volgt, kunt u het volgende onverwachte gedrag tegenkomen:
Nadat ik me heb aangemeld met een beheerd account, wordt ik niet gevraagd om de Bedrijfsportal te installeren (stap 7)
Ga eerst naar het Intune-beheercentrum en controleer of het app-beveiligingsbeleid is gericht op uw testaccount.
Controleer ten tweede uw broncode op aanroepen naar registerAccountForMAM
en implementatie van MAMServiceAuthenticationCallback
.
Als deze eerste niet op het juiste moment wordt aangeroepen en/of als het laatste geen geldig token heeft opgegeven, ziet u de Bedrijfsportal prompt niet.
Zoek ten slotte in de logboeken (of foutopsporing) naar de registratieresultaatcode of roep getRegisteredAccountStatus
expliciet het account aan.
Codes zoals NOT_LICENSED kunnen duiden op configuratieproblemen met het testaccount.
Ik heb het scherm Toegang krijgen niet gezien na het aanmelden (stap 10)
Als de Bedrijfsportal niet eerder is geïnstalleerd, moet u mogelijk uw toepassing hervatten of volledig opnieuw starten om het scherm Toegang ophalen te zien en het beleid correct af te dwingen. Dit is een verwacht resultaat op basis van hoe met SDK geïntegreerde apps code in de Bedrijfsportal-app wordt gebruikt.
Als u het scherm Toegang ophalen nog steeds niet ziet, zelfs nadat u uw app opnieuw hebt opgestart en u zich opnieuw hebt aangemeld, kan de SDK het account niet inschrijven of beleid voor het account ophalen.
Controleer de implementatie van uw broncode van de MAMServiceAuthenticationCallback
.
Ik heb het scherm niet gezien om een app-pincode in te stellen of in te voeren na het aanmelden (stap 11)
Zijn er andere sdk-geïntegreerde toepassingen op uw testapparaat? De pincode van de app wordt gedeeld tussen alle beheerde apps en de SDK heeft een globale timer om te voorkomen dat eindgebruikers bij het starten of hervatten van een beheerde app om de pincode worden gevraagd.
Anders gaat u naar het Intune-beheercentrum en controleert u of in het app-beveiligingsbeleid de pincode voor de app is ingeschakeld en of deze is gericht op uw testaccount.
Als laatste redmiddel wordt de pincodetimer opnieuw ingesteld als u uw apparaat opnieuw opstart. Als het pincodescherm niet wordt weergegeven nadat u uw apparaat opnieuw hebt opgestart, is het waarschijnlijk niet juist geconfigureerd in het beleid.
Ik heb het scherm Toegang krijgen wel gezien, maar schermafbeeldingen zijn nog steeds toegestaan (stap 12)
Terwijl het beleid wordt opgehaald, wordt het verkeerde beleid toegepast. Ga eerst naar het Intune-beheercentrum en controleer of het app-beveiligingsbeleid schermopnamen uitschakelt en is gericht op uw testaccount. Gebruik ten tweede de diagnostische console (hierboven beschreven) om het beleid te controleren dat is opgehaald voor uw app. Als beide beleidsregels bevestigen dat schermopnamen moeten worden geblokkeerd, controleert u de configuratie van de Gradle-build-invoegtoepassing om ervoor te zorgen dat MAM-vervangingen worden gemaakt.
Mijn app lijkt vast te lopen of te worden gesloten na het afmelden (stap 13)
Wanneer u de registratie van een account opheffen dat eerder was ingeschreven en waarop beleid was afgedwongen, worden gegevens die aan dat account zijn gekoppeld, gewist door de SDK. Het beëindigen van het app-proces wordt verwacht.
Schermopnamen worden nog steeds geblokkeerd, zelfs nadat ik me heb afgemeld (stap 14)
Controleer uw broncode op aanroepen naar unregisterAccountForMAM()
.
Als beleid nog steeds wordt afgedwongen nadat u zich hebt afgemeld, is het account waarschijnlijk niet correct geregistreerd en uitgeschreven.
Problemen met data protection-test oplossen
Als u de bovenstaande stappen voor gegevensbeschermingstests volgt, kunt u het volgende onverwachte gedrag tegenkomen:
Mijn app ontvangt geen beleid of dwingt dit af
Controleer eerst of het app-beveiligingsbeleid is gericht op een groep met uw testaccount. Zie Het instellen van uw app-beveiligingsbeleid valideren in Microsoft Intune voor meer informatie.
Controleer ten tweede de diagnostische gegevens van de client om te bevestigen dat de SDK het geconfigureerde beleid heeft ontvangen.
Als dat niet zo is, controleert u de implementatie van MAMServiceAuthenticationCallback
en roept u aan naar registerAccountForMAM
.
Controleer ook logboeken of foutopsporing om de MAMEnrollmentManager.Result
te controleren.
Mijn app kan gegevens delen met een onbeheerde app
Bevestig dat 'Organisatiegegevens verzenden naar andere apps' is ingesteld op 'Door beleid beheerde apps'. Controleer het Microsoft Intune-beheercentrum om te controleren of het beleid correct is geconfigureerd en gericht. Controleer de diagnostische gegevens van de client om te controleren of de SDK het geconfigureerde beleid heeft ontvangen.
Als beleid vervolgens correct is geconfigureerd en opgehaald, controleert u of er beleidsregels worden afgedwongen: Mijn app ontvangt of dwingt geen beleid af.
Mijn app kan geen gegevens delen met een andere beheerde app
Bevestig de instellingen voor het app-beveiligingsbeleid die zijn gericht op zowel uw app als de andere beheerde app. Het wordt aanbevolen om hetzelfde beleidsdoel voor beide apps te hebben. Voor het beleid voor uw app moet 'Organisatiegegevens naar andere apps verzenden' zijn 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', wordt dit gedrag verwacht.
Mijn app kan gegevens ontvangen van een onbeheerde app
Controleer of 'Gegevens ontvangen van andere apps' is ingesteld op 'Door beleid beheerde apps'. Controleer het Microsoft Intune-beheercentrum om te controleren of het beleid correct is geconfigureerd en gericht. Controleer de diagnostische gegevens van de client om te controleren of de SDK het geconfigureerde beleid heeft ontvangen.
Als beleid vervolgens correct is geconfigureerd en opgehaald, controleert u of er beleidsregels worden afgedwongen: Mijn app ontvangt of dwingt geen beleid af.
Mijn app kan geen gegevens ontvangen van een andere beheerde app
Bevestig de instellingen voor het app-beveiligingsbeleid die zijn gericht op zowel uw app als de andere beheerde app. Het wordt aanbevolen om hetzelfde beleidsdoel voor beide apps te hebben. Voor het beleid voor uw app moet 'Gegevens ontvangen van andere apps' zijn ingesteld op 'Door beleid beheerde apps'. Controleer het beleid dat is gericht op de andere app; Als 'Organisatiegegevens naar andere apps verzenden' is ingesteld op 'Geen', wordt dit gedrag verwacht.
Volgende stappen
Nadat u alle bovenstaande afsluitcriteria hebt voltooid, is uw app nu geïntegreerd als één identiteit en kan alle basisbeleid voor app-beveiliging worden afgedwongen. De volgende secties, Fase 5: Meerdere identiteiten, Fase 6: App Configuration en Fase 7: Functies voor app-deelname zijn al dan niet vereist, afhankelijk van de gewenste ondersteuning van het app-beveiligingsbeleid van uw app. Als u niet zeker weet of een van deze secties van toepassing is op uw app, gaat u opnieuw naar Belangrijke beslissingen voor SDK-integratie.