Google Cloud Veri Kaybını Önleme Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Sürüm: 1.5.2

İçerikler ve resimlerdeki hassas verileri gizlemek için bu uzantıyı kullanın. Örneğin, kredi kartı numaralarını, adları ve vatandaşlık numaralarını çıkartabilirsiniz.

Ön koşullar

Bu içerik, bu uzantının yapılandırılması ve kullanılması için referans sağlamaktadır. ExtensionCall politikası ile uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:

  1. Projeniz için Google Cloud DLP API'yi etkinleştirin.

  2. Uzantı için elde edeceğiniz erişim düzeyiyle ilgili izin verin.

  3. GCP Console'u kullanarak hizmet hesabı için bir anahtar oluşturun.

  4. Yapılandırma referansını kullanarak uzantıyı eklerken ve yapılandırırken sonuçta ortaya çıkan anahtar JSON dosyasının içeriğini kullanın.

Cloud Data Loss Prevention (DLP) hakkında

Cloud Data Loss Prevention (DLP), hassas verileri tespit edip yönetmek için metin, görüntü ve diğer verileri inceleyen bir API'dir.

Daha fazla bilgi için Veri Kaybını Önleme'ye genel bakış bölümünü inceleyin. Bu uzantının kullanıma sunduğu API'ye referans için Cloud Data Loss Prevention (DLP) API'ye bakın.

Örnekler

Aşağıdaki örneklerde, ExtensionDescription politikası kullanılarak Cloud DLP uzantı işlemleri için desteğin nasıl yapılandırılacağı gösterilmektedir.

Bu örnek kodu denemeyi kolaylaştırmak için bu örneklerde, akış değişkeni değerlerini ayarlamak ve İzleme aracında gösterilmek üzere uzantı yanıt değerlerini almak için bir Atama politikası kullanılmaktadır.

Üzerinde yıldızlar olan maske

Bu örnekte, belirtilen metin türlerini politikada belirtilen bir karakterle (burada * karakteri) maskelemek için deidentifyWithMask işlemi kullanılmaktadır.

AşağıdakiassignMessage politikası, request.content değişkenini açıklama amacıyla ayarlamaktadır. Normalde istek içeriğini istemcinin isteğinden alırsınız.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
    <DisplayName>Set Variable</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <AssignVariable>
        <Name>request.content</Name>
        <Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
    </AssignVariable>
</AssignMessage>

Aşağıdaki ExtensionDescription politikası, request.content değişken değerini alıp bir Cloud Veri Kaybını Önleme uzantısına (burada example-dlp olarak adlandırılmıştır) iletir. Bu uzantı, değerleri URL ve EMAIL_ADDRESS infoTypes değerlerine göre maskeleyecek şekilde yapılandırılmış.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
    <DisplayName>Data Loss Prevention Extension Callout</DisplayName>
    <Connector>example-dlp</Connector>
    <Action>deidentifyWithMask</Action>
    <Input><![CDATA[{
        "text" : "{request.content}",
        "mask" : "*"
    }]]></Input>
    <Output>masked.output</Output>
</ConnectorCallout>

Aşağıdaki AttributionMessage politikası, Trace aracında gösterilmek üzere uzantının çıkışını alır.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
    <DisplayName>Get DLP Output</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{masked.output}</Payload>
    </Set>
</AssignMessage>

Aşağıda, bu koddan elde edilen çıkışa bir örnek verilmiştir.

{"text":"Visit my site at ******************* Or contact me at *****************."}

Adlı maske

Bu örnekte, belirtilen metin türlerini bilgi türü adıyla maskelemek için deidentifyWithType işlemi kullanılmaktadır. Örneğin, gladys@example.com e-posta adresi EMAIL_ADDRESS ile değiştirilir.

AşağıdakiassignMessage politikası, request.content değişkenini açıklama amacıyla ayarlamaktadır. Normalde istek içeriğini istemcinin isteğinden alırsınız.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
    <DisplayName>Set Variable</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <AssignVariable>
        <Name>request.content</Name>
        <Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
    </AssignVariable>
</AssignMessage>

Aşağıdaki ExtensionAçıklama politikası, request.content değişken değerini alıp bir Cloud Veri Kaybını Önleme uzantısına (burada example-dlp olarak adlandırılmıştır) iletir. Bu uzantı, değerleri URL ve EMAIL_ADDRESS infoTypes değerlerine göre maskeleyecek şekilde yapılandırılmış.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
    <DisplayName>Data Loss Prevention Extension Callout</DisplayName>
    <Connector>example-dlp</Connector>
    <Action>deidentifyWithType</Action>
    <Input><![CDATA[{
        "text" : "{request.content}"
    }]]></Input>
    <Output>masked.output</Output>
</ConnectorCallout>

Aşağıdaki AttributionMessage politikası, Trace aracında gösterilmek üzere uzantının çıkışını alır.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
    <DisplayName>Get DLP Output</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{masked.output}</Payload>
    </Set>
</AssignMessage>

Aşağıda, bu koddan elde edilen çıkışa bir örnek verilmiştir.

{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}

İşlemler

deidentifyWithMask

text alanındaki hassas verilerin kimliğini gizleyin ve verileri mask karakteriyle maskeleyin. Bu işlem, uzantı yapılandırmasındaki infoTypes özelliği tarafından belirtilen text bölümlerini maskeler.

Hassas verileri maskelemek, karakterleri yıldız işareti (*) veya karma (#) gibi bir sembolle değiştirir. Hassas veri türleri, uzantı yapılandırmasında yapılandırılabilir.

Söz dizimi

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify",
  "mask" : "masking-character"
}]]></Input>

Örnek

Aşağıdaki örnekte, maske girişi, input.email.address akış değişkeninde depolanan bir e-posta adresidir. Bu örneği desteklemek için bu uzantının EMAIL_ADDRESS infoType'ı destekleyecek şekilde yapılandırılmış olması gerekir. infoType'ların listesi için InfoType Detector Reference (Bilgi Türü Dedektör Referansı) bölümüne bakın.

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}",
    "mask" : "*"
}]]></Input>
<Output>masked.output</Output>

Bu örnek için çıktı aşağıdaki gibi olur:

{"text":"*****************"}

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
text (metin) Kimliği gizlenecek metin. Dize Yok. Evet.
maske Hassas verileri maskelemek için kullanılacak karakter. Dize Yok. Evet.

Yanıt

Belirtilen infoType'ların değerlerinin yer aldığı giriş metni, belirtilen karakterle değiştirilir. Örneğin,

{"text":"*********"}

deidentifyWithTemplate

Hangi metnin kimliği gizleneceğini ve bu metnin nasıl işleneceğini yapılandıran bir şablon kullanarak metin içeriğindeki hassas verilerin kimliğini gizleyin.

Şablonlar, ne için incelediğiniz ve API çağrılarınızın uygulanmasındaki kimliğini nasıl gizlediğiniz gibi yapılandırmaların ayrıştırılmasında yararlıdır. Şablonlar, yapılandırmayı yeniden kullanmanın bir yolunu sunar ve kullanıcılar ile veri kümeleri arasında tutarlılık sağlar.

Şablonunuzda, kimliğini gizlemek için içeriği temsil eden infoTypes değerini belirtirsiniz. infoType'ların listesi için InfoType algılayıcı referansı bölümüne bakın. Kimliğin gizlenmesi, şablondaki infoTypes özelliği tarafından belirtilen metnin bu bölümlerini maskeler.

Söz dizimi

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify"
  "templateName" : "path-to-template"
}]]></Input>

Örnek

Aşağıdaki örnekte, kimlik gizleme işlemi, request.content akış değişkeni tarafından taşınan istek gövdesidir.

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
    "text" : "{request.content}"
    "templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>

Bu örneğin sonucu, kimliği gizlenmiş istek içeriği olur.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
text (metin) Kimliği gizlenecek metin. Kimlik gizleme sürecinin amacı budur. Nesne Yok. Evet.
templateName Kullanılacak şablon. Bu, şablona şu biçimde giden bir yoldur: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Google API ile şablonu oluşturduğunuzda yanıtın name özellik değerini templateName olarak kullanın. Dize Yok. Evet.

Yanıt

Belirtilen infoType'ların değerlerinin yer aldığı giriş metni, infoType adlarıyla değiştirilir.

deidentifyWithType

Metin içeriğindeki hassas verilerin kimliğini gizleyerek her eşleşen değeri infoType'ın adıyla değiştirin. infoType'ların listesi için InfoType algılayıcı referansı bölümüne bakın. Bu işlem, uzantı yapılandırmasındaki infoTypes özelliği tarafından belirtilen text bölümlerini maskeler.

Aşağıdaki örnekte telefon numarası hizmet tarafından tanınır ve ardından infoType'ın adıyla değiştirilir.

  • Giriş metni:

    John Smith, 123 Main St, Seattle, WA 98122, 206-555-0123.

  • Sonuç metni:

    John Smith, 123 Main St, Seattle, WA 98122, PHONE_NUMBER.

Söz dizimi

<Action>deidentifyWithType</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify"
}]]></Input>

Örnek

Aşağıdaki örnekte, maske girişi, input.email.address akış değişkeninde depolanan bir e-posta adresidir. Bu örneği desteklemek için bu uzantının EMAIL_ADDRESS infoType'ı destekleyecek şekilde yapılandırılmış olması gerekir. infoType'ların listesi için InfoType Detector Reference (Bilgi Türü Dedektör Referansı) bölümüne bakın.

<Action>deidentifyWithType</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}"
}]]></Input>

Bu örnek için çıktı aşağıdaki gibi olur:

{"text":"EMAIL_ADDRESS"}

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
text (metin) Kimliği gizlenecek metin. Dize Yok. Evet.

Yanıt

Belirtilen infoType'ların değerlerinin yer aldığı giriş metni, infoType adlarıyla değiştirilir. Örneğin,

{"text":"EMAIL_ADDRESS"}

redactImage

infoType kategorilerinden birine denk gelen metinleri çıkartma. Çıkartılan içerik algılanır ve opak bir dikdörtgenle bulanıklaştırılır. Bu işlem, uzantı yapılandırmasındaki infoTypes özelliği tarafından belirtilen image_data bölümlerini maskeler.

infoType'ların listesi için InfoType algılayıcı referansı bölümüne bakın.

İstek parametreleri

<Action>redactImage</Action>
<Input><![CDATA[{
  "image_data" : "base64-encoded-image-to-analyze",
  "image_type" : "type-of-image"
}]]></Input>
Parametre Açıklama Tür Varsayılan Zorunlu
image_data base64'te kodlanan görüntü verileri. Dize Yok. Evet.
image_type Resim türünün sabit değeri. Kullanılabilir değerler şunlardır: IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG. Dize Yok. Evet.

Yanıt

Metin içeren resim çıkartıldı.

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanmak üzere yapılandırıp dağıtırken aşağıdakileri kullanın. Apigee konsolunu kullanarak uzantı yapılandırma adımları için Uzantı ekleme ve yapılandırma'ya bakın.

Sık kullanılan uzantı özellikleri

Aşağıdaki özellikler her uzantı için mevcuttur.

Mülk Açıklama Varsayılan Zorunlu
name Uzantının bu yapılandırmasını verdiğiniz ad. Yok Evet
packageName Apigee Edge'in sağladığı uzantı paketinin adı. Yok Evet
version Uzantıyı yapılandırdığınız uzantı paketinin sürüm numarası. Yok Evet
configuration Eklediğiniz uzantıya özgü yapılandırma değeri. Bu uzantı paketinin özellikleri başlıklı makaleyi inceleyin Yok Evet

Bu uzantı paketinin özellikleri

Bu uzantıya özel aşağıdaki yapılandırma özelliklerinin değerlerini belirtin.

Özellik Açıklama Varsayılan Zorunlu
proje kimliği Cloud Data Loss Prevention API'nin etkinleştirildiği GCP projesinin kimliği. Yok. Evet.
infoTypes Hassas verilerin bilgi türleri. Atlanırsa hizmet tüm yerleşik türleri algılar. Google Cloud Veri Kaybını Önleme hizmeti tarafından desteklenen infoType'ların listesi için InfoType Dedektör Referansı'na bakın. Yok. Sıra
giriş bilgileri Apigee Edge konsoluna girildiğinde hizmet hesabı anahtar dosyanızın içeriği bu şekildedir. Management API aracılığıyla gönderildiğinde, hizmet hesabı anahtar dosyasından oluşturulan base64 kodlu bir değerdir. Yok. Evet.