Share via


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 door Intune beheerde toepassing is een toepassing die is geïntegreerd met de Intune App SDK. Intune-beheerders kunnen eenvoudig app-beveiligingsbeleid implementeren in uw door 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 Integration Essentials

Fasedoelen

  • Schakel de strikte MAM-modus in.
  • Registreer u voor kritieke meldingen van de SDK.
  • Implementeer en registreer een verificatie-callback om Microsoft Entra-tokens van MSAL aan 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 kunt inhaken op de logboekregistratie van de SDK, een dialoogvenster voor diagnostische gegevens kunt aanroepen, DE STRIKTE MODUS van MAM kunt inschakelen om mogelijke integratiefouten te identificeren, u te registreren voor meldingen van de SDK en, nog belangrijker, hoe u een account registreert voor Intune MAM om beleid te gaan ontvangen.

STRIKTE MAM-modus

In de strikte MAM-modus kunnen mogelijke fouten worden geïdentificeerd in de integratie van de Intune App SDK van uw toepassing. 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 MAMStrictViolationHandlerworden 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 als deze is 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 wordt doorgegeven aan uw toepassing als 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 bij de Intune-service registreert, 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:

  1. De app moet een exemplaar van de interface MAMServiceAuthenticationCallback of MAMServiceAuthenticationCallbackExtended implementeren en registreren. Het callback-exemplaar moet zijn geregistreerd in de onCreate() methode (of onMAMCreate()) van de subklasse Toepassing.

  2. Wanneer een account is gemaakt en de gebruiker zich met MSAL aanmeldt, moet de app registerAccountForMAM aanroepen.

  3. 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 van instellingen voor app-beveiligingsbeleid en voor het ophalen van in behandeling zijnde beheeracties, zoals selectief wissen van beveiligde gegevens in uw app. Als u wilt 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.

  1. 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 de onCreate() methode (of onMAMCreate()) van de subklasse van de app Application .

  2. 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 resourceIdaadId parameters en die worden doorgegeven aan acquireToken() , zodat het juiste token wordt verkregen. De upn parameter is alleen bedoeld voor informatief gebruik. Deze mag niet worden gebruikt om een account te identificeren zonder ook rekening te houden met de aadId. De resourceId moet worden gebruikt om de juiste bereiken te genereren en de aadId 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 de MAMServiceAuthenticationCallbackExtended 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;
      }
    }
    
  3. 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 aanroep acquireToken() zijn aangevraagd, moeten worden doorgegeven aan updateToken(), samen met het token dat uiteindelijk is verkregen. De upn 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 van acquireToken(). updateToken() moet worden gebruikt in het geval dat acquireToken() een token niet kan worden verkregen.

    Opmerking

    De SDK roept acquireToken() periodiek aan om het token op te halen, dus aanroepen updateToken() 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 voordatu registerAccountForMAM aanroept. Nadat een account is geregistreerd, ontvangen apps een callback naar de geregistreerde MAMServiceAuthenticationCallbackacquireToken() 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_NEEDEDhet 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 roepen updateToken() 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 overgenomen acquireToken() methode van MAMServiceAuthenticationCallback niet te worden geïmplementeerd, omdat de MAMServiceAuthenticationCallbackExtended 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);
  1. 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.

  2. 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 de IAccount gerelateerd aan de IAuthenticationResult.

    • 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.
  3. 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 inschrijvingen 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 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 op welke account 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 de app te laten installeren van de bedrijfsportal-app. Wanneer u deze melding naar de app verzendt, geeft de Intune App SDK een niet-blokkeringsgebruikersinterface 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, geeft de Intune App SDK een blokkerende gebruikersinterface weer wanneer de volgende keer onCreate wordt aangeroepen voor een activiteit en wordt de huidige identiteit beheerd (zie hieronder voor meer informatie over probleemoplossing).

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.

De Intune-bedrijfsportal-app heeft meerdere opties voor het verzamelen van diagnostische gegevens. De bedrijfsportal bevat gebruikersinterface die:

  • Hiermee kunnen eindgebruikers bedrijfsportallogboeken verzamelen.
  • Geeft metagegevens van apparaten en accounts weer.
  • Bevat informatie per app over het huidige MAM-beleid.

Intune Diagnostics UI Intune App Info

Zie Bedrijfsportallogboeken in de bijlage voor een gedetailleerde uitleg van de gegevens die zijn opgenomen in bedrijfsportallogboeken en in de diagnostische gebruikersinterface.

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 is 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:

  1. 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.
  2. 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.
  3. Wijs het app-beveiligingsbeleid toe aan een gebruikersgroep die uw testaccount bevat.
  4. 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.

  5. Installeer uw toepassing.
  6. Meld u aan bij uw toepassing met uw testaccount waarop app-beveiligingsbeleid is gericht.
  7. 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.

  8. Installeer de bedrijfsportal. U hoeft de bedrijfsportal niet te starten of u aan te melden bij de bedrijfsportal.
  9. Ga terug naar uw app en meld u zo nodig opnieuw aan.
  10. Controleer of u wordt gevraagd om het scherm Toegang ophalen. Dit geeft aan dat de SDK het beleid voor dit account heeft opgehaald.
  11. U moet worden gevraagd om een pincode voor de app in te stellen. Maak een pincode.
  12. Navigeer door uw toepassing en probeer schermopnamen te maken. Aangezien de SDK beleid heeft, moet dit consistent worden geblokkeerd op elk scherm.
  13. Meld het beheerde account uit uw toepassing.
  14. 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 het 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:

  1. Installeer uw app.
  2. Installeer de Intune-bedrijfsportal.
  3. Installeer een andere beheerde app, gericht op hetzelfde beleid als uw app, waarmee gegevens kunnen worden gekopieerd en geplakt (zoals Microsoft Office).
  4. Installeer (of hergebruik) een onbeheerde app die gegevens kan kopiëren en plakken.
  5. Meld u aan bij uw app met het door test beheerde account.
  6. 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:

  1. Installeer uw app.
  2. Installeer de Intune-bedrijfsportal.
  3. Installeer een andere beheerde app, gericht op hetzelfde beleid als uw app, die gegevens kan verzenden en ontvangen (zoals Microsoft Outlook).
  4. Installeer (of hergebruik) een niet-beheerde app die gegevens kan verzenden en ontvangen.
  5. Meld u aan bij uw app met het door test beheerde account.
  6. 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'.

Problemen oplossen

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 prompt bedrijfsportal 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 opstarten 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 van 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.Resultte 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 correct is geconfigureerd en opgehaald, controleert u of er beleidsregels worden afgedwongen: [Mijn app ontvangt geen beleid of dwingt dit 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 correct is geconfigureerd en opgehaald, controleert u of er beleidsregels worden afgedwongen: [Mijn app ontvangt geen beleid of dwingt dit 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-configuratie en Fase 7: Functies voor app-deelname zijn al dan niet vereist, 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 opnieuw naar Belangrijke beslissingen voor SDK-integratie.