クラウドネイティブ アプリケーションで機密データを分類する
クラウドネイティブ アプリケーションでコンプライアンスを実装するための最初の手順は、データを分類することです。 データ分類は、アプリケーションで使用するデータを秘密度で識別するプロセスです。 データ分類を行うには、データの種類ごとにラベルを割り当てます。 たとえば、ユーザーの名前に "機密" というラベルを付け、ユーザーの年齢に "機密でない" というラベルを付ける場合があります。
このユニットでは、.NET のコンプライアンス機能の一部について説明します。 次に、クラウドネイティブ アプリケーションでデータを分類する方法について学習します。
コンプライアンスとは
組織は、独自の内部ポリシーと外部の規制に準拠する必要があります。 たとえば、顧客データをログ ファイルに保存できないことを規定したポリシーを会社が適用している場合があります。 または、顧客データの適切な処理を求める規制を政府が制定している場合があります。 これらのポリシーと規制は、多くの場合、"コンプライアンス要件"と呼ばれます。
コンプライアンス要件は、組織のアプリケーションに適用される一連のルールを作成することによって実装されます。 通常、コンプライアンス チームは、コンプライアンス規則を実装し、準拠を確認する責任を負います。
データ分類とは
データ分類は、サイバーセキュリティと情報ガバナンスで使用される用語です。 データ分類は、コンテンツをその秘密度または影響レベルに従って識別、分類、保護するプロセスを表します。 データ分類は、秘密度または影響の度合いに基づいて、組織のデータを無許可の開示、変更、または破壊から保護します。
あなたの会社は、データ分類ポリシーを実装することにしました。 このポリシーによるデータの分類には、次の 2 つの分類があります。
- エンド ユーザーを特定できる情報 (EUII) - 個人を識別するために使用できる情報。 たとえば、ユーザーの名前、住所、電話番号などです。
- エンド ユーザー仮名識別子 (EUPI) - データが他の情報と組み合わされている場合にのみ、個人を識別するために使用できる情報。 たとえば、データベース内のデータを表すユーザーの ID や、IP アドレスなどです。
クラウドネイティブ アプリケーションでデータを分類する方法
Microsoft では、データ分類を簡単に実装できるようになる新しい拡張機能を .NET に追加しました。 Microsoft.Extensions.Compliance.Classification
拡張機能を使用すると、DataClassification
および DataClassificationAttribute
プロパティを定義できます。
ソリューションでこの拡張機能を使用するには、Microsoft.Extensions.Compliance.Redaction
NuGet パッケージをプロジェクトに追加します。
たとえば、上記の分類を作成するコードは次のようになります。
using Microsoft.Extensions.Compliance.DataClassification;
public static DataClassification EUIIDataClassification {get;} = new DataClassification("EUIIDataTaxonomy", "EUIIData");
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) { }
}
分類を定義したら、次に、適切な属性を持つデータの種類に注釈を付けることができます。 次に例を示します。
public class User
{
[EUIIData]
public string Name { get; set; }
[EUIIData]
public string Address { get; set; }
[EUPData]
public string UserId { get; set; }
}
クラウドネイティブ アプリケーションの例でデータ分類を実装する方法を見てみましょう。