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.
Uyumluluk portalında tanımlanan bilgi hakları yönetimi haklarının uygulanması uygulama geliştiricisinin sorumluluğundadır. SDK, bu erişim denetimlerini basitleştirmek için bir API ve numaralandırıcı kümesi sağlar.
Aşağıdaki örneklerde ve tablolarda erişim denetimi gerektiren senaryolar, denetlenecek hakların listesi ve denetimin nasıl gerçekleştirileceği gösterilir.
Hak listesi ve sonuçlar
Kullanım haklarının ve açıklamaların tam listesi için Bkz. Microsoft Purview Information Protection için kullanım haklarını yapılandırma. Bu makale, belirli haklar mevcut olduğunda veya olmadığında, bir uygulama geliştiricisinin hak uygulama ve etkin işlevlerdeki sorumluluklarını tanımlar.
Önemli
Hem hakları denetlemek hem de uygulamak uygulama geliştiricilerinin sorumluluğundadır. Denetimlerin gerçekleştirilememesi veri kaybına neden olabilir.
Senaryo
Uygulamanızın erişim denetimlerini nerede ve nasıl gerçekleştireceği, oluşturduğunuz uygulamanın türüne bağlıdır. Tam dosya çıkışını işleyen ve kullanıcı arabirimi olmayan uygulamalar en sık EXTRACT veya OWNER haklarını kullanır. Kullanıcı arabirimine sahip uygulamalar, çoğu ayrıntılı denetime ihtiyaç duyar ve uygulamadaki kullanıcı denetimlerine ve dışarı aktarma yollarına erişimi engeller. Kod örnekleri için erişim denetimleri gerçekleştirme bölümüne bakın.
Kullanıcı arabirimi olmayan uygulamalar
Kullanıcı arabirimi olmayan uygulamalar genellikle hizmet tabanlı veya komut satırı arabirimleridir (CLI). Uygulamanız Purview Information Protection tarafından korunan dosyaları işlerken, doğru hakları olmayan bir kullanıcının dosyayı korumasız bir biçimde dışarı aktarmak için hizmeti veya CLI'yı kullanamasını sağlamalıdır .
Bu uygulamalar OWNER veya EXTRACT haklarının mevcut olduğunu doğrulamalıdır. SAHIP olan kullanıcılar herhangi bir işlemi gerçekleştirebilir. EXTRACT özelliğine sahip kullanıcılar korumayı doğrudan kaldırabilir veya bu biçim korumayı desteklemese bile yeni bir biçime kaydedebilir.
Kullanıcı arabirimine sahip uygulamalar
Kullanıcı arabirimine sahip dosya SDK'sı uygulamaları, kullanıcının gerçekleştirmesine izin verilmemiş işlemlere erişimi kısıtlayan denetimler uygulamalıdır. Bu tür bir uygulamaya örnek olarak Microsoft Purview Information Protection Görüntüleyicisi gösteriliyor. Görüntüleyici, dosyanın şifresini geçici olarak çözer ve uygulama penceresinde içeriği işler. Belgeyi görüntülemeden önce ayrıntılı erişim denetimleri gerçekleştirir ve erişim denetimlerinin sonuçlarına göre kullanıcı arabirimi öğelerini devre dışı bırakır.
Erişim denetimleri gerçekleştirmeye yönelik kısmi bir iş akışı aşağıdaki gibi görünebilir:
- Kullanıcının OWNER hakkı var mı? Evet ise, tüm denetimleri etkinleştirin ve diğer hakları işlemeyi durdurun.
- Kullanıcının PRINT hakkı var mı? Evet ise yazdırma denetimini etkinleştirin. Aksi takdirde yazdırma denetimini devre dışı bırakın.
- Kullanıcının EXPORT hakkı var mı? Evet ise, dışarı aktarma denetimlerini ve kullanıcı arabirimi öğelerini etkinleştirin. Aksi takdirde, bu öğeleri devre dışı bırakın.
- Kullanıcının EXTRACT hakkı var mı? Evet ise kopyalamayı ve ekran görüntülerini etkinleştirin. Aksi takdirde, bu işlevleri devre dışı bırakın.
- Kullanıcının DÜZENLEME hakkı var mı? Evet ise, geçerli öğeyi düzenlemeyi ve kaydetmeyi etkinleştirin. Aksi takdirde, öğeyi salt okunur yapın.
Bu denetimler, VIEW hakkı dışında hak listesi ve sonuçlar tablosundaki tüm izinler için gerçekleştirilmelidir. Bu hak olmadan dosyaya erişilemez.
Erişim denetimleri gerçekleştirme
Erişim denetimini gerçekleştirme desenleri C++, .NET ve Java için Dosya ve Koruma SDK'sı genelinde benzerdir.
Bu kod örnekleri, SDK'nin başlatılmasının tüm adımlarını tamamladığınızı ve bir motor ile işleyici örneği oluşturduğunuzu varsayar.
- Hızlı Başlangıç: İstemci uygulaması başlatma (C++)
- Hızlı Başlangıç: İstemci uygulaması başlatma (C#)
- Hızlı Başlangıç: Koruma SDK'ları için istemci uygulaması başlatma (C++)
- Hızlı Başlangıç: Koruma SDK'ları için istemci uygulaması başlatma (C#)
.NET ile Dosya SDK'sında Erişim Denetimleri Gerçekleştirme
Bu kod alıntısı bir FileHandler oluşturulduğunu varsayar ve geçerli bir dosyaya işaret eder.
// Validate that the file referred to by the FileHandler is protected.
if(handler.Protection != null)
{
// Validate that user has rights to remove protection from the file.
if(handler.Protection.AccessCheck(Rights.Extract))
{
// If user has Extract right, remove protection and commit the change. Otherwise, throw exception.
handler.RemoveProtection();
bool result = handler.CommitAsync(outputPath).GetAwaiter().GetResult();
return result;
}
else
{
throw new Microsoft.InformationProtection.Exceptions.AccessDeniedException("User lacks EXPORT right.");
}
}
.NET ile Koruma SDK'sında Erişim Denetimleri Gerçekleştirme
Bu kod alıntısı, tüketim için bir ProtectionHandler oluşturulduğunu varsayar.
// Validate that the file referred to by the FileHandler is protected.
if(protectionHandler != null)
{
// Validate that user has rights to remove protection from the file.
if(protectionHandler.AccessCheck(Rights.Print))
{
// If the user has the print right, enable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(true);
}
else
{
// If the user does not have the print right, disable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(false);
}
}
C++ ile Dosya SDK'sında Erişim Denetimleri Gerçekleştirme
Bu kod alıntısı bir FileHandler oluşturulduğunu varsayar ve geçerli bir dosyaya işaret eder.
// Validate that the file referred to by the FileHandler is protected.
if (fileHandler->GetProtection() != nullptr)
{
if (fileHandler->GetProtection()->AccessCheck(mip::rights::Extract()))
{
auto commitPromise = std::make_shared<std::promise<bool>>();
auto commitFuture = commitPromise->get_future();
fileHandler->RemoveProtection();
fileHandler->CommitAsync(outputFile, commitPromise);
result = commitFuture.get();
}
else
{
throw std::runtime_error("User doesn't have EXTRACT right.");
}
}
C++ ile Koruma SDK'sında Erişim Denetimleri Gerçekleştirme
Bu kod alıntısı, tüketim için bir ProtectionHandler oluşturulduğunu varsayar.
// Validate that the file referred to by the FileHandler is protected.
if (protectionHandler != nullptr)
{
if (protectionHandler->AccessCheck(mip::rights::Print()))
{
// If the user has the print right, enable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(true);
}
else
{
// If the user does not have the print right, disable the control.
// SetPrintControlEnabled() is an example and not a MIP SDK function.
SetPrintControlEnabled(false);
}
}
Sonraki Adımlar
Artık erişim denetimlerini düzgün bir şekilde gerçekleştirme ve bu denetimlerle ilişkili hakları zorlama hakkında bir fikriniz olduğuna göre, dosyalardan korumayı kaldırma hakkında daha fazla bilgi edinmek için dosya işleyicisi kavramlarıyla devam edin.