eBA Plus AI İle Veri Maskeleme Dokümanı
Bu doküman eBA Plus'ta AI ile veri maskeleme yapısının nasıl çalıştığını, kullanım örneklerini ve argümanlarını açıklamaktadır.
Konfigürasyon
eBA Plus'ta AI ile veri maskeleme işlemlerine başlamadan önce eBA Configuration Editor üzerinden AI kırılımı eklenip içerisine aşağıdaki değerler girilmelidir.
- Enable: true
- Address: https://ai.synergynow.io/
- TenantId: İlgili müşteriye ait tenantId değeri.
- Token: İlgili müşteriye ait token değeri.
Enable parametresi eBA Plus içerisindeki tüm AI işlemlerini açıp kapatmak için kullanılmaktadır. true/false Değerlerini almaktadır.
Address parametresi eBA Plus içerisinde AI işlemlerinin hangi servisi kullanacağını belirten parametredir.
TenantId parametresi eBA Plus içerisinde AI servisini kullanan müşteriyi belirten parametredir.
Token parametresi eBA Plus içerisinde müşterinin AI servisinini kullanabilmesi için gerekli olan token değeridir.
Yetkilendirme
eBA Plus'ta kullanıcıların AI işlemlerini kullanabilmesi için eBA System Manager yada Web arayüzdeki Organizasyon menüsünden ilgili organizasyon birimine sysAI yetkisi tanımlanmalıdır.
Veri maskeleme işlemleri süreç yada harici uygulamalar üzerinde kullanılırken, ilgili süreci/harici uygulamayı kullanan kullanıcın da sysAI yetkisine sahip olması gereklidir.
Başlamadan Önce
eBA Plus'ta AI ile veri maskeleme işlemlerini sağlayan metotlarda bulunan path parametresi, eBA Plus DM yapısı içerisindeki tüm path yapılarını desteklemektedir. Yani DM üzerinde bulunan bir dosyayı, dosya içeriğini, formun içindeki dosyalar nesnesinde bulunan bir dokümanı yada dosyanın spesifik bir versiyonunu maskelemek için kullanabiliriz.
AI ile veri maskeleme işlemleri sadece *.pdf, *.doc ve *.docx formatları için yapılabilmektedir. Diğer formatlarda metotların hata vermesi olasıdır.
Ayrıca metotların kullanımı için gerekli olan enum tipleri aşağıdaki şekildedir.
DataCategories enum
public enum DataCategories
{
Unknown,
FullName,
Address,
Email,
NationalIdNumber,
TaxNumber,
SocialSecurityNumber,
CreditCardNumber,
Iban,
BankAccountNumber,
InstitutionName,
Country,
City,
IPAddress,
Date,
InvoiceNumber,
Website,
Salary,
Amount,
BankName
}
Metotlarda hangi kategorilerin yakalanacağını yada maskeleneceğini belirten kategori tipleridir.
DataMaskingActionTypes enum
public enum DataMaskingActionTypes
{
ShowOnlyFirstCharacters,
Change,
Hide,
RestrictedShow
}
CreateMaskedData ve CreateMaskedDocument metotlarında yakalanan değerin nasıl maskeleneceğini belirten değerlerdir. ShowOnlyFirstCharacters, Hide veya RestrictedShow değeri seçildiğinde bahsi geçen iki metodun List<MaskedDataOption> maskedDataOptions parametresi içindeki ActionValue değeri verilmesine gerek yoktur.
- ShowOnlyFirstCharacters: Yakalanan değerin sadece ilk karakterinin gözükmesini sağlar.
- Change: Yakalanan değerin
ActionValuedeğeriyle değiştirilmesini sağlar. - Hide: Yakalanan değerin gizlenmesini sağlar.
- RestrictedShow: Yakalanan değerin farklı formatlarda korumalı şekilde gösterilmesini sağlar. Bu seçenek seçildiğinde
RestrictedShowOptionsdeğeri dolu gönderilmek zorundadır.
DataRestrictedShowOptions enum
public enum DataRestrictedShowOptions
{
ShowFirstXCharacters,
ShowLastXCharacters,
ShowFirstLastXCharacters,
HideFirstXCharacters,
HideLastXCharacters,
HideFirstLastXCharacters,
ShowYear,
HideYear,
ShowMonth,
HideMonth,
ShowDay,
HideDay,
ShowHour,
HideHour,
ShowMinute,
HideMinute,
ShowSecond,
HideSecond,
HideCurrency,
HideAmount
}
CreateMaskedData ve CreateMaskedDocument metotlarında kullanılanList<MaskedDataOption> maskedDataOptions parametresi içindeki RestrictedShowOptions değerinde kullanılacak olan değerlerdir.
Metotlar
eBA Plus'ta AI ile veri maskeleme işlemleri eBAPI.dll'inde bulunan 3 metot ile sağlanmaktadır.
- ExtractDataCategories
- CreateMaskedData
- CreateMaskedDocument
ExtractDataCategories
Bu metot verilen dokümanın içerisindeki maskelenmesi gereken verileri bulur ve geri döndürür.
Parametreler
- path (
string): Maskelenecek verilerin bulunacağı doküman yolu. - dataCategories (
List<DataCategories>): Bu parametre varsayılan olaraknulltanımlanmıştır zorunlu değildir.nullOlarak geçilirse yada bir değer verilmezse doküman içinde bulduğu tüm maskelenmesi gereken verileri döndürür. Parametre doldurulursa sadece verilen kategorilere uyan maskelenmesi gereken verileri döndürür.
Çıkış Değeri
- DMDataCategoryCollection: Bu nesne
IEnumerable<DMDataCategory>arayüzünden implemente edilmiştir. İçinde ki her nesneDMDataCategorytipindedir, bu tipin özellikleri de aşağıdaki şekildedir.- Category (
int): Yakalanan verinin hangi kategoriye ait olduğunu belirtir,DataCategoriesenum tipininintkarşılığını döndürmektedir. - Value (
string): Yakalanan veriyi getirmektedir. - ConfidenceScore (
float): Eşleşmenin güvenliğini belirtmektedir. - LongText (
string): Yakalanan değerin içinde bulunduğu cümledir. - Format (
string): Yakalan değer bir formata uyuyorsa onu belirtir, örneğin tarih-saat bilgisi yakalayıp dd:MM:yyyy yazabilir.
- Category (
Kullanım Örneği
using eBAPI;
using eBAPI.Connection;
using eBAPI.DocumentManagement;
public void ExtractDataCategories()
{
eBAConnection con = CreateServerConnection();
con.Open();
DMDataCategoryCollection categories = con.FileSystem.ExtractDataCategories("AI/biography_document.pdf", new List<DataCategories> { DataCategories.FullName, DataCategories.Email, DataCategories.NationalIdNumber, DataCategories.City });
for (int i = 0; i < categories.Count; i++)
{
DMDataCategory caughtValue = categories[i];
int category = caughtValue.Category;
string value = caughtValue.Value;
float confidenceScore = caughtValue.ConfidenceScore;
string longText = caughtValue.LongText;
string format = caughtValue.Format;
}
con.Close();
}
CreateMaskedData
Bu metot verilen dokümanın içerisindeki maskelenmesi gereken verileri bulur ve bulduğu değerleri hem bulunduğu cümle içerisinde hemde değeri maskeleyerek geri döndürür.
Parametreler
- path (
string): Maskelenecek verilerin bulunacağı doküman yolu. - maskedDataOptions (
List<MaskedDataOption>): Hangi kategorilerin nasıl maskeleneceği ayarlarının yapıldığı parametredir.MaskedDataOptiontipinin özellikleri aşağıdaki şekildedir.- Category (
DataCategories): Hangi kategorinin yakalanacağını belirtir,DataCategoriesenum tipindedir. - ActionType (
DataMaskingActionTypes): Belirtilen Category değeri yakalanınca nasıl aksiyon alacağını belirtir,DataMaskingActionTypesenum tipindedir. - ActionValue (
string): ActionType değeri Change olarak seçildiğinde hangi değerle değiştirilmesi gerektiğini belirten parametredir. - RestrictedShowOptions (
Dictionary<DataRestrictedShowOptions, int>): ActionType değeri RestrictedShow olarak seçildiğinde korumalı görünüm formatlarının belirtildiği parametredir. Dictionary içinde ki her bir eşlemenin Key değeriDataRestrictedShowOptionsenum tipinde, Value değeri iseinttipindedir. Key değeri koruma formatını, value değeri ise bu koruma formatında ki X karakterine karşılık gelmektedir.
- Category (
Çıkış Değeri
- DMMaskedDataCategoryCollection: Bu nesne
IEnumerable<DMMaskedDataCategory>arayüzünden implemente edilmiştir. İçinde ki her nesneDMMaskedDataCategorytipindedir, bu tipin özellikleri de aşağıdaki şekildedir.- Category (
int): Yakalanan verinin hangi kategoriye ait olduğunu belirtir,DataCategoriesenum tipininintkarşılığını döndürmektedir. - Value (
string): Yakalanan veriyi getirmektedir. - ConfidenceScore (
float): Eşleşmenin güvenliğini belirtmektedir. - Format (
string): Yakalan değer bir formata uyuyorsa onu belirtir, örneğin tarih-saat bilgisi yakalayıp dd:MM:yyyy yazabilir. - MaskedText (
string): Yakalanan değerin belirtilen ActionType değerine göre maskelenmiş halidir. - MaskedValue (
string): Yakalanan değerin belirtilen ActionType değerine göre içinde bulunduğu maskelenmiş cümlesidir. - OriginalText (
string): Yakalanan değerin içinde bulunduğu cümledir.
- Category (
Kullanım Örneği
using eBAPI;
using eBAPI.Connection;
using eBAPI.DocumentManagement;
List<MaskedDataOption> showOptions = new List<MaskedDataOption>
{
new MaskedDataOption
{
Category = DataCategories.FullName,
ActionType = DataMaskingActionTypes.RestrictedShow,
ActionValue = null,
RestrictedShowOptions = new Dictionary<DataRestrictedShowOptions, int>
{
{ DataRestrictedShowOptions.ShowFirstXCharacters, 3 }
}
},
new MaskedDataOption
{
Category = DataCategories.InstitutionName,
ActionType = DataMaskingActionTypes.Change,
ActionValue = "[Secret]",
RestrictedShowOptions = null
},
new MaskedDataOption
{
Category = DataCategories.Email,
ActionType = DataMaskingActionTypes.Hide,
ActionValue = null,
RestrictedShowOptions = null
},
new MaskedDataOption
{
Category = DataCategories.Address,
ActionType = DataMaskingActionTypes.ShowOnlyFirstCharacters,
ActionValue = null,
RestrictedShowOptions = null
}
};
public void CreateMaskedData()
{
eBAConnection con = CreateServerConnection();
con.Open();
DMMaskedDataCategoryCollection categories = con.FileSystem.CreateMaskedData("AI/biography_document.pdf", showOptions);
for (int i = 0; i < categories.Count; i++)
{
DMDataCategory caughtValue = categories[i];
int category = caughtValue.Category;
string value = caughtValue.Value;
float confidenceScore = caughtValue.ConfidenceScore;
string longText = caughtValue.LongText;
string format = caughtValue.Format;
string maskedText = caughtValue.MaskedText;
string maskedValue = caughtValue.MaskedValue;
string originalText = caughtValue.OriginalText;
}
con.Close();
}
CreateMaskedDocument
Bu metot verilen dokümanın içerisindeki maskelenmesi gereken verileri bulur ve bulduğu değerleri maskeleyerek dokümanın maskelenmiş halini DM üzerinde oluşturur.
Parametreler
- path (
string): Maskelenecek verilerin bulunacağı doküman yolu. - maskedDataOptions (
List<MaskedDataOption>): Hangi kategorilerin nasıl maskeleneceği ayarlarının yapıldığı parametredir.MaskedDataOptiontipinin özellikleri aşağıdaki şekildedir.- Category (
DataCategories): Hangi kategorinin yakalanacağını belirtir,DataCategoriesenum tipindedir. - ActionType (
DataMaskingActionTypes): Belirtilen Category değeri yakalanınca nasıl aksiyon alacağını belirtir,DataMaskingActionTypesenum tipindedir. - ActionValue (
string): ActionType değeri Change olarak seçildiğinde hangi değerle değiştirilmesi gerektiğini belirten parametredir. - RestrictedShowOptions (
Dictionary<DataRestrictedShowOptions, int>): ActionType değeri RestrictedShow olarak seçildiğinde korumalı görünüm formatlarının belirtildiği parametredir. Dictionary içinde ki her bir eşlemenin Key değeriDataRestrictedShowOptionsenum tipinde, Value değeri iseinttipindedir. Key değeri koruma formatını, value değeri ise bu koruma formatında ki X karakterine karşılık gelmektedir.
- Category (
- destination (
string): Bu parametre varsayılan olaraknulltanımlanmıştır zorunlu değildir.nullOlarak geçilirse yada bir değer verilmezse oluşturulan yeni doküman path parametresindeki konumda dosya isminin başına [MASKED] değeri eklenerek oluşturulur. Örneğin '[MASKED] Biography Document.pdf'. Eğer dolu gönderilecekse geçerli bir DM yolu olmalı ve doküman ismini içermelidir. Örneğin 'Masked Documents/2025/Ali Doğru.pdf'
Çıkış Değeri
- DMFile: Maskelenmiş dokümanın eBAPI.dll içerisinde ki halini tutmaktadır.
Kullanım Örneği
using eBAPI;
using eBAPI.Connection;
using eBAPI.DocumentManagement;
List<MaskedDataOption> showOptions = new List<MaskedDataOption>
{
new MaskedDataOption
{
Category = DataCategories.BankAccountNumber,
ActionType = DataMaskingActionTypes.RestrictedShow,
ActionValue = null,
RestrictedShowOptions = new Dictionary<DataRestrictedShowOptions, int>
{
{ DataRestrictedShowOptions.HideFirstLastXCharacters, 3 }
}
},
new MaskedDataOption
{
Category = DataCategories.Website,
ActionType = DataMaskingActionTypes.Change,
ActionValue = "[WEBSITE]",
RestrictedShowOptions = null
},
new MaskedDataOption
{
Category = DataCategories.Email,
ActionType = DataMaskingActionTypes.Hide,
ActionValue = null,
RestrictedShowOptions = null
},
new MaskedDataOption
{
Category = DataCategories.InvoiceNumber,
ActionType = DataMaskingActionTypes.ShowOnlyFirstCharacters,
ActionValue = null,
RestrictedShowOptions = null
}
};
public void CreateMaskedDocument()
{
eBAConnection con = CreateServerConnection();
con.Open()
DMFile file = con.FileSystem.CreateMaskedDocument("AI/biography_document.docx", showOptions);
con.Close();
}