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.
Veri sınıflandırması, verileri duyarlılık ve koruma düzeyine göre kategorilere ayırmanıza (veya sınıflandırmanıza) yardımcı olur. Yapısı, DataClassification hassas bilgileri etiketlemenize ve bu etiketlere göre ilkeler uygulamanıza olanak tanır.
- DataClassification.TaxonomyName: Sınıflandırma sistemini tanımlar.
- DataClassification.Value: Taksonomi içindeki belirli etiketi temsil eder.
Bazı durumlarda, verilerde açıkça veri sınıflandırması olmadığını belirtmeniz gerekebilir, bu işlem ile DataClassification.Noneyapılır. Benzer şekilde, veri sınıflandırmanın bilinmediğini belirtmeniz gerekebilir; bu durumlarda kullanın DataClassification.Unknown .
paketini yükleyin
Başlamak için Microsoft.Extensions.Compliance.Abstractions NuGet paketini yükleyin📦:
dotnet add package Microsoft.Extensions.Compliance.Abstractions
Veya .NET 10+ SDK kullanıyorsanız:
dotnet package add Microsoft.Extensions.Compliance.Abstractions
Özel sınıflandırmalar oluşturma
Farklı hassas veri türleri için üye oluşturarak static özel sınıflandırmalar tanımlayın. Bu, uygulamanız genelinde verileri etiketlemek ve işlemek için tutarlı bir yol sağlar. Aşağıdaki örnek sınıfı göz önünde bulundurun:
using Microsoft.Extensions.Compliance.Classification;
internal static class MyTaxonomyClassifications
{
internal static string Name => "MyTaxonomy";
internal static DataClassification PrivateInformation => new(Name, nameof(PrivateInformation));
internal static DataClassification CreditCardNumber => new(Name, nameof(CreditCardNumber));
internal static DataClassification SocialSecurityNumber => new(Name, nameof(SocialSecurityNumber));
internal static DataClassificationSet PrivateAndSocialSet => new(PrivateInformation, SocialSecurityNumber);
}
Özel sınıflandırma taksonominizi diğer uygulamalarla paylaşmak istiyorsanız, bu sınıf ve üyeleri yerine publicolmalıdırinternal. Örneğin, birden çok uygulamada kullanabileceğiniz, özel sınıflandırmalar içeren bir paylaşılan kitaplığınız olabilir.
DataClassificationSet tek bir kümede birden çok veri sınıflandırması oluşturmanıza olanak tanır. Bu, verilerinizi birden çok veri sınıflandırmasıyla sınıflandırmanıza olanak tanır. Buna ek olarak, .NET redaction API bir DataClassificationSet kullanır.
Uyarı
DataClassificationSet olarak birlikte giden birden fazla veri sınıflandırması, tek bir sınıflandırma olarak ele alınır. Bunu mantıksal AND bir işlem olarak düşünebilirsiniz. Örneğin, DataClassificationSet ve PrivateInformation ve SocialSecurityNumber olarak sınıflandırılan veriler için redaksiyon yapılandırdıysanız, sadece PrivateInformation veya SocialSecurityNumber olarak sınıflandırılan veriler için geçerli olmaz.
Özel sınıflandırma öznitelikleri oluşturma
Özel sınıflandırmalarınıza göre özel öznitelikler oluşturun. Verilerinizi doğru sınıflandırmayla etiketlemek için bu öznitelikleri kullanın. Aşağıdaki özel öznitelik sınıf tanımını göz önünde bulundurun:
public sealed class PrivateInformationAttribute : DataClassificationAttribute
{
public PrivateInformationAttribute()
: base(MyTaxonomyClassifications.PrivateInformation)
{
}
}
Yukarıdaki kod, türün alt sınıfı olan özel bilgi özniteliğini DataClassificationAttribute bildirir. Parametresiz bir oluşturucu tanımlar ve DataClassification öğesini base'e geçirir.
Veri sınıflandırma ayarlarını bağlama
Veri sınıflandırma ayarlarınızı bağlamak için .NET yapılandırma sistemini kullanın. Örneğin, bir JSON yapılandırma sağlayıcısı kullandığınız varsayıldığında ,appsettings.json aşağıdaki gibi tanımlanabilir:
{
"Key": {
"PhoneNumber": "MyTaxonomy:PrivateInformation",
"ExampleDictionary": {
"CreditCard": "MyTaxonomy:CreditCardNumber",
"SSN": "MyTaxonomy:SocialSecurityNumber"
}
}
}
Şimdi bu yapılandırma ayarlarını TestOptions nesnesine bağlayan bir seçenekler kalıbı yaklaşımını göz önünde bulundurun.
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Compliance.Classification;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Options;
public class TestOptions
{
public DataClassification? PhoneNumber { get; set; }
public IDictionary<string, DataClassification> ExampleDictionary { get; set; } = new Dictionary<string, DataClassification>();
}
class Program
{
static void Main(string[] args)
{
// Build configuration from an external json file.
IConfiguration configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build();
// Setup DI container and bind the configuration section "Key" to TestOptions.
IServiceCollection services = new ServiceCollection();
services.Configure<TestOptions>(configuration.GetSection("Key"));
// Build the service provider.
IServiceProvider serviceProvider = services.BuildServiceProvider();
// Get the bound options.
TestOptions options = serviceProvider.GetRequiredService<IOptions<TestOptions>>().Value;
// Simple output demonstrating binding results.
Console.WriteLine("Configuration bound to TestOptions:");
Console.WriteLine($"PhoneNumber: {options.PhoneNumber}");
foreach (var item in options.ExampleDictionary)
{
Console.WriteLine($"{item.Key}: {item.Value}");
}
}
}