Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Android için Microsoft Intune Uygulama SDK'sı, Intune uygulama koruma ilkelerini (MAM ilkeleri olarak da bilinir) yerel Java/Kotlin Android uygulamanıza dahil etmenize olanak tanır. Bir IntuneIntune-yönetilen uygulama, IntuneIntune App SDK ile tümleştirilmiş bir uygulamadır. IntuneIntune yöneticileri, IntuneIntune uygulamayı etkin olarak yönettiğinde, IntuneIntune-managed app to your IntuneIntune-managed app.
Not
Bu kılavuz birkaç ayrı aşamaya ayrılmıştır. 1. Aşama: Entegrasyonu Planlama bölümünü gözden geçirerek başlayın.
5. Aşama: Çoklu Kimlik
Aşama Hedefleri
- Uygulamanızın çok kimlikli desteğe ihtiyacı olup olmadığını belirleyin.
- TIntuneIntune Uygulama SDK'sının kimlikleri nasıl algıladığını anlayın.
- Kimlik farkındalığı için uygulamanızı yeniden düzenleyin.
- SDK'yı uygulamanız genelinde etkin ve değişen kimlikler hakkında bilgilendirmek için kod ekleyin.
- Hem yönetilen hem de yönetilmeyen kimlikler için uygulama koruma ilkesi uygulamasını kapsamlı bir şekilde test edin.
Kimlik terminolojisi
"Kullanıcı", "hesap" ve "kimlik" terimleri çoğunlukla birbirinin yerine kullanılır. Bu kılavuz aşağıdaki gibi ayırt etmeye çalışır:
- Kullanıcı: yazılım ürününü kullanan insan. Son kullanıcı, Android uygulamasını kullanan insan ve yönetici / yönetici kullanıcı / BT yöneticisi / BT Pro, Microsoft IntuneMicrosoft Intune admin center kullanan insan olarak daha da farklılaşır.
- Firma: Kullanıcının varlığını benzersiz olarak tanımlayan kuruluşa ait yazılım kaydı. Bir insan kullanıcının birden fazla hesabı olabilir.
- Kimlik: IntuneIntune Uygulama SDK'sının bir hesabı benzersiz olarak tanımlamak için kullandığı veri kümesi.
Arka plan
Varsayılan olarak, IntuneIntune Uygulama SDK'sı ilkeyi uygulamanızın tamamına uygular. Hedefli uygulama koruma ilkesine sahip bir hesap kaydettikten sonra SDK, her dosyayı ve her etkinliği bu hesabın kimliğiyle ilişkilendirir ve bu hesabın hedeflenen ilkesini evrensel olarak uygular.
Birçok geliştirici için bu, uygulamaları için istenen uygulama koruma davranışıdır. Bu uygulamalar tek kimlik olarak kabul edilir. Önceki aşamaları tamamlayarak, uygulamanız tek kimlik olarak başarıyla tümleştirilir ve tüm temel ilkeleri uygulayabilir. Tek kimlikli kalması amaçlanan uygulamalar bu bölümü atlayabilir ve 6. aşamaya geçebilir: Uygulama YapılandırmasıUygulama Yapılandırması.
TIntuneIntune Uygulama SDK'sı, isteğe bağlı olarak kimlik düzeyinde ilkeyi zorunlu kılabilir. Uygulamanız zaten aynı anda oturum açmış birden çok hesabı destekliyorsa ve bu çoklu hesap desteğini uygulama koruma ilkeleriyle sürdürmek istiyorsanız, uygulamanız çok kimlikli olarak kabul edilir.
İpucu
Uygulamanın tek kimlikli mi yoksa çok kimlikli mi korumaları desteklemesi gerektiğinden emin değilseniz yeniden ziyaret edin: Uygulamam tek kimlikli mi yoksa çok kimlikli mi?
Uyarı
Çoklu kimlik desteği, diğer uygulama koruma özelliklerinden önemli ölçüde daha karmaşıktır. Çoklu kimliğin yanlış bir şekilde entegre edilmesi veri sızıntılarına ve diğer güvenlik sorunlarına neden olabilir. Bu bölümü dikkatlice gözden geçirin ve bir sonraki aşamaya geçmeden önce test için yeterli zaman planlayın.
SDK'ye "Kimlik"
SDK ile tümleşik bir uygulama registerAccountForMAM'ı kullanarak bir hesabı kaydettiğinde, SDK sağlanan tüm parametreleri (upn, aadId, tenantId ve authority) kimlik olarak kaydeder. Ancak SDK'nın kimlik API'lerinin çoğu, kimlik tanımlayıcısı olarak sağlanan OID'yi (Microsoft Entra IDMicrosoft Entra ID veya AAD ID olarak da bilinir) kullanır. MAM SDK API'leri kimlik olarak OID dizesini döndürür ve kimlik için OID dize parametresi gerektirir. Bazı yöntemler bir UPN dizesi de alabilir veya döndürebilir; bu durumda, UPN yalnızca bilgilendirme amaçlıdır.
Kimlik parametreleri büyük/küçük harfe duyarlı değildir. Bir kimlik için SDK'ya yapılan istekler, kimlik kaydedilirken veya ayarlanırken kullanılan büyük/küçük harf kullanımını döndürmeyebilir.
Dikkat
Bir UPN dizesi alan veya döndüren kullanım dışı yöntemleri kullanan uygulamalar için, uygulamaların çeşitli API çağrılarına geçirilen kimlik UPN dizesinin tutarlı olduğundan emin olması gerekir. Tutarsız UPN dizelerinin geçirilmesi veri sızıntılarına neden olabilir.
Yönetilen ve Yönetilmeyen Kimlikler
Uygulama Koruma İlkesi'ne Kaydolma bölümünde açıklandığı gibi, uygulamanız bir kullanıcı oturum açtığında SDK'yı bilgilendirmekten sorumludur. Oturum açma anında, kullanıcının hesabı uygulama koruma ilkesiyle hedeflenebilir veya hedeflenmeyebilir. Hesap uygulama koruma ilkesiyle hedeflenmişse, SDK bunun yönetildiğini kabul eder; aksi takdirde yönetilmez.
SDK, yönetildiğini düşündüğü kimlikler için ilkeyi zorunlu kılar. SDK, yönetilmediğini düşündüğü kimlikler için ilkeyi zorunlu kılmaz.
Şu anda Intune Uygulama SDK'sı cihaz başına yalnızca tek bir yönetilen kimliği destekler. SDK ile tümleşik herhangi bir uygulama yönetilen bir kimlik kaydeder kaydetmez, daha sonra kaydedilen tüm kimlikler, şu anda uygulama koruma ilkeleriyle hedeflenmiş olsalar bile yönetilmeyen olarak kabul edilir.
Cihazda yönetilen kimlik zaten kaydedilmişse ve uygulamanız uygulama koruma ilkesiyle de hedeflenen başka bir kimlik kaydederse, SDK döndürür MAMEnrollmentManager.Result.WRONG_USER ve son kullanıcıdan düzeltme seçeneklerini ister.
Daha fazla ayrıntı için SDK'dan gelen bildirimler için kaydolma bölümüne bakın.
Not
Kayıt sırasında uygulama koruma ilkesi ile hedeflenmeyen bir hesap yönetilmiyor olarak kabul edilir. Hesap uygulama koruma ilkesi için lisanslanmamış veya hedeflenmemiş olsa bile SDK, bu hesabın daha sonra lisanslı ve hedefli olup olmadığını düzenli aralıklarla denetler. Başka bir yönetilen kimlik kaydedilmemişse SDK, ilke ile hedeflendikten sonra bu kimliği yönetilen olarak kabul etmeye başlar. Bu değişikliği yapmak için kullanıcının oturumu kapatması ve bu hesapta tekrar oturum açması gerekmez.
Etkin Kimlik
Uygulamanız SDK'yı her zaman geçerli kullanımda olan kimlik hakkında bilgilendirmelidir, aksi takdirde etkin kimlik olarak bilinir. Etkin kimlik yönetiliyorsa SDK korumalar uygular. Etkin kimlik yönetilmiyorsa SDK koruma uygulamaz.
SDK'nın uygulamaya özgü bilgisi olmadığından, doğru etkin kimliği paylaşmak için uygulamaya güvenmesi gerekir.
Uygulama, yönetilen kimlik gerçekten kullanımdayken SDK'ya yönetilmeyen bir kimliğin etkin olduğunu yanlış bir şekilde söylerse, SDK koruma uygulamaz. Bu, kullanıcıların verilerini riske atan bir veri sızıntısına neden olabilir.
Uygulama, yönetilmeyen bir kimlik gerçekten kullanımdayken SDK'ya yanlış bir şekilde yönetilen kimliğin etkin olduğunu söylerse, SDK uygun olmayan şekilde koruma uygular. Bu bir veri sızıntısı değildir, ancak yönetilmeyen kullanıcıları gereksiz yere kısıtlayabilir ve yönetilmeyen kullanıcıların verilerini silinme riskiyle karşı karşıya bırakabilir.
Uygulamanız herhangi bir kullanıcının verilerini görüntülüyorsa, yalnızca etkin kimliğe ait verileri görüntülemelidir. Uygulamanız şu anda görüntülenen verilerin kime ait olduğunu bilmiyorsa, çok kimlikli desteği tümleştirmeye başlamadan önce daha fazla kimlik farkındalığı için uygulamanızı yeniden düzenlemeniz gerekebilir.
Uygulama verilerini kimliğe göre düzenleme
Uygulamanız yeni bir dosya yazdığında, SDK geçerli etkin iş parçacığı ve işlem kimliğine dayalı olarak bu dosyayla bir kimliği ("etiketler" olarak da bilinir) ilişkilendirir. Alternatif olarak, uygulamanız bir dosyayı belirli bir kimlikle manuel olarak etiketlemek için SDK'yı doğrudan çağırabilir (ayrıntılar için Yazma Korumalı FilesFiles bölümüne bakın). SDK, bu etiketli dosya kimliğini hem dosya şifreleme hem de seçmeli silme için kullanır.
Yönetilen kimlik şifreleme ilkesiyle hedeflenirse, yalnızca yönetilen kimlikle etiketlenmiş dosyalar şifrelenir.
Yönetici eylemi veya yapılandırılmış ilke yönetilen verilerin silinmesini isterse, yalnızca yönetilen kimlikle etiketlenmiş dosyalar silinir.
SDK, tek bir dosyayla birden çok kimliği ilişkilendiremez. Uygulamanız aynı dosyada birden çok kullanıcıya ait verileri depolarsa SDK'nın varsayılan davranışı bu verilerin yetersiz veya aşırı korunmasıyla sonuçlanır. Uygulamanızın verilerini kimliğe göre düzenlemeniz kesinlikle önerilir.
Uygulamanızın farklı kimliklere ait verileri kesinlikle aynı dosyada depolaması gerekiyorsa SDK, bir dosyadaki verilerin kimlik etiketleme alt kümelerine yönelik özellikler sağlar. Ayrıntılar için Veri Tampon Koruması bölümüne bakın.
Çoklu Kimlik Uygulama
Uygulamanız için çoklu kimlik desteği beyan etmek için, aşağıdaki meta verileri AndroidManifest.xml yerleştirerek başlayın.
<meta-data
android:name="com.microsoft.intune.mam.MAMMultiIdentity"
android:value="true" />
Etkin Kimliği Ayarlama
Uygulamanız, etkin kimliği azalan öncelikte aşağıdaki düzeylerde ayarlayabilir:
- İş parçacığı düzeyi
-
Context(genellikleActivity) seviye - İşlem düzeyi
İş parçacığı düzeyindeki bir kimlik kümesi, işlem düzeyindeki Context bir kimlik kümesinin yerini alan düzeydeki bir kimlik kümesinin yerini alır.
Bir kimlik kümesi Context yalnızca uygun ilişkili senaryolarda kullanılır.
Örneğin, dosya G/Ç işlemlerinin ilişkilendirilmiş Contextbir .
En yaygın olarak, uygulamalar Context kimliği bir Activity.
Kimliği, .'de Activity.onCreateayarlamayı Context düşünün.
Kimlik aynı kimliğe ayarlanmadığı sürece Activity uygulamanın kimlik verilerini görüntülememesi gerekir.
Genel olarak, işlem düzeyi kimlik yalnızca uygulama tüm iş parçacıklarında aynı anda yalnızca tek bir kimlikle çalışıyorsa yararlıdır.
Bu, birden çok hesabı destekleyen uygulamalar için tipik bir davranış değildir.
Hesap verilerini ayırmanız ve yazışma veya Context düzeylerde etkin kimliği ayarlamanız şiddetle tavsiye edilir.
Uygulamanız sistem hizmetlerini almak için bağlamı Application kullanıyorsa, iş parçacığı veya işlem kimliğinin ayarlandığından veya uygulamanızın Application bağlamında kullanıcı arabirimi kimliğini ayarladığınızdan emin olun.
Uygulamanız amaçları başlatmak için bir Service bağlam kullanıyorsa, içerik çözümleyiciler kullanıyorsa veya diğer sistem hizmetlerinden yararlanıyorsa, kimliği Service bağlamda ayarladığınızdan emin olun.
Benzer şekilde, uygulamanız bu eylemleri gerçekleştirmek için bir JobService bağlam kullanıyorsa, bağlam veya iş parçacığı üzerinde JobService kimliği uygulamanızın gerektirdiği şekilde ayarladığınızdan JobService emin olun.
Örneğin, işleriniz JobService tek bir kimlik için yapılıyorsa, kimliği bağlama göre ayarlamayı JobService göz önünde bulundurun.
Birden çok kimlik için işleri işliyorsanız JobService , kimliği iş parçacığı düzeyinde ayarlamayı göz önünde bulundurun.
Dikkat
Kullanan WorkManager uygulamalar, kimliği ayarlarken özel dikkat göstermelidir.
Özellikle, bu uygulamalar oluşturucuda geçirilen Context bir kimlik ayarlamaktan Worker kaçınmalıdır.
Bu Context örnek, aynı anda birden çok Worker örnek arasında paylaşılabilir.
Tanımlanmamış davranıştan kaçınmak için, uygulamalar bunun yerine uygulamanın gerektirdiği Worker şekilde bir iş parçacığı kimliği Worker.doWork() ayarlamalıdır.
Not
CLIPBOARD_SERVICE Kullanıcı arabirimi işlemleri için kullanıldığından, SDK işlemler için ClipboardManager ön plan etkinliğinin kullanıcı arabirimi kimliğini kullanır.
MAMPolicyManager'daki aşağıdaki yöntemler, etkin kimliği ayarlamak ve daha önce ayarlanmış kimlik değerlerini almak için kullanılabilir.
public static void setUIPolicyIdentityOID(final Context context, final String oid,
final MAMSetUIIdentityCallback mamSetUIIdentityCallback, final EnumSet<IdentitySwitchOption> options);
public static String getUIPolicyIdentityOID(final Context context);
public static MAMIdentitySwitchResult setProcessIdentityOID(final String oid);
public static String getProcessIdentityOID();
public static MAMIdentitySwitchResult setCurrentThreadIdentityOID(final String oid);
public static String getCurrentThreadIdentityOID();
/**
* Get the current app policy. This does NOT take the UI (Context) identity into account.
* If the current operation has any context (e.g. an Activity) associated with it, use the overload below.
*/
public static AppPolicy getCurrentThreadPolicy();
/**
* Get the current app policy. This DOES take the UI (Context) identity into account.
* If the current operation has any context (e.g. an Activity) associated with it, use this function.
*/
public static AppPolicy getPolicy(final Context context);
public static AppPolicy getPolicyForIdentityOID(final String oid);
public static boolean getIsIdentityOIDManaged(final String oid);
Kolaylık sağlamak için, bir etkinliğin kimliğini çağırmak MAMPolicyManager.setUIPolicyIdentityOIDyerine doğrudan MAMActivity'deki bir yöntem aracılığıyla da ayarlayabilirsiniz.
Bunu yapmak için aşağıdaki yöntemi kullanın:
public final void switchMAMIdentityOID(final String newIdentityOid, final EnumSet<IdentitySwitchOption> options);
Not
Uygulamanız bildirimde çoklu kimlik desteği bildirmediyse, kimliği ayarlamak için bu yöntemleri çağırmak herhangi bir eylem yürütmez ve döndürürse MAMIdentitySwitchResulther zaman döndürür FAILED.
Ortak Kimlik Anahtarı Tuzakları
'a
startActivityyapılan çağrılar için Intune App SDK'sı, düzeydekiContextetkin kimliğin sağlananIntentparametreyle ilişkilendirildiğini varsayar. Düzey kimliğini ' bağlamıyla değilApplication' bağlamıylaActivityayarlamanızıContextkesinlikle öneririz.Kimliğin
ContextonCreateEtkinlik yöntemi sırasında ayarlanması önerilir. Ancak, aşağıdakiler gibionNewIntentdiğer giriş noktalarını da kapsadığınızdan emin olun: . Aksi takdirde, aynı Etkinlik hem yönetilen hem de yönetilmeyen kimliklerin verilerini görüntülemek için yeniden kullanıldığında, ilke yanlış bir şekilde uygulanabilir ve bu da korunmasız kurumsal verilere veya uygunsuz bir şekilde kısıtlanmış kişisel verilere yol açabilir.
Kimlik Değiştirme Sonuçları
Kimlik raporunu MAMIdentitySwitchResult aracılığıyla sonuç değerlerini geri ayarlamak için kullanılan tüm yöntemler. Döndürülebilecek dört değer vardır:
| Geri dönüş değeri | Senaryo |
|---|---|
SUCCEEDED |
Kimlik değişikliği başarılı oldu. |
NOT_ALLOWED |
Kimlik değişikliğine izin verilmiyor. Bu, geçerli iş parçacığında farklı bir kimlik ayarlandığında UI (Context) kimliğini ayarlamaya çalışılırsa oluşur. |
CANCELLED |
Kullanıcı, genellikle bir PIN veya kimlik doğrulama isteminde geri düğmesine basarak kimlik değişikliğini iptal etti. |
FAILED |
Kimlik değişikliği belirsiz bir nedenle başarısız oldu. |
Uygulamanın, yönetilen hesabın verilerini görüntülemeden veya kullanmadan önce MAMIdentitySwitchResult olduğunu SUCCEEDED doğrulaması gerekir.
Etkin kimliği ayarlamaya yönelik çoğu yöntem MAMIdentitySwitchResult zaman uyumlu olarak döndürür.
setUIPolicyIdentityOID aracılığıyla bir Context kimlik ayarlanması durumunda, sonuç zaman uyumsuz olarak bildirilir.
Uygulama bu sonucu almak için bir MAMSetUIIdentityCallback uygulayabilir veya geri çağırma nesnesi için null değerini geçirebilir.
Bir önceki aramanın setUIPolicyIdentityOID sonucu henüz teslim edilmemişken bir Context çağrı yapılırsasetUIPolicyIdentityOID, yeni geri arama eskisinin yerini alacak ve orijinal geri arama hiçbir zaman sonuç almayacaktır.
Dikkat
setUIPolicyIdentityOID'eContext sağlanan bir Activity, SDK, yönetici tarafından yapılandırılan koşullu başlatma denetimlerini gerçekleştirene kadar kimlik değişikliğinin başarılı olup olmadığını bilmez.
Bunun için kullanıcıdan PIN veya şirket kimlik bilgileri girmesi gerekebilir.
Şu anda, işlem ve iş parçacığı kimlik anahtarları, çoklu kimlik özellikli bir uygulama için her zaman başarılı olur. SDK, gelecekte hata koşulları ekleme hakkını saklı tutar.
Kullanıcı arabirimi kimlik anahtarı, iş parçacığı kimliğiyle çakışırsa veya kullanıcı koşullu başlatma gereksinimlerini iptal ederse (örneğin, PIN ekranında geri düğmesine basarsa) geçersiz bağımsız değişkenler için başarısız olabilir.
Bir etkinlikte başarısız olan kullanıcı arabirimi kimliğini değiştirmenin varsayılan davranışı etkinliği bitirmektir.
Bu davranışı değiştirmek ve bir etkinliğin kimliğini değiştirme girişimleriyle ilgili bildirim almak için, uygulamasındaki MAMActivitybir yöntemi geçersiz kılabilirsiniz.
public void onSwitchMAMIdentityComplete(final MAMIdentitySwitchResult result);
Geçersiz kılırsanız onSwitchMAMIdentityComplete (veya yöntemi çağırırsanız super ), başarısız bir kimlik geçişinden sonra yönetilen hesabın verilerinin görüntülenmediğinden emin olmanız gerekir .
Not
Kimliğin değiştirilmesi, etkinliğin yeniden oluşturulmasını gerektirebilir.
Bu durumda, onSwitchMAMIdentityComplete geri çağırma etkinliğin yeni örneğine teslim edilir.
Identity, Intents, and IdentitySwitchOptions
SDK, yeni dosyaları etkin kimlikle otomatik olarak etiketlemenin yanı sıra, amaçları etkin kimlikle de etiketler. Varsayılan olarak SDK, gelen amaçtaki kimliği denetler ve etkin kimlikle karşılaştırır. Bu kimlikler eşleşmezse, SDK genellikle (*) bir kimlik anahtarı ister (daha fazla ayrıntı için aşağıdaki Örtük Kimlik Değişiklikleri bölümüne bakın).
SDK ayrıca bu gelen amaç kimliğini daha sonra kullanmak üzere depolar. Uygulama kullanıcı arabirimi kimliğini açıkça değiştirdiğinde SDK, uygulamanın geçmeye çalıştığı kimliği en son gelen amaç kimliğiyle karşılaştırır. Bu kimlikler eşleşmezse, SDK genellikle (*) kimlik anahtarında başarısız olur.
SDK, uygulamanın hala amaçta etiketlenen kimliğe ait olan amaçtan içerik görüntülediğini varsaydığı için bu denetimi gerçekleştirir. Bu varsayım, uygulamanın yönetilen verileri görüntülerken yanlışlıkla korumaları kapatmasına karşı koruma sağlar; Ancak, bu varsayım uygulamanın gerçek davranışı için doğru olmayabilir.
İsteğe bağlı IdentitySwitchOption numaralandırmaları, SDK'nın varsayılan davranışını değiştirmek için setUIPolicyIdentityOID ve switchMAMIdentityOID API'lerine geçirilebilir.
IGNORE_INTENT: Kullanıcı arabirimi katmanında bir kimlik anahtarı isterken, bu seçenek SDK'ya istenen kimlik parametresini en son depolanan amaç kimliğiyle karşılaştırmayı atlamasını bildirir. Bu, uygulamanız artık bu kimliğe ait içeriği görüntülemediğinde yararlıdır ve SDK'nın bu kimlik anahtarını engellememesi gerekir. Örneğin:- Uygulamanız bir belge görüntüleyicisidir. Diğer uygulamalardan geçirilen belgeleri işleyebilir. Ayrıca, kullanıcıların hesapları değiştirebileceği bir özellik içerir. Kullanıcı bu hesap değiştirme özelliğini her kullandığında uygulama, hesabın son belgelerini içeren hesaba özel bir açılış sayfasına gider.
- Uygulamanız bir belgeyi görüntüleme amacı alır. Bu amaç, yönetilen kimlikle etiketlenir.
- Uygulamanız yönetilen kimliğe geçirilir ve korumaların düzgün uygulandığı bu belgeyi görüntüler.
- Kullanıcı, kişisel hesabına geçmek için hesap değiştiriciyi kullanır.
Uygulamanızın 4. adımda kullanıcı arabirimi kimliğini değiştirmesi gerekir. Bu durumda, uygulamanın davranışı yönetilen hesabın verilerinden (amaçtaki belge) uzaklaşmak olduğundan, kimlik değiştirme çağrısında kullanmalıdır
IGNORE_INTENT. Bu, SDK'nın bu çağrıda uygunsuz bir şekilde başarısız olmasını önler.DATA_FROM_INTENT: Kullanıcı arabirimi katmanında bir kimlik anahtarı isterken, bu seçenek SDK'ya kimlik anahtarı başarılı olduktan sonra en son depolanan amaç kimliğinden verilerin görüntülenmeye devam edeceğini bildirir. Sonuç olarak SDK, görüntülenmesine izin verilip verilmediğini belirlemek için alma ilkesini önceki amaç kimliğine göre tam olarak değerlendirir. Örneğin:- Uygulamanız bir belge görüntüleyicisidir. Diğer uygulamalardan geçirilen belgeleri işleyebilir. Ayrıca, kullanıcıların hesapları değiştirebileceği bir özellik içerir. Önceki örnekten farklı olarak, kullanıcı bu hesap değiştirme özelliğini her kullandığında, uygulama tüm hesapların son belgelerini gösteren paylaşılan bir sayfaya gider.
- Uygulamanız bir belgeyi görüntüleme amacı alır. Bu amaç, yönetilen kimlikle etiketlenir.
- Uygulamanız yönetilen kimliğe geçirilir ve korumaların düzgün uygulandığı bu belgeyi görüntüler.
- Kullanıcı, kişisel hesabına geçmek için hesap değiştiriciyi kullanır.
Uygulamanızın 4. adımda kullanıcı arabirimi kimliğini değiştirmesi gerekir. Bu durumda, uygulamanın davranışı yönetilen kimliğin verilerini (amaçtaki belgenin önizlemesi) görüntülemeye devam etmek olduğundan, kimlik değiştirme çağrısında kullanmalıdır
DATA_FROM_INTENT. Bu, SDK'yı, verilerin görüntülenmeye devam etmesi için uygun olup olmadığını belirlemek üzere yapılandırılan uygulama koruma ilkesini denetlemesi için bilgilendirir.
(*) SDK'nın varsayılan davranışı, örneğin amaç aynı uygulamanın içinden veya sistem başlatıcısından geliyorsa, bu veri girişi denetimini atlayan özel büyük/küçük harf içerir.
Etkin Kimliği Temizleme
Uygulamanız, hesaptan bağımsız senaryolara sahip olabilir. Uygulamanızda, oturum açma gerektirmeyen yerel yönetilmeyen senaryolar için senaryolar da olabilir. Her iki durumda da, uygulamanız SDK'nın yönetilen kimliğin ilkelerini zorlamasını istemeyebilir, ancak geçiş yapabileceğiniz açık bir kimliğiniz olmayabilir.
Identity OID parametresi olarak ayarlanan nullkimlik yöntemlerinden herhangi birini çağırarak etkin kimliği temizleyebilirsiniz.
Kimliğin bir düzeyde temizlenmesi, SDK'nın öncelik sırasına göre diğer düzeylerde etkin kimliği aramasına neden olur.
Alternatif olarak, kimlik OID parametresi olarak boş dize geçirebilirsiniz, bu da kimliği yönetilmeyen kimlik olarak kabul edilen özel bir boş değere ayarlar. Etkin kimliğin boş dize olarak ayarlanması SDK'ya herhangi bir uygulama koruma ilkesini zorunlu kılmamasını söyler.
Örtük kimlik değişiklikleri
Yukarıdaki bölümde, uygulamanızın etkin kimliği iş parçacığı, bağlam ve işlem düzeylerinde açıkça ayarlayabileceği farklı yollar açıklanmaktadır. Ancak, uygulamanızdaki etkin kimlik, uygulamanız bu yöntemlerden herhangi birini çağırmadan da değişebilir. Bu bölümde, uygulamanızın bu örtük kimlik değişikliklerini nasıl dinleyebileceği ve bunlara nasıl yanıt verebileceği açıklanmaktadır.
Bu örtük kimlik değişikliklerini dinlemek isteğe bağlıdır, ancak önerilir. SDK, bu örtük kimlik değişikliği bildirimlerini sağlamadan etkin kimliği hiçbir zaman değiştirmez.
Dikkat
Uygulamanız örtük kimlik değişikliklerini dinlememeyi seçerse, etkin kimliği varsaymamak için çok dikkatli olun.
Emin olamadığınızda, etkin kimliği doğrulamak için , getUIPolicyIdentityOID, ve getProcessIdentityOID yöntemlerini kullanıngetCurrentThreadIdentityOID.
Örtük kimlik değişikliklerinin kaynakları
Diğer IntuneIntune tarafından yönetilen uygulamalar, iş parçacığı ve bağlam düzeyinde etkin kimliği değiştirebilir.
Etkinlik başka bir MAM uygulaması tarafından gönderilen bir
Intentetkinlikten başlatılırsa, etkinliğin kimliği, diğer uygulamanın gönderildiği noktadakiIntentetkin kimliğe göre ayarlanır.- Örneğin, Word belgesini görüntüleme etkinliği, kullanıcı bir belge ekini seçtiğinde Microsoft Outlook'taki bir amaçla başlatılır. Office'in belge görüntüleyicisi etkinliğinin kimliği, Outlook'taki kimliğe geçirilir.
Hizmetler için, iş parçacığı kimliği bir veya
onBindçağrısı süresince benzer şekildeonStartayarlanır. Döndürülen göndereneBinderonBindyapılan çağrılar da iş parçacığı kimliğini geçici olarak ayarlar.Çağrılar
ContentProviderda benzer şekilde süreleri için iş parçacığı kimliğini ayarlar.
Bir etkinlikle kullanıcı etkileşimi, etkin kimliği bağlam düzeyinde değiştirebilir. Örneğin:
- Kullanıcının yetkilendirme sırasında bir yetkilendirme istemini
Resumeiptal etmesi, boş bir kimliğe örtük geçişe neden olur.
- Kullanıcının yetkilendirme sırasında bir yetkilendirme istemini
Örtük kimlik değişikliklerini işleme
Uygulamanız isteğe bağlı olarak bu örtük kimlik değişikliklerini dinleyebilir ve bunlara tepki verebilir. Örneğin, uygulamanızın eklenen bir hesabın kullanılabilir hale gelmesi için birden çok adım gerekebilir. Örneğin, e-posta uygulamasının yeni bir gelen kutusu ayarlaması gibi, uygulamanın eklenen bir hesabı kullanabilmesi için birden çok adım gerekebilir. Bu eksik hesabın kimliğine bir kimlik geçişi yapılmaya çalışıldığını gördükten sonra, uygulamanızın işleyicisi kimlik anahtarını kabul etmeden önce kullanıcıyı hesap kurulum etkinliğine yönlendirebilir. Alternatif olarak, uygulamanızın işleyicisi bir hata iletişim kutusu görüntüleyebilir ve kimlik anahtarını engelleyebilir.
Uygulamanız MAMIdentityRequirementsListener arabirimini bir Service veya ContextProvider bu iş parçacığına uygulanan kimlik değişiklikleri için uygulayabilir. Uygulamanız şunları geçersiz kılmalıdır:
public abstract void onMAMIdentitySwitchRequired(String upn, String oid,
AppIdentitySwitchResultCallback callback);
Uygulamanız, bu etkinliğe uygulanan kimlik değişiklikleri için MAMActivityIdentityRequirementsListener arabirimini Activity uygulayabilir.
Uygulamanız şunları geçersiz kılmalıdır:
public abstract void onMAMIdentitySwitchRequired(String upn, String oid,
AppIdentitySwitchReason reason,
AppIdentitySwitchResultCallback callback);
AppIdentitySwitchReason enum parametresi, örtük kimlik anahtarının kaynağını açıklar.
| Numaralandırma değeri | Varsayılan SDK davranışı | Açıklama |
|---|---|---|
CREATE |
Kimlik anahtarına izin verin. | Kimlik anahtarı, bir etkinlik oluşturma işlemi nedeniyle gerçekleşiyor. |
NEW_INTENT |
Kimlik anahtarına izin verin. | Kimlik anahtarı, bir etkinliğe yeni bir amaç atandığı için gerçekleşiyor. |
RESUME_CANCELLED |
Kimlik anahtarını engelleyin. | Kimlik değişikliği, özgeçmiş iptal edildiği için gerçekleşiyor. Bu en çok, son kullanıcı PIN, kimlik doğrulaması veya uyumluluk kullanıcı arabiriminde geri düğmesine bastığında ortaya çıkar. |
AppIdentitySwitchResultCallback parametresi, geliştiricilerin kimlik anahtarı için varsayılan davranışı geçersiz kılmasına olanak tanır:
public interface AppIdentitySwitchResultCallback {
/**
* @param result
* whether the identity switch can proceed.
*/
void reportIdentitySwitchResult(AppIdentitySwitchResult result);
}
// Where [AppIdentitySwitchResult] is either `SUCCESS` or `FAILURE`.
onMAMIdentitySwitchRequired 'den MAMService.onMAMBinddöndürülen bir Bağlayıcı aracılığıyla yapılanlar dışındaki tüm örtük kimlik değişiklikleri için çağrılır.
Varsayılan uygulamaları onMAMIdentitySwitchRequired hemen ara:
callback.reportIdentitySwitchResult(FAILURE)NedeniRESUME_CANCELLEDne zaman .callback.reportIdentitySwitchResult(SUCCESS)diğer tüm durumlarda.
Çoğu uygulamanın bir kimlik geçişini farklı bir şekilde engellemesi veya geciktirmesi beklenmez, ancak bir uygulamanın bunu yapması gerekiyorsa aşağıdaki noktalar dikkate alınmalıdır:
Bir kimlik anahtarı engellenirse, son kullanıcı davranışı SDK'nın "diğer uygulamalardan veri alma" uygulama koruma ayarının veri girişini yasaklamış olmasıyla aynıdır.
Ana iş parçacığında bir Hizmet çalışıyorsa,
reportIdentitySwitchResultzaman uyumlu olarak çağrılması gerekir, aksi takdirde kullanıcı arabirimi iş parçacığı yanıt vermeyi durdurur.Oluşturma için
Activity, onMAMIdentitySwitchRequired önce çağrılıronMAMCreate. Uygulamanın kimlik anahtarına izin verilip verilmeyeceğini belirlemek için kullanıcı arabirimini göstermesi gerekiyorsa, bu kullanıcı arabirimi farklı bir etkinlik kullanılarak gösterilmelidir.Activity'de, nedeni olarakRESUME_CANCELLEDboş kimliğe geçiş istendiğinde, uygulamanın bu kimlik anahtarıyla tutarlı verileri görüntülemek için sürdürülen etkinliği değiştirmesi gerekir. Bu mümkün değilse uygulamanın geçişi reddetmesi gerekir ve kullanıcıdan devam eden kimlikle ilgili ilkeye uyması istenir (örneğin, uygulama PIN giriş ekranı gösterilerek).
Dikkat
Çok kimlikli bir uygulama, hem yönetilen hem de yönetilmeyen uygulamalardan gelen verileri alabilir. Yönetilen kimliklerden gelen verileri yönetilen bir şekilde işlemek uygulamanın sorumluluğundadır.
İstenen bir kimlik yönetiliyorsa (kontrol etmek için MAMPolicyManager.getIsIdentityOIDManaged kullanın), ancak uygulama bu hesabı kullanamıyorsa (örneğin, e-posta hesapları gibi hesapların önce uygulamada ayarlanması gerektiğinden) kimlik anahtarı reddedilmelidir.
için MAMActivity.onMAMIdentitySwitchRequired varsayılan davranışa statik yöntem MAMActivity.defaultOnMAMIdentitySwitchRequired(activity, upn, oid, reason, callback)çağrılarak erişilebilir.
Benzer şekilde, 'yi geçersiz kılmanız MAMActivity.onSwitchMAMIdentityCompletegerekiyorsa, 'den açıkça devralmadan uygulayabilirsiniz MAMActivityIdentitySwitchListenerMAMActivity.
Kimlik Anahtarları ve Ekran Görüntüsü Kısıtlamaları
TIntuneIntune Uygulama SDK'sı, ekran görüntüsü ilkesini Window zorunlu kılmak için bayrağı FLAG_SECURE kullanır.
Bazı uygulamalar kendi amaçları doğrultusunda da ayarlanabilir FLAG_SECURE .
Uygulama koruma ilkesi ekran görüntülerini kısıtlamadığında, SDK değiştirilmez FLAG_SECURE.
Kimliği, ilkesi ekran görüntülerinin devre dışı bırakılmasını gerektiren bir kimlikten, ilkesi gerektirmeyen bir kimliğe geçtiğinde SDK'yı temizler FLAG_SECURE.
Sonuç olarak, uygulamanız bir kimlik değişikliğinden sonra kalan kümeye FLAG_SECURE dayanmamalıdır.
Zaman Uyumsuz İşlemlerde Kimliğin Korunması
Uygulamalar genellikle diğer iş parçacıklarındaki işlemleri işlemek için kullanıcı arabirimi iş parçacığından arka plan görevleri gönderir. Çok kimlikli bir uygulama, bu arka plan görevlerinin genellikle onları gönderen etkinlik tarafından kullanılan kimlikle aynı olan uygun kimlikle çalışmasını sağlamalıdır.
TIntuneIntune Uygulama SDK'sı, zaman uyumsuz işlemlerde kimliğin korunmasına yardımcı olmak için MAMAsyncTask ve MAMIdentityExecutors sağlar. Zaman uyumsuz işlemlerinin aşağıdakileri yapabilmesi için uygulamanızın bunları kullanması (veya görevlerde iş parçacığı kimliğini açıkça ayarlaması) gerekir:
- Yönetilen kimliğe ait verileri dosyaya yazma
- Diğer uygulamalarla iletişim kurma
MAMAsyncTask
Kullanmak MAMAsyncTaskiçin, sırasıyla ve onPreExecute ile ve geçersiz doInBackgroundMAMonPreExecuteMAM kılmalarını doInBackground değiştirmek yerine AsyncTask ondan miras almanız yeterlidir.
Oluşturucu MAMAsyncTask bir etkinlik bağlamı alır.
Örneğin:
AsyncTask<Object, Object, Object> task = new MAMAsyncTask<Object, Object, Object>(thisActivity) {
@Override
protected Object doInBackgroundMAM(final Object[] params) {
// Do operations.
}
@Override
protected void onPreExecuteMAM() {
// Do setup.
};
}
MAMAsyncTask normal öncelik sırasına göre etkin kimliği kabul eder.
MAMIdentityExecutors
MAMIdentityExecutorsmevcut bir örneği ve yöntemleriyle kimlik korumaExecutorServiceExecutor/olarak wrapExecutor sarmalamanıza olanak tanır.wrapExecutorServiceExecutorServiceExecutor Örneğin
Executor wrappedExecutor = MAMIdentityExecutors.wrapExecutor(originalExecutor, activity);
ExecutorService wrappedService = MAMIdentityExecutors.wrapExecutorService(originalExecutorService, activity);
MAMIdentityExecutors normal öncelik sırasına göre etkin kimliği kabul eder.
Dosya Koruma
Writing Protected FilesFiles
Yukarıdaki Uygulama Verilerini Kimliğe Göre Düzenleme bölümünde belirtildiği gibi, Intune Intune Uygulama SDK'sı etkin kimliği (iş parçacığı/işlem düzeyinden) yazıldıkları gibi dosyalarla ilişkilendirir. Düzgün şifreleme ve seçmeli temizleme işlevselliği sağlamak için dosya oluşturma sırasında doğru kimlik kümesine sahip olmak çok önemlidir.
Uygulamanız, özellikle MAMFileProtectionManager.getProtectionInfo sorgulama ve değiştirme için MAMFileProtectionManager sınıfını kullanarak bir dosyanın kimliğini sorgulayabilir veya MAMFileProtectionManager.protectForOID değiştirebilir.
Bu yöntem, protectForOID dizinleri korumak için de kullanılabilir.
Dizin koruması, dizinde bulunan tüm dosyalara ve alt dizinlere yinelemeli olarak uygulanır.
Dizin korunduğunda, dizinin içinde oluşturulan tüm yeni dosyalara otomatik olarak aynı koruma uygulanır.
Dizin koruması özyinelemeli olarak uygulandığından, büyük dizinler için çağrının protectForOID tamamlanması biraz zaman alabilir.
Bu nedenle, çok sayıda dosya içeren bir dizine koruma uygulayan uygulamalar, bir arka plan iş parçacığında zaman uyumsuz olarak çalışmak protectForOID isteyebilir.
Kimlik parametresi için boş dize ile çağırmak protectForOID , dosyayı/dizini yönetilmeyen kimlikle etiketler.
Bu işlem, daha önce şifrelenmişse şifrelemeyi dosyadan/dizinden kaldırır.
Seçmeli temizleme komutu verildiğinde dosya/dizin silinmez.
Uyarı
Yalnızca belirli bir kimliğe ait dosyaların bu kimlikle korunduğundan emin olmak önemlidir. Aksi takdirde sahip olan kimlik oturumu kapattığında dosyalar silineceğinden ve şifreleme anahtarına erişim kaybedileceğinden diğer kimliklerde veri kaybı yaşanabilir.
Korumalı dosya içeriğini görüntüleme
Yetkisiz kullanıcıların yönetilen verileri görüntülemesini önlemek için, dosya içeriği görüntülenirken doğru kimliğin ayarlanması da aynı derecede önemlidir.
SDK, okunan dosyalarla ekranda görüntülenen Activityveriler arasında otomatik olarak bir ilişki çıkaramaz.
Uygulamaların yönetilen verileri görüntülemeden önce kullanıcı arabirimi kimliğini uygun şekilde ayarlaması gerekir .
Bu, dosyalardan okunan verileri içerir.
Bir dosya uygulamanın dışından geliyorsa (genel olarak yazılabilir bir ContentProvider konumdan geliyorsa veya okunuyorsa), uygulamanın dosyadan okunan bilgileri görüntülemeden önce dosya kimliğini belirlemeye çalışması gerekir (veri kaynağı için doğru MAMFileProtectionManager.getProtectionInfo aşırı yüklemesini kullanarak).
Null olmayan, boş olmayan bir kimlik bildirirsegetProtectionInfo, uygulamanın MAMActivity.switchMAMIdentityOID veya MAMPolicyManager.setUIPolicyIdentityOID kullanarak kullanıcı arabirimi kimliğini bu kimlikle eşleşecek şekilde ayarlaması gerekir.
Kimlik anahtarı başarısız olursa, dosyadaki veriler görüntülenmemelidir .
Bir içerik URI'sinden okurken, önce kimliği okumak (aşırı yükleme yoluyla getProtectionInfoUri) ve ardından bağlamı veya iş parçacığı kimliğini uygun şekilde ayarlamak gerekebilir.
Bu, üzerinde bir dosya tanımlayıcısı veya giriş akışı ContentResolveraçmadan önce yapılmalıdır, aksi takdirde işlem başarısız olabilir.
Örnek bir akış aşağıdakine benzer olabilir:
Kullanıcı uygulamada açmak üzere bir belge seçer.
Açık akış sırasında, diskten verileri okumadan önce uygulama, içeriği görüntülemek için kullanılması gereken kimliği onaylar:
MAMFileProtectionInfo info = MAMFileProtectionManager.getProtectionInfo(docPath) if (info != null) MAMPolicyManager.setUIPolicyIdentityOID(activity, info.getIdentityOID(), callback, EnumSet.noneOf<IdentitySwitchOption.class>)Uygulama, sonuç geri aramaya bildirilene kadar bekler.
Bildirilen sonuç bir hataysa, uygulama belgeyi görüntülemez.
Uygulama dosyayı açar ve işler.
Bir uygulama dosyaları indirmek için Android'i DownloadManager kullanıyorsa SDK, daha önce açıklanan kimlik önceliğini kullanarak bu dosyaları otomatik olarak korumaya çalışır.
Almak DownloadManager için kullanılan bağlam, iş parçacığı kimliği ayarlanmamışsa kullanılır.
İndirilen dosyalar kurumsal veriler içeriyorsa, dosyalar indirildikten sonra taşınırsa veya yeniden oluşturulursa protectForOID'i çağırmak uygulamanın sorumluluğundadır.
Çok kimlikli geçişe Single-Identity
Daha önce tek kimlikli Intune tümleştirmesiyle yayımlanan bir uygulama daha sonra çok kimlikli tümleştirme yaparsa, daha önce yüklenmiş uygulamalar bir geçiş yaşar. Kullanıcı bu geçişi göremez.
Uygulamanın bu geçişi işlemesi gerekmez . Geçişten önce oluşturulan tüm dosyalar yönetilen olarak kabul edilmeye devam eder (böylece şifreleme ilkesi açıksa şifrelenmiş olarak kalırlar).
Önceki tüm uygulama verilerinin yönetilen kimlikle ilişkilendirilmesini istemiyorsanız, bu geçişi algılayabilir ve korumayı açıkça kaldırabilirsiniz.
- Uygulamanızın sürümünü çoklu kimlik desteğinin eklendiği bilinen bir sürümle karşılaştırarak yükseltmeyi tespit edin.
- Yönetilen kimlikle ilişkilendirilmesini istemediğiniz dosyalarda veya dizinlerde kimlik parametresi için boş dizeyle çağırın
protectForOID.
Çevrimdışı Senaryolar
Intune Uygulama SDK'sı, Şirket Portalı uygulaması yüklü olmadığında "çevrimdışı" modda çalışır. Dosya kimliği etiketleme çevrimdışı moda duyarlıdır:
Şirket Portalı yüklü değilse, dosyalara kimlik etiketi eklenemez. Çevrimdışı modda MAMFileProtectionManager.protectForOID'i çağırmak güvenlidir, ancak hiçbir etkisi olmayacaktır.
Şirket Portalı yüklüyse ancak uygulamanın Uygulama Koruma İlkesi yoksa, dosyalar güvenilir bir şekilde kimlik etiketli olamaz.
Dosya kimliği etiketleme kullanılabilir olduğunda, Tek Kimlikten Çok Kimlikliliğe Geçiş bölümünde açıklandığı gibi, uygulamanın daha önce tek kimlikle yönetilen bir uygulama olarak yüklendiği durumlar dışında, daha önce oluşturulan tüm dosyalar kişisel/yönetilmeyen (boş dize kimliğine ait) olarak kabul edilir.
Bu durumları önlemek için uygulamalar, hesap kaydı başarıyla tamamlanana kadar hesap verilerini içeren dosyalar oluşturmaktan kaçınmalıdır. Uygulamanızın çevrimdışıyken kesinlikle dosya oluşturması gerekiyorsa, SDK çevrimiçi olduğunda dosyanın ilişkili kimliğini düzeltmek için MAMFileProtectionManager.protectForOID kullanabilir.
Veri Arabellek Koruması
Uyarı
Birden çok hesaba ait verilerin tek bir dosyaya yazılması önerilmez. Mümkünse, uygulamanızın dosyalarını kimliğe göre düzenleyin.
SDK'nın MAMDataProtectionManager'ı , belirli veri arabelleklerinde etiketli kimliği kontrol byte[]InputStream etmek ve değiştirmek için yöntemler sağlar.
MAMDataProtectionManager.protectForOID Uygulamanın verileri bir kimlikle ilişkilendirmesine ve kimlik şu anda şifreleme ilkesiyle hedeflenmişse verileri şifrelemesine olanak tanır.
Bu şifrelenmiş veriler, bir dosyada diske depolamak için uygundur.
MAMDataProtectionManager Ayrıca, kimlikle ilişkili verileri sorgulamanıza ve şifresini çözmenize olanak tanır.
Bunu MAMDataProtectionManager kullanan uygulamalar, MANAGEMENT_REMOVED bildirim için bir alıcı uygulamalıdır. Daha fazla ayrıntı için SDK'dan gelen bildirimler için kaydolma bölümüne bakın.
Bu bildirim tamamlandıktan sonra, bu sınıf aracılığıyla korunan arabellekler artık okunamaz (arabellekler korunduğunda dosya şifrelemesi etkinleştirildiyse).
Bir uygulama, bildirimi işlerken tüm arabellekleri çağırarak MAMDataProtectionManager.unprotect bu arabelleklerin MANAGEMENT_REMOVED okunamaz hale gelmesini önleyebilir.
Kimlik bilgilerini korumak isterseniz, bu bildirim sırasında arama protectForOID yapmak da güvenlidir.
Şifreleme işleminin bildirim sırasında devre dışı bırakılması garanti edilir ve işleyicinin çağrılması protectForOID veri arabelleklerini şifrelemez.
Uyarı
Uygulama sürecinin başlarında şifreleme işlemlerinden kaçınılmalıdır. SDK, uygulama başlatıldıktan sonra mümkün olan en kısa sürede zaman uyumsuz şifreleme başlatma gerçekleştirir. Ancak bir uygulama, uygulama başlatılırken şifreleme isteğinde bulunursa, şifrelemenin başlatılması tamamlanana kadar engellenebilir.
Not
IntuneIntune Uygulama SDK'sı şifreleme API'si yalnızca IntuneIntune ilkesinin gerektirdiği şekilde verileri şifrelemek için kullanılmalıdır. Şifreleme ilkesi etkinleştirilmiş olarak hedeflenmeyen hesaplara koruma uygulanmaz, bu nedenle genel amaçlı şifreleme kitaplığı olarak kullanılamaz.
İçerik Sağlayıcıları
Çok kimlikli bir uygulama, yönetilen içeriğin uygunsuz bir şekilde paylaşılmasını önlemek için s aracılığıyla ContentProviderpaylaşılan verileri de korumalıdır.
Uygulamanızın içerik döndürmeden önce statik MAMContentProvider yöntemini isProvideContentAllowedForOid(provider, oid) çağırması gerekir.
Bu işlev false değerini döndürürse, içerik çağırana döndürülmemelidir .
isProvideContentAllowedForOid
ContentProvider
ParcelFileDescriptorBir .
İçerik sağlayıcısı aracılığıyla döndürülen dosya tanımlayıcıları, dosya kimliğine göre otomatik olarak işlenir.
Seçmeli Silme
Varsayılan olarak, IntuneIntune Uygulama SDK'sı seçmeli silmeleri otomatik olarak işler ve yönetilen kimlikle ilişkilendirilmiş olan tüm dosyaları siler. Daha sonra, SDK uygulamayı düzgün bir şekilde kapatacak, etkinlikleri tamamlayacak ve uygulama işlemini sonlandıracaktır.
SDK, uygulamanıza varsayılan silme davranışını eklemek (önerilen) veya geçersiz kılmak için isteğe bağlı olarak özellik sağlar.
SDK'nın varsayılan silme işleyicisi, tarafından korunan MAMDataProtectionManagerveri arabelleklerini işlemez.
Uygulamanız bu özelliği kullandıysa bu verileri kaldırmak için varsayılan silme işleyicisini tamamlamalı veya geçersiz kılmalıdır .
Not
Varsayılan silme davranışını tamamlamak ve geçersiz kılmak, belirli SDK bildirimlerinin işlenmesini gerektirir. Bildirim işleyicilerini uygulama hakkında daha fazla bilgi için SDK'dan bildirimler için kaydolma bölümüne bakın.
Varsayılan Silme Davranışını Tamamlama
Varsayılan SDK silme davranışını desteklemek için uygulamanız MAMNotificationType'aWIPE_USER_AUXILIARY_DATA kaydolabilir.
Bu bildirim, varsayılan seçmeli temizleme işlemini gerçekleştirmeden önce SDK tarafından gönderilir. SDK, verileri silip uygulamayı sonlandırmadan önce uygulamanızın bildirim işleyicisinin tamamlanmasını bekler. Uygulamanız, verileri zaman uyumlu olarak temizlemeli ve tüm temizleme işlemi tamamlanana kadar geri dönmemelidir.
Uygulamaya özgü temizleme çok kimlikli uygulamalar için yaygın olduğundan, uygulamalar varsayılan silme davranışını kesinlikle , ile WIPE_USER_AUXILIARY_DATAtamamlamayı kesinlikle düşünmelidir.
Varsayılan Silme Davranışını Geçersiz Kılma
Varsayılan SDK silme davranışını geçersiz kılmak için uygulamanız MAMNotificationType'aWIPE_USER_DATA kaydolabilir.
Uyarı
Bir uygulama hiçbir zaman her ikisi için WIPE_USER_DATA de kaydolmamalıdır ve WIPE_USER_AUXILIARY_DATA.
Varsayılan SDK temizleme davranışını geçersiz kılmak, uygulamanız üzerinde önemli riskler oluşturur. Uygulamanız, bu kimlik için etiketlenmiş tüm dosyalar ve veri arabellekleri de dahil olmak üzere yönetilen kimlikle ilişkili tüm verileri kaldırmaktan tamamen sorumlu olacaktır.
- Yönetilen kimlik şifreleme ile korunmuşsa ve uygulamanızın özel silme işleyicisi tüm yönetilen verileri tamamen kaldırmazsa, kalan tüm yönetilen dosyalar şifrelenmiş olarak kalır. Bu verilere erişilemez hale gelir ve uygulamanız şifrelenmiş verileri düzgün bir şekilde okuma girişimini işleyemeyebilir.
- Uygulamanızın silme işleyicisi, yönetilen kimlikle etiketlenmemiş dosyaları kaldırırsa, yönetilmeyen kullanıcılar için veri kaybına neden olabilir.
Uygulamanızın özel silme işleyicisi yönetilen verileri dosyadan kaldırır ancak dosyada başka veriler bırakmak isterse, dosyanın kimliğini (MAMFileProtectionManager.protectForOID aracılığıyla) yönetilmeyen bir kimlikle veya boş dizeyle değiştirmelidir.
Geçersiz kılınan silme işleyiciniz verileri zaman uyumlu olarak temizlemeli ve tüm temizleme tamamlanana kadar geri dönmemelidir.
Temizleme gerçekleştikten sonra kullanıcının bellek içi verilere erişmesini önlemek için özel silme işleyicisi adımlarınızı tamamladıktan sonra uygulamanızı el ile kapatmayı göz önünde bulundurun.
Çıkış Kriterleri
Uygulamanızın çoklu kimlik tümleştirmesini doğrulamak için önemli bir zaman ayırmayı planlayın. Test etmeye başlamadan önce:
- Uygulama koruma ilkesi oluşturun ve hesaba atayın. Bu, test tarafından yönetilen hesabınız olacaktır.
- Uygulama koruma ilkesi oluşturun, ancak başka bir hesaba atamayın. Bu, test yönetilmeyen hesabınız olacaktır. Alternatif olarak, uygulamanız Microsoft EntraMicrosoft Entra hesaplarının ötesinde birden çok hesap türünü destekliyorsa, yönetilmeyen test hesabı olarak mevcut bir olmayan EntraEntra hesabını kullanabilirsiniz.
- Uygulamanızda politikanın nasıl uygulandığını yeniden öğrenin. Çoklu kimlik testi, uygulamanızın ne zaman politika uygulanarak çalışıp çalışmadığını kolayca ayırt etmenizi gerektirir. Ekran görüntülerini engellemeye yönelik uygulama koruma ilkesi ayarı, ilke uygulamasını hızlı bir şekilde test etmede etkilidir.
- Uygulamanızın sunduğu kullanıcı arabiriminin tamamını göz önünde bulundurun. Hesap verilerinin görüntülendiği ekranları numaralandırın. Uygulamanız aynı anda yalnızca tek bir hesabın verilerini mi sunuyor yoksa aynı anda birden çok hesaba ait verileri mi sunuyor?
- Uygulamanızın oluşturduğu dosya kümesinin tamamını göz önünde bulundurun. Bu dosyalardan hangilerinin sistem düzeyindeki veriler yerine bir hesaba ait veriler içerdiğini numaralandırın.
- Bu dosyaların her biri için şifrelemeyi nasıl doğrulayacağınızı belirleyin.
- Uygulamanızın diğer uygulamalarla etkileşim kurabileceği yolların tamamını göz önünde bulundurun. Tüm giriş ve çıkış noktalarını numaralandırma. Uygulamanız ne tür verileri alabilir? Hangi amaçları yayınlıyor? Hangi içerik sağlayıcılarını uyguluyor?
- Bu veri paylaşım özelliklerinin her birini nasıl kullanacağınızı belirleyin.
- Uygulamanızla etkileşim kurabilen hem yönetilen hem de yönetilmeyen uygulamalara sahip bir test cihazı hazırlayın.
- Uygulamanızın son kullanıcının oturum açmış tüm hesaplarla etkileşim kurmasını nasıl sağladığını düşünün. Bir hesabın verileri görüntülenmeden önce kullanıcının o hesaba el ile geçiş yapması gerekiyor mu?
Uygulamanızın geçerli davranışını kapsamlı bir şekilde değerlendirdikten sonra, aşağıdaki test kümesini yürüterek çoklu kimlik tümleştirmesini doğrulayın. Bunun kapsamlı bir liste olmadığını ve uygulamanızın çok kimlikli uygulamasının hatasız olacağını garanti etmediğini unutmayın.
Oturum açma ve çıkış senaryolarını doğrulama
Çok kimlikli uygulamanız en fazla 1 yönetilen hesabı ve birden çok yönetilmeyen hesabı destekler. Bu testler, kullanıcılar oturum açarken veya oturumu kapatırken çoklu kimlik tümleştirmenizin korumaları yanlış değiştirmediğinden emin olmanıza yardımcı olur.
Bu testler için uygulamanızı ve Intune Şirket PortalıIntune Şirket Portalı'ı yükleyin; testi başlatmadan oturum açmayın.
| Senaryo | Adımlar |
|---|---|
| Önce oturum açın ve yönetin | - Önce yönetilen bir hesapla oturum açın ve bu hesabın verilerinin yönetildiğini doğrulayın. - Yönetilmeyen bir hesapla oturum açın ve bu hesabın verilerinin yönetilmediğini doğrulayın. |
| Önce yönetilmeyen oturum açın | - Öncelikle yönetilmeyen bir hesapla oturum açın ve hesabın verilerinin yönetilmediğini doğrulayın. - Yönetilen bir hesapla oturum açın ve bu hesabın verilerinin yönetildiğini doğrulayın. |
| Birden çok yönetilen oturum açma | - Önce yönetilen bir hesapla oturum açın ve bu hesabın verilerinin yönetildiğini doğrulayın. - İkinci bir yönetilen hesapla oturum açın ve önce orijinal yönetilen hesabı kaldırmadan kullanıcının oturum açmasının engellendiğini doğrulayın. |
| Oturumu kapat yönetilen | - Uygulamanızda hem yönetilen hem de yönetilmeyen bir hesapla oturum açın. - Yönetilen hesabın oturumunu kapatın. - Yönetilen hesabın uygulamanızdan kaldırıldığını ve bu hesabın tüm verilerinin kaldırıldığını onaylayın. - Yönetilmeyen hesapta hâlâ oturum açık olduğunu, yönetilmeyen hesap verilerinden hiçbirinin kaldırılmadığını ve ilkenin hala uygulanmadığını onaylayın. |
| Yönetilmeyen oturumu kapatma | - Uygulamanızda hem yönetilen hem de yönetilmeyen bir hesapla oturum açın. - Yönetilmeyen hesabın oturumunu kapatın. - Yönetilmeyen hesabın uygulamanızdan kaldırıldığını ve bu hesabın tüm verilerinin kaldırıldığını onaylayın. - Yönetilen hesapta hâlâ oturum açık olduğunu, yönetilmeyen hesap verilerinden hiçbirinin kaldırılmadığını ve ilkenin hala uygulandığını onaylayın. |
Etkin kimliği ve uygulama yaşam döngüsünü doğrulama
Çok kimlikli uygulamanız, tek bir hesabın verileriyle görünümler sunabilir ve kullanıcının geçerli kullanımdaki hesabı açıkça değiştirmesine izin verebilir. Aynı anda birden çok hesabın verilerini içeren görünümler de sunabilir. Bu testler, çoklu kimlik tümleştirmenizin tüm uygulama yaşam döngüsü boyunca her sayfada etkin kimlik için doğru korumaları sağladığından emin olmanıza yardımcı olur.
Bu testler için uygulamanızı ve Intune Şirket PortalıIntune Şirket Portalı; Testi başlatmadan önce hem yönetilen hem de yönetilmeyen bir hesapla oturum açın.
| Senaryo | Adımlar |
|---|---|
| Tek hesap görünümü, yönetilen | - Yönetilen hesaba geçin. - Uygulamanızda tek bir hesabın verilerini sunan tüm sayfalara gidin. - Politikanın her sayfada uygulandığını onaylayın. |
| Tek hesap görünümü, yönetilmeyen | - Yönetilmeyen hesaba geçin. - Uygulamanızda tek bir hesabın verilerini sunan tüm sayfalara gidin. - Politikanın hiçbir sayfada uygulanmadığını onaylayın. |
| Çoklu hesap görünümü | - Uygulamanızda aynı anda birden fazla hesabın verilerini sunan tüm sayfalara gidin. - Politikanın her sayfada uygulandığını onaylayın. |
| Yönetilen duraklatma | - Yönetilen verilerin görüntülendiği ve ilkenin etkin olduğu bir ekranda, cihazın ana ekranına veya başka bir uygulamaya giderek uygulamayı duraklatın. - Uygulamayı sürdürün. - Politikanın hala geçerli olduğunu onaylayın. |
| Yönetilmeyen duraklatma | - Yönetilmeyen verilerin görüntülendiği ve etkin bir ilkenin olmadığı bir ekranda, cihazın ana ekranına veya başka bir uygulamaya giderek uygulamayı duraklatın. - Uygulamayı sürdürün. - Politikanın uygulanmadığını onaylayın. |
| Yönetilen öldürme | - Yönetilen verilerin görüntülendiği ve politikanın etkin olduğu bir ekranda, uygulamayı sonlandırmaya zorlayın. - Uygulamayı yeniden başlatın. - Uygulama, yönetilen hesabın verilerini içeren bir ekranda devam ederse (beklenen) politikanın hala uygulandığını onaylayın. Uygulama, yönetilmeyen hesabın verilerini içeren bir ekranda devam ederse ilkenin uygulanmadığını onaylayın. |
| Yönetilmeyen öldürme | - Yönetilmeyen verilerin görüntülendiği ve politikanın etkin olduğu bir ekranda, uygulamayı sonlandırmaya zorlayın. - Uygulamayı yeniden başlatın. - Uygulama, yönetilmeyen hesabın verilerini içeren bir ekranda devam ederse (beklenen) ilkenin uygulanmadığını onaylayın. Uygulama, yönetilen hesabın verilerini içeren bir ekranda devam ederse ilkenin hala uygulandığını onaylayın. |
| Geçici kimlik değiştirme | - Hesaplar arasında geçiş yapmayı ve uygulamayı duraklatmayı / sürdürmeyi / öldürmeyi / yeniden başlatmayı deneyin. - Yönetilen hesabın verilerinin her zaman korunduğunu ve yönetilmeyen hesabın verilerinin asla korunmadığını onaylayın. |
Veri paylaşımı senaryolarını doğrulama
Çok kimlikli uygulamanız diğer uygulamalara veri gönderebilir ve diğer uygulamalardan veri alabilir. IntuneIntune'ın uygulama koruma ilkeleri, bu davranışı belirleyen ayarlara sahiptir. Bu testler, çoklu kimlik tümleştirmenizin bu veri paylaşım ayarlarını karşıladığından emin olmanıza yardımcı olur.
Bu testler için uygulamanızı ve Intune Şirket PortalıIntune Şirket Portalı; Testi başlatmadan önce hem yönetilen hem de yönetilmeyen bir hesapla oturum açın. Ayrıca:
- Yönetilen hesabın ilkesini şu şekilde ayarlayın:
- "Kuruluş verilerini diğer uygulamalara gönder" ile "İlke tarafından yönetilen uygulamalar".
- "Diğer uygulamalardan veri al" dan "İlke ile yönetilen uygulamalar"a.
- Test cihazına diğer uygulamaları yükleyin:
- Uygulamanızla aynı ilkeyle hedeflenen, veri gönderip alabilen yönetilen bir uygulama (Microsoft Outlook gibi).
- Veri gönderebilen ve alabilen yönetilmeyen tüm uygulamalar.
- Yönetilen test hesabıyla diğer yönetilen uygulamada oturum açın. Diğer yönetilen uygulama çok kimlikli olsa bile, yalnızca yönetilen hesapla oturum açın.
Uygulamanız, Microsoft Office'e bir belge eki gönderen Microsoft Outlook gibi diğer uygulamalara veri gönderebiliyorsa:
| Senaryo | Adımlar |
|---|---|
| Yönetilen kimlik yönetilmeyen uygulamaya gönderme | - Yönetilen hesaba geçin. - Uygulamanızın veri gönderebileceği yere gidin. - Yönetilmeyen bir uygulamaya veri göndermeyi deneme. - Yönetilmeyen uygulamaya veri göndermeniz engellenmelidir. |
| Yönetilen kimlik Yönetilen uygulamaya gönderme | - Yönetilen hesaba geçin. - Uygulamanızın veri gönderebileceği yere gidin. - Yönetilen hesap oturum açıkken diğer yönetilen uygulamaya veri göndermeyi deneyin. - Yönetilen uygulamaya veri göndermenize izin verilmelidir. |
| Yönetilmeyen kimlik Yönetilen uygulamaya gönderme | - Yönetilmeyen hesaba geçin. - Uygulamanızın veri gönderebileceği yere gidin. - Yönetilen hesap oturum açıkken diğer yönetilen uygulamaya veri göndermeyi deneyin. - Diğer yönetilen uygulamaya veri göndermeniz engellenmelidir. |
| Yönetilmeyen kimlik Yönetilmeyen uygulamaya gönderme | - Yönetilmeyen hesaba geçin. - Uygulamanızın veri gönderebileceği yere gidin. - Yönetilmeyen bir uygulamaya veri göndermeyi deneme. - Yönetilmeyen bir hesabın verilerini yönetilmeyen bir uygulamaya göndermenize her zaman izin verilmelidir. |
Uygulamanız, Microsoft OneDrive'dan bir dosya ekleyen Microsoft Outlook gibi diğer uygulamalardan verileri etkin bir şekilde içe aktarabilir. Uygulamanız, Microsoft Office'in bir Microsoft Outlook ekinden bir belge açması gibi diğer uygulamalardan da pasif olarak veri alabilir. Alma uygulaması koruma ilkesi ayarı her iki senaryoyu da kapsar.
Uygulamanız, diğer uygulamalardan etkin bir şekilde veri içe aktarma özelliğine sahipse:
| Senaryo | Adımlar |
|---|---|
| Yönetilmeyen uygulamadan yönetilen kimlik içeri aktarma | - Yönetilen hesaba geçin. - Uygulamanızın diğer uygulamalardan veri aktarabileceği yere gidin. - Yönetilmeyen bir uygulamadan verileri içe aktarmayı deneyin. - Yönetilmeyen uygulamalardan verileri içeri aktarmanız engellenmelidir. |
| Yönetilen uygulamadan yönetilen kimlik içeri aktarma | - Yönetilen hesaba geçin. - Uygulamanızın diğer uygulamalardan veri aktarabileceği yere gidin. - Yönetilen hesap oturum açıkken diğer yönetilen uygulamadan verileri içe aktarmayı deneyin. - Yönetilen diğer uygulamadan verileri içe aktarmanıza izin verilmelidir. |
| Yönetilen uygulamadan yönetilmeyen kimlik içeri aktarma | - Yönetilmeyen hesaba geçin. - Uygulamanızın diğer uygulamalardan veri aktarabileceği yere gidin. - Yönetilen hesap oturum açıkken diğer yönetilen uygulamadan verileri içe aktarmayı deneyin. - Diğer yönetilen uygulamadan verileri içeri aktarmanız engellenmelidir. |
| Yönetilmeyen uygulamadan yönetilmeyen kimlik içeri aktarma | - Yönetilmeyen hesaba geçin. - Uygulamanızın diğer uygulamalardan veri aktarabileceği yere gidin. - Yönetilmeyen bir uygulamadan verileri içe aktarmayı deneyin. - Yönetilmeyen bir hesap için yönetilmeyen uygulamadan verileri içe aktarmanıza her zaman izin verilmelidir. |
Uygulamanız diğer uygulamalardan pasif olarak veri alma özelliğine sahipse:
| Senaryo | Adımlar |
|---|---|
| Yönetilmeyen uygulamadan alınan yönetilen kimlik | - Yönetilen hesaba geçin. - Yönetilmeyen uygulamaya geçin. - Veri gönderebileceği yere gidin. - Yönetilmeyen uygulamadan uygulamanıza veri göndermeyi deneme. - Uygulamanızın yönetilen hesabı, yönetilmeyen uygulamadan veri alamamalıdır. |
| Yönetilen uygulamadan alınan yönetilen kimlik | - Yönetilen hesaba geçin. - Yönetilen hesap oturum açmış durumdayken diğer yönetilen uygulamaya geçin. - Veri gönderebileceği yere gidin. - Yönetilen uygulamadan uygulamanıza veri göndermeyi deneyin. - Uygulamanızın yönetilen hesabının, diğer yönetilen uygulamadan veri almasına izin verilmelidir. |
| Yönetilen uygulamadan yönetilmeyen kimlik alma | - Yönetilmeyen hesaba geçin. - Yönetilen hesap oturum açmış durumdayken diğer yönetilen uygulamaya geçin. - Veri gönderebileceği yere gidin. - Yönetilen uygulamadan uygulamanıza veri göndermeyi deneyin. - Uygulamanızın yönetilmeyen hesabının, yönetilen uygulamadan veri alamaması gerekir. |
| Yönetilmeyen uygulamadan alınan yönetilmeyen kimlik | - Yönetilmeyen hesaba geçin. - Yönetilmeyen uygulamaya geçin. - Veri gönderebileceği yere gidin. - Yönetilmeyen uygulamadan uygulamanıza veri göndermeyi deneme. - Uygulamanızın yönetilmeyen hesabının, yönetilmeyen uygulamadan veri almasına her zaman izin verilmelidir. |
Bu testlerdeki hatalar, uygulamanızın veri göndermeye veya almaya çalıştığında doğru etkin kimlik kümesine sahip olmadığını gösterebilir. Etkin kimliğin düzgün ayarlandığını onaylamak için gönderme/alma noktasında SDK'nın kimlik alma API'lerinden yararlanarak bunu araştırabilirsiniz.
Seçmeli temizleme senaryolarını doğrulama
Çok kimlikli uygulamanız, SDK'nın varsayılan silme davranışını tamamlamış veya geçersiz kılmış olabilir. Bu testler, çoklu kimlik tümleştirmenizin, silme işlemleri başlatıldığında yönetilmeyen verileri etkilemeden yönetilen verileri düzgün bir şekilde kaldırmasını sağlamaya yardımcı olur.
Uyarı
Hatırlatma, uygulamanız bundan yararlanıyorsaMAMDataProtectionManager.protectForOID, veya WIPE_USER_DATAiçin bir işleyici WIPE_USER_AUXILIARY_DATAuygulamalıdır.
Bu testler için uygulamanızı ve Intune Şirket PortalıIntune Şirket Portalı; Testi başlatmadan önce hem yönetilen hem de yönetilmeyen bir hesapla oturum açın. Her iki hesap için de hesap verilerini depolayan uygulama senaryolarını uygulayın.
| Senaryo | Ön koşullar | Adımlar |
|---|---|---|
| Ek silme işleyicisi | Uygulamanız şunun için bir işleyici uyguladı WIPE_USER_AUXILIARY_DATA |
-
Microsoft IntuneMicrosoft Intune yönetim merkezinden seçmeli temizleme işlemi yapın. - Silme işleyicinizin başarıyla yürütüldüğünü (genellikle günlüğe kaydetme yoluyla) onaylayın. - Yönetilen hesabın uygulamanızdan kaldırıldığını ve bu hesabın tüm verilerinin kaldırıldığını onaylayın. - Yönetilmeyen hesapta hâlâ oturum açık olduğunu, yönetilmeyen hesap verilerinden hiçbirinin kaldırılmadığını ve ilkenin hala uygulanmadığını onaylayın. |
| Geçersiz kılınan silme işleyicisi | Uygulamanız şunun için bir işleyici uyguladı WIPE_USER_DATA |
-
Microsoft IntuneMicrosoft Intune yönetim merkezinden seçmeli temizleme işlemi yapın. - Silme işleyicinizin başarıyla yürütüldüğünü (genellikle günlüğe kaydetme yoluyla) onaylayın. - Yönetilen hesabın uygulamanızdan kaldırıldığını ve bu hesabın tüm verilerinin kaldırıldığını onaylayın. - Yönetilmeyen hesapta hâlâ oturum açık olduğunu, yönetilmeyen hesap verilerinden hiçbirinin kaldırılmadığını ve ilkenin hala uygulanmadığını onaylayın. - Uygulamanızdan düzgün bir şekilde çıktığını veya silme işleyiciniz tamamlandıktan sonra hala sağlıklı durumda olduğunu onaylayın. |
| El ile dosya koruması | - Uygulamanızın aramaları MAMFileProtectionManager.protectForOID - Uygulamanız aşağıdakiler için bir işleyici uyguladı WIPE_USER_DATA |
- Uygulamanızın, yönetilen hesaba ait en az bir dosyayı manuel olarak koruyacağı senaryolar uyguladığınızdan emin olun. - Microsoft IntuneMicrosoft Intune yönetim merkezinden seçmeli temizleme işlemi yapın. - Dosyaların kaldırıldığını onaylayın. |
| Manuel veri tampon koruması | - Uygulamanızın aramaları MAMDataProtectionManager.protectForOID - Uygulamanız şunlardan biri WIPE_USER_AUXILIARY_DATA için bir işleyici uyguladı: WIPE_USER_DATA |
- Uygulamanızın, yönetilen hesaba ait en az bir veri arabelleğini manuel olarak koruyacağı senaryolar uyguladığınızdan emin olun. - Microsoft IntuneMicrosoft Intune yönetim merkezinden seçmeli temizleme işlemi yapın. - Veri arabelleklerinin depolandıkları dosyalardan kaldırıldığını ve uygulamanızın bu dosyalardaki yönetilmeyen verileri okumaya devam edebildiğini onaylayın. |
Sonraki adımlar
Yukarıdaki tüm Çıkış Ölçütlerini tamamladıktan sonra, uygulamanız artık çok kimlikli olarak başarıyla tümleştirilir ve kimlik başına uygulama koruma ilkelerini zorunlu kılabilir. Sonraki bölümler, Aşama 6: Uygulama Yapılandırması ve Aşama 7: Uygulamaya Katılım Özellikleri, uygulamanızın istenen uygulama koruma ilkesi desteğine bağlı olarak gerekli olabilir veya olmayabilir. Bu bölümlerden herhangi birinin uygulamanız için geçerli olup olmadığından emin değilseniz SDK entegrasyonu için Önemli Kararlar bölümünü tekrar ziyaret edin.