Alıştırma - Bulutta yerel bir uygulamada hassas verileri sınıflandırma

Tamamlandı

Bu alıştırmada, örnek bir eShopLite uygulamasında hassas veri türlerini sınıflandıracaksınız.

Uygulama etkin geliştirme aşamasındadır ve şu anda Product ve Orderiki veri sınıfına sahiptir. Sıralama işlemini oluşturuyorlar ve veri türlerini sınıflandırmak için kodu eklemenizi istiyorlar.

Bu alıştırmada şunların nasıl yapıldığını öğrenin:

  • Geçerli uygulamayı ve veri türlerini keşfedin.
  • Veri türlerini sınıflandırmak için kodu ekleyin.
  • Uygulamayı çalıştırın ve test edin.

Geliştirme ortamını açma

Alıştırmayı barındıran bir GitHub kod alanı kullanmayı seçebilir veya alıştırmayı Visual Studio Code'da yerel olarak tamamlayabilirsiniz.

codespacekullanmak için, bu Codespace oluşturma bağlantısınıile önceden yapılandırılmış bir GitHub Codespace oluşturun.

GitHub'ın kod alanının oluşturulması ve yapılandırılması birkaç dakika sürer. İşlem tamamlandığında alıştırmanın kod dosyalarını görürsünüz. Bu modülün geri kalanı için kullanılacak kod /dotnet-compliance dizinindedir.

Visual Studio Codekullanmak için https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative deposunu kendi GitHub hesabınıza fork edin. Sonra:

  1. Docker'ın çalıştığından emin olun. Yeni bir Visual Studio Code penceresinde, komut paletini açmak için Ctrl+Shift+P basın.
  2. Geliştirme Kapsayıcıları:Kapsayıcı Birimi'nde Depoyu Kopyala öğesini arayın ve seçin.
  3. Çatallanmış deponuzu seçin. Visual Studio Code, geliştirme kapsayıcınızı yerel olarak oluşturur.

eShopLite uygulamasını test edin

  1. Visual Studio Code penceresinin en altında TERMINAL sekmesini seçin.

  2. Alıştırma klasörüne gitme:

    cd dotnet-compliance/eShopLite
    
  3. Uygulama kapsayıcıları oluşturun.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  4. Docker kullanarak uygulamayı çalıştırın:

    cd ..
    docker compose up
    
  5. PORTLAR sekmesini seçin, sonra Tarayıcıda Aç küre simgesini, Ön Uç (32000) bağlantı noktası için seçin.

  6. Ürünler bağlantısını seçin. Uygulama, ürünlerin listesini görüntüler.

    Çalışan eShopLite uygulamasının ekran görüntüsü.

  7. TERMINAL sekmesini seçin, ardından uygulamayı durdurmak için Ctrl+C basın.

Taksonomiler ve öznitelikler oluşturma

Bu görevde, iki yeni taksonomi oluşturmak için kod ekleyin. Ardından Product ve Order veri türlerini uygun özniteliklerle not edin.

  1. TERMINAL sekmesinde eShopLite/DataEntities klasörüne gidin:

    cd eShopLite/DataEntities/
    
  2. Uyumluluk paketini ekleyin:

    dotnet add package Microsoft.Extensions.Compliance.Redaction
    
  3. EXPLORER bölmesinde Veri Varlıkları klasörüne sağ tıklayın, ardından yeni dosya seçin.

  4. Dosya adı olarak Compliance.csgirin.

  5. Düzenleyicide şu kodu girin:

    using Microsoft.Extensions.Compliance.Classification;
    using Microsoft.Extensions.Compliance.Redaction;
    
    public static class DataClassifications
    {
        // End User Identifiable Information
        public static DataClassification EUIIDataClassification {get;} = new DataClassification("EUIIDataTaxonomy", "EUIIData");
    
        // End User Pseudonymous Information
        public static DataClassification EUPDataClassification {get;} = new DataClassification("EUPDataTaxonomy", "EUPData");
    }
    
    public class EUIIDataAttribute : DataClassificationAttribute
    {
        public EUIIDataAttribute() : base(DataClassifications.EUIIDataClassification) { }
    }
    
    public class EUPDataAttribute : DataClassificationAttribute
    {
        public EUPDataAttribute() : base(DataClassifications.EUPDataClassification) { }
    }
    
    

    Yukarıdaki kod, EUII ve EUPIadlı iki taksonomi oluşturur. Ayrıca EUIIDataAttribute ve EUPDataAttributeadlı iki öznitelik oluşturur. Bu öznitelikler, veri türlerine açıklama eklemek için kullanılır.

Veri türlerini sınıflandırma

eShopLite uygulamasındaki veri türlerini sınıflandırmak için bu taksonomileri ve öznitelikleri kullanın.

  1. EXPLORER bölmesinde veri varlıkları klasörünü genişletin ve Product.cs dosyasını seçin.

    Bu sınıfta belirli müşteri duyarlı verileri yoktur, ancak ürün kimliği özelliği günlüklerdeki bir müşteriye bağlıysa uygulama sahte verileri sızdırabilir.

  2. EUPData özelliğine ProductId özniteliğini ekleyin:

    [EUPData]
    [Key]
    [JsonPropertyName("id")]
    public int Id { get; set; }
    

    Yukarıdaki kod, redaction altyapısına Id özelliğinin takma ad verileri olduğunu bildirir.

  3. EXPLORER bölmesinde DataEntities klasörünü genişletin ve Order.cs dosyasını seçin.

    Order sınıfı hassas veriler içerir. CustomerName ve CustomerAddress özellikleri son kullanıcı tarafından tanımlanabilir bilgilerdir. Id özelliği son kullanıcı takma adı bilgileridir.

  4. EUIIData ve CustomerName özelliklerine CustomerAddress özniteliğini ekleyin:

    [EUIIData]
    [JsonPropertyName("customerName")]
    public string? CustomerName { get; set; }
    
    [EUIIData]
    [JsonPropertyName("customerAddress")]
    public string? CustomerAddress { get; set; }
    

    Yukarıdaki kod, redaction altyapısına CustomerName ve CustomerAddress özelliklerinin son kullanıcı tarafından tanımlanabilir bilgiler olduğunu bildirir.

  5. EUPData özelliğine Id özniteliğini ekleyin:

    [Key]
    [EUPData]
    [JsonPropertyName("id")]
    public int Id { get; set; }
    

    Yukarıdaki kod, redaction altyapısına Id özelliğinin son kullanıcı takma adı bilgileri olduğunu bildirir.

eShopLite uygulamasında yaptığınız değişiklikleri test etme

  1. Alttaki TERMINAL bölmesinde dotnet-compliance/eShopLite klasörüne gidin.

    cd ..
    
  2. Uygulama kapsayıcılarını güncelleştirin.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  3. dotnet-compliance klasörüne gidin ve uygulamayı Docker ile başlatın:

    cd ..
    docker compose up
    
  4. Tarayıcınızda sekmeyi kapattıysanız, PORTS sekmesini seçin ve ardından Ön Uç (32000) bağlantı noktası için Tarayıcıda Aç simgesini seçin.

  5. eShopLite uygulamasının değişmemiş olduğuna dikkat edin.

  6. Sepete bazı ürünler eklemeyi deneyin, ardından Sepeti Satın Al seçin.

  7. TERMINAL penceresinde, uygulamayı durdurmak için Ctrl+C basın.

Sonraki alıştırmada gizlenmiş günlük kaydı ekleyeceksiniz.