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.
Perakende çalışanları, uçuş ekibi üyeleri ve saha hizmeti çalışanları gibi ön cephe çalışanları genellikle işlerini gerçekleştirmek için paylaşılan bir mobil cihaz kullanır. Bu paylaşılan cihazlar, kullanıcılarınızın parolalarını veya PIN'lerini paylaşmaları durumunda, paylaşılan cihazdaki müşteri ve iş verilerine erişmek için kasıtlı olarak veya değil güvenlik riskleri sunabilir.
Paylaşılan cihaz modu , çalışanların cihazı güvenli bir şekilde paylaşabilmesi için Android 8.0 veya üzeri bir cihaz yapılandırmanıza olanak tanır. Çalışanlar bir kez oturum açabilir ve bu özelliği destekleyen tüm uygulamalarda çoklu oturum açma (SSO) alarak bilgilere daha hızlı erişim sağlayabilir. Çalışanlar vardiyalarını veya görevlerini tamamladıktan sonra oturumdan çıktıklarında, cihazın ve desteklenen tüm uygulamaların oturumlarından otomatik olarak çıkış yapılarak cihaz bir sonraki kullanıcı için hazır hale gelir.
Paylaşılan Cihaz Modu özelliğinden yararlanmak için uygulama geliştiricileri ve bulut cihazı yöneticileri birlikte çalışır:
Cihaz yöneticileri, cihazı el ile veya Microsoft Intune gibi bir mobil cihaz yönetimi (MDM) sağlayıcısı kullanarak paylaşılacak şekilde hazırlar. Tercih edilen seçenek, elle müdahale gerektirmeyen sağlama sayesinde cihazın paylaşılan cihaz modunda geniş çapta kurulmasına izin verdiği için bir MDM kullanmaktır. MDM, Microsoft Authenticator uygulamasını cihazlara iletir ve yönetilen bir yapılandırma güncelleştirmesi aracılığıyla her cihaz için "Paylaşılan Modu" açar. Bu Paylaşılan Mod ayarı, cihazdaki desteklenen uygulamaların davranışını değiştiren ayardır. MDM sağlayıcısından alınan bu yapılandırma, cihaz için paylaşılan cihaz modunu ayarlar ve Authenticator Uygulamasını kullanarak paylaşılan cihaz kaydını tetikler.
Uygulama geliştiricileri , aşağıdaki senaryoyu işlemek için tek hesaplı bir uygulama (paylaşılan cihaz modunda birden çok hesaplı uygulamalar desteklenmez) yazar:
- Desteklenen tüm uygulamalar aracılığıyla kullanıcı cihaz genelinde oturum açma
- Desteklenen tüm uygulamalar aracılığıyla cihaz genelinde kullanıcı oturumunu kapatma
- Uygulamanızın paylaşılan cihaz modundaki bir cihazda olup olmadığını belirlemek için cihazın durumunu sorgula
- Son kullanımdan bu yana uygulamanızda yapılan değişiklikleri belirlemek için kullanıcının cihaz durumunu sorgula
Paylaşılan cihaz modunun desteklenmesi, uygulamanız için bir özellik yükseltmesi olarak kabul edilmelidir ve aynı cihazın birden çok kullanıcı arasında kullanıldığı ortamlarda benimsemesini artırmaya yardımcı olabilir.
Important
Android'de paylaşılan cihaz modunu destekleyen Microsoft uygulamalar herhangi bir değişiklik gerektirmez ve paylaşılan cihaz moduyla birlikte gelen avantajlardan yararlanmak için yalnızca cihaza yüklenmesi gerekir.
Paylaşılan Cihaz Modu'nda cihazı ayarlama
Android cihazınızı paylaşılan cihaz modunu destekleyecek şekilde yapılandırmak için Android işletim sistemi 8.0 veya üzerini çalıştırıyor olmalıdır. Cihaz ayrıca fabrika sıfırlaması ile silinmelidir veya tüm Microsoft ve diğer paylaşılan cihaz modu etkin uygulamaların kaldırılıp yeniden yüklenmesi gerekir.
Microsoft Intune, Microsoft Entra paylaşılan cihaz modundaki cihazlar için sıfır temasla sağlamayı destekler; bu, cihazın saha çalışanının çok az etkileşimiyle yapılandırılıp Intune’a kaydedilebileceği anlamına gelir. MDM olarak Microsoft Intune kullanırken cihazı paylaşılan cihaz modunda ayarlamak için bkz. Microsoft Entra paylaşılan cihaz modunda cihazlar için kaydı ayarlama.
Android uygulamanızı paylaşılan cihaz modunu destekleyecek şekilde değiştirme
Kullanıcılarınız, verilerinin başka bir kullanıcıya sızmadığından emin olmak için size bağlıdır. Aşağıdaki bölümler, uygulamanıza bir değişikliğin gerçekleştiğini ve işlenmesi gerektiğini göstermek için yararlı sinyaller sağlar. Uygulamanız her kullanıldığında cihazda kullanıcının durumunu denetlemek ve ardından önceki kullanıcının verilerini temizlemek sizin sorumluluğunuzdadır. Buna, çoklu görev sırasında arka plandan yeniden yüklenmesi durumu da dahildir. Kullanıcı değişikliğinde, hem önceki kullanıcının verilerinin temizlendiğinden hem de uygulamanızda görüntülenen önbelleğe alınmış verilerin kaldırıldığından emin olmanız gerekir. Uygulamanızı paylaşılan cihaz modunu destekleyecek şekilde güncelleştirdikten sonra sizin ve şirketinizin bir güvenlik gözden geçirme süreci yürütmenizi kesinlikle öneririz.
uygulamanızın bağımlılıklarına Microsoft Authentication Library (MSAL) SDK'sını ekleme
MSAL kitaplığını build.gradle dosyanıza bağımlılık olarak ekleyin, örneğin:
dependencies{
implementation 'com.microsoft.identity.client.msal:5.+'
}
Uygulamanızı paylaşılan cihaz modunu kullanacak şekilde yapılandırma
Microsoft Kimlik Doğrulama Kitaplığı (MSAL) SDK'sı kullanılarak yazılan uygulamalar tek bir hesabı veya birden çok hesabı yönetebilir. Ayrıntılar için bkz. tek hesap modu veya birden çok hesap modu. Paylaşılan cihaz modu uygulamaları yalnızca tek hesap modunda çalışır.
Birden çok hesap modunu desteklemeyi planlamıyorsanız, msal yapılandırma dosyanızda "account_mode" değerini "SINGLE" olarak ayarlayın. Bu, uygulamanızın her zaman ISingleAccountPublicClientApplication'yi edineceğini garanti eder ve MSAL entegrasyonunuzu önemli ölçüde basitleştirir. varsayılan değeridir "account_mode" , "MULTIPLE"bu nedenle modu kullanıyorsanız "single account" yapılandırma dosyasında bu değeri değiştirmeniz önemlidir.
Yapılandırma dosyasının bir örneği aşağıda verilmişti:
{
"client_id": "Client ID after app registration at https://aka.ms/MobileAppReg",
"authorization_user_agent": "WEBVIEW",
"redirect_uri": "Redirect URI after app registration at https://aka.ms/MobileAppReg",
"account_mode": "SINGLE",
"broker_redirect_uri_registered": true,
"authorities": [
{
"type": "AAD",
"audience": {
"type": "AzureADandPersonalMicrosoftAccount",
"tenant_id": "common"
}
}
]
}
Yapılandırma dosyanızı ayarlama hakkında daha fazla bilgi için yapılandırma belgelerine bakın.
Hem tek hesabı hem de birden çok hesabı destekleme
Uygulamanız hem kişisel cihazlarda hem de paylaşılan cihazlarda çalıştırmayı destekleyecek şekilde oluşturulabilir. Uygulamanız şu anda birden çok hesabı destekliyorsa ve paylaşılan cihaz modunu desteklemek istiyorsanız, tek hesap modu için destek ekleyin.
Uygulamanızın üzerinde çalıştığı cihazın türüne bağlı olarak davranışını değiştirmesini de isteyebilirsiniz. Tek hesap modunda ne zaman çalıştırılacak belirlemek için kullanın ISingleAccountPublicClientApplication.isSharedDevice() .
Uygulamanızın bulunduğu cihaz türünü temsil eden iki farklı arabirim vardır. MSAL'nin uygulama fabrikasından bir uygulama örneği istediğinizde, doğru uygulama nesnesi otomatik olarak sağlanır.
Aşağıdaki nesne modeli, alabileceğiniz nesne türünü ve paylaşılan cihaz bağlamında ne anlama geldiğini gösterir:
Nesnenizi aldığınızda bir tür denetimi yapmanız ve uygun arabirime atamanız PublicClientApplication gerekir. Aşağıdaki kod birden çok hesap modunu veya tek hesap modunu denetler ve uygulama nesnesini uygun şekilde yayınlar:
private IPublicClientApplication mApplication;
// Running in personal-device mode?
if (mApplication instanceOf IMultipleAccountPublicClientApplication) {
IMultipleAccountPublicClientApplication multipleAccountApplication = (IMultipleAccountPublicClientApplication) mApplication;
...
// Running in shared-device mode?
} else if (mApplication instanceOf ISingleAccountPublicClientApplication) {
ISingleAccountPublicClientApplication singleAccountApplication = (ISingleAccountPublicClientApplication) mApplication;
...
}
Aşağıdaki farklılıklar, uygulamanızın paylaşılan veya kişisel bir cihazda çalışıp çalışmadığına bağlı olarak geçerlidir:
| Paylaşım modu cihazı | Kişisel cihaz | |
|---|---|---|
| Hesaplar | Tek hesap | Birden çok hesap |
| Oturum açma | Genel | Genel |
| Oturumu kapatma | Genel | Her bir uygulama, oturumu kapatma işleminin uygulama için yerel olup olmadığını kontrol edebilir. |
| Desteklenen hesap türleri | Yalnızca iş hesapları | Desteklenen kişisel ve iş hesapları |
PublicClientApplication nesnesini başlatma
MSAL yapılandırma dosyasında "account_mode":"SINGLE" ayarlarsanız, döndürülen uygulama nesnesini güvenli bir şekilde ISingleAccountPublicCLientApplication olarak dönüştürebilirsiniz.
private ISingleAccountPublicClientApplication mSingleAccountApp;
PublicClientApplication.create(
this.getApplicationCOntext(),
R.raw.auth_config_single_account,
new PublicClientApplication.ApplicationCreatedListener() {
@Override
public void onCreated(IPublicClientApplication application){
mSingleAccountApp = (ISingleAccountPublicClientApplication)application;
}
@Override
public void onError(MsalException exception){
/*Fail to initialize PublicClientApplication */
}
});
Paylaşılan cihaz modunu algılama
Paylaşılan cihaz modunu algılamak uygulamanız için önemlidir. Birçok uygulama, paylaşılan bir cihazda kullanıldığında kullanıcı deneyiminde (UX) değişiklik yapılmasını gerektirir. Örneğin, uygulamanızın bir "Kaydolma" özelliği olabilir ve bu özellik ön hat çalışanı için uygun değildir çünkü zaten bir hesabı vardır. Ayrıca, paylaşılan cihaz modundaysa uygulamanızın veri işlemesine ek güvenlik de eklemek isteyebilirsiniz.
isSharedDevice Paylaşılan cihaz modunda bir cihazda bir uygulamanın çalışıp çalışmadığını belirlemek için içindeki API'yi IPublicClientApplication kullanın.
Aşağıdaki kod parçacıkları, isSharedDevice API'sinin kullanımına ilişkin örnekler göstermektedir.
deviceModeTextView.setText(mSingleAccountApp.isSharedDevice() ? "Shared" : "Non-Shared");
Oturum açmış kullanıcıyı almak ve cihazdaki kullanıcının değişip değişmediğini belirlemek
Paylaşılan cihaz modunu desteklemenin bir diğer önemli bölümü de kullanıcının cihazdaki durumunu belirlemek ve bir kullanıcı değiştiyse veya cihazda hiç kullanıcı yoksa uygulama verilerini temizlemektir. Verilerin başka bir kullanıcıya sızmadığından emin olmak sizin sorumluluğundadır.
Cihazda şu anda oturum açmış olan hesabı sorgulamak için API'yi kullanabilirsiniz getCurrentAccountAsync .
Oturum açmış kullanıcının hesabını almak için loadAccount yöntemi kullanılır.
onAccountChanged yöntemi, oturum açmış kullanıcının değişip değişmediğini belirler ve değiştiyse şunları temizleyin:
private void loadAccount()
{
mSingleAccountApp.getCurrentAccountAsync(new ISingleAccountPublicClientApplication.CurrentAccountCallback())
{
@Override
public void onAccountLoaded(@Nullable IAccount activeAccount)
{
if (activeAccount != null)
{
signedInUser = activeAccount;
final AcquireTokenSilentParameters silentParameters = new AcquireTokenSilentParameters.Builder()
.fromAuthority(signedInUser.getAuthority())
.forAccount(signedInUser)
.withScopes(Arrays.asList(getScopes()))
.withCallback(getAuthSilentCallback())
.build();
mSingleAccountApp.acquireTokenSilentAsync(silentParameters);
}
}
@Override
public void onAccountChanged(@Nullable IAccount priorAccount, @Nullable Iaccount currentAccount)
{
if (currentAccount == null)
{
//Perform a cleanup task as the signed-in account changed.
cleaUp();
}
}
@Override
public void onError(@NonNull Exception exception)
{
//getCurrentAccountAsync failed
}
}
}
Bir kullanıcı için global oturum açın
Bir cihaz paylaşılan cihaz olarak yapılandırıldığında, uygulamanız hesapta oturum açmak için API'yi çağırabilir signIn . Hesap, ilk uygulama hesapta oturum açtığında cihazdaki tüm uygun uygulamalar için genel kullanıma sunulacaktır.
final SignInParameters signInParameters = ... /* create SignInParameters object */
mSingleAccountApp.signIn(signInParameters);
Bir kullanıcının genel olarak oturumunu kapatma
Aşağıdaki kod, oturum açmış hesabı kaldırır ve önbelleğe alınan belirteçleri yalnızca uygulamadan değil paylaşılan cihaz modundaki cihazdan da temizler. Ancak uygulamanızdaki verileri temizlemez. Uygulamanızdaki verileri temizlemeniz ve uygulamanızın kullanıcıya görüntüleyebileceği önbelleğe alınmış verileri temizlemeniz gerekir.
mSingleAccountApp.signOut(new ISingleAccountPublicClientApplication.SignOutCallback() {
@Override
public void onSignOut() {
// clear data from your application
}
@Override
public void onError(@NonNull MsalException exception) {
// signout failed, show error
}
});
Diğer uygulamalardan başlatılan genel oturumu kapatma işlemini algılamak için yayını al.
Hesap değişikliği yayınını almak için bir yayın alıcısı kaydetmeniz gerekir. Yayın alıcınızı Context ile kaydedilen alıcılar aracılığıyla kaydetmeniz tavsiye edilir.
Hesap değişikliği yayını alındığında, oturum açılan kullanıcıyı derhal alın ve cihazda bir kullanıcının değişip değişmediğini belirleyin. Bir değişiklik algılanırsa, önceden oturum açmış hesap için veri temizlemeyi başlatın. Tüm işlemlerin düzgün bir şekilde durdurulması ve veri temizlemenin yapılması önerilir.
Aşağıdaki kod parçacığı, yayın alıcısını nasıl kaydedebildiğinizi gösterir.
private static final String CURRENT_ACCOUNT_CHANGED_BROADCAST_IDENTIFIER = "com.microsoft.identity.client.sharedmode.CURRENT_ACCOUNT_CHANGED";
private BroadcastReceiver mAccountChangedBroadcastReceiver;
private void registerAccountChangeBroadcastReceiver(){
mAccountChangedBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//INVOKE YOUR PRIOR ACCOUNT CLEAN UP LOGIC HERE
}
};
IntentFilter filter = new
IntentFilter(CURRENT_ACCOUNT_CHANGED_BROADCAST_IDENTIFIER);
this.registerReceiver(mAccountChangedBroadcastReceiver, filter);
}
Paylaşılan cihaz modunu destekleyen Microsoft uygulamaları
Bu Microsoft uygulamaları Microsoft Entra paylaşılan cihaz modunu destekler:
- Microsoft Ekipleri
- Microsoft Viva Engage (önceki yammer)
- Outlook
- Microsoft Power Apps
- Microsoft 365
- Microsoft Power BI Mobil
- Microsoft Edge
- Yönetilen Ana Ekran
Paylaşılan cihaz modunu destekleyen üçüncü taraf MDM'ler
Bu üçüncü taraf Mobil Cihaz Yönetimi (MDM) sağlayıcıları, Microsoft Entra paylaşılan cihaz modunu destekler:
Paylaşılan cihaz oturum kapatma ve uygulamanın genel yaşam döngüsü
Bir kullanıcı oturumu kapattığında, kullanıcının gizliliğini ve verilerini korumak için işlem yapmanız gerekir. Örneğin, bir tıbbi kayıt uygulaması oluşturuyorsanız, kullanıcı oturumu kapattığında daha önce görüntülenen hasta kayıtlarının temizlendiğinden emin olmak istersiniz. Uygulamanızın veri gizliliğine hazır olması ve ön plana her girişinde kontrol etmesi gerekir.
Uygulamanız, paylaşılan moddaki bir cihazda çalışan bir uygulamada kullanıcının oturumunu kapatmak için MSAL kullandığında, oturumu açık hesap ve önbelleğe alınmış belirteçler hem uygulamadan hem de cihazdan kaldırılır.
Aşağıdaki diyagramda, uygulamanız çalışırken oluşabilecek genel uygulama yaşam döngüsü ve yaygın olaylar gösterilmektedir. Diyagram, bir etkinliğin başlatılmasından itibaren bir hesapta oturum açma ve oturumu kapatma işlemlerini ve etkinliğin duraklatılması, sürdürülmesi ve durdurulması gibi olayların bu süreçte nasıl yer aldığını kapsar.
Sonraki Adımlar
Paylaşılan cihaz modunda uygulamaları çalıştırmak ve uygulamanızı test etmek için bir Android cihazı ayarlayın.