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

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Sürüm: 1.5.1

İçerikler ve resimlerdeki hassas verileri gizlemek için bu uzantıyı kullanın. Örneğin, kredi kartı numaralarını, adları ve sosyal güvenlik numaralarını çıkarabilirsiniz.

Ön koşullar

Bu içerik, bu uzantıyı yapılandırmak ve kullanmak için referans sağlar. ExtensionExtension politikasını kullanarak bir API proxy'sinden uzantıyı kullanmadan önce:

  1. Projeniz için Google Cloud Veri Kaybını Önleme API'sini etkinleştirin.

  2. Uzantı için istediğiniz erişim düzeyi için izin verin.

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

  4. Uzantıyı yapılandırma referansını kullanarak ekleyip yapılandırırken, elde edilen anahtar JSON dosyasının içeriğini kullanın.

Cloud Data Loss Prevention (DLP) hakkında

Cloud Veri Kaybını Önleme (DLP), hassas verileri tespit edip yönetmek için metin, resim 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 sunduğu API ile ilgili bilgi için Cloud Data Loss Prevention (DLP) API konusuna bakın.

Sana Özel

Aşağıdaki örnekler, Extension callout politikası kullanılarak Cloud Veri Kaybını Önleme uzantı işlemleri için desteğin nasıl yapılandırılacağını gösterir.

Bu örnek kodun daha kolay bir şekilde denenmesi için bu örneklerde, akış değişkeni değerlerini ayarlamak ve İzleme aracında görüntülenecek uzantı yanıt değerlerini almak üzere bir assignMessage politikası kullanılmaktadır.

Yıldızlı maske

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

Aşağıdaki AtaMessage politikası, request.content değişkenini örnek amaçlı olarak ayarlar. 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 Extension callout politikası, request.content değişken değerini alır ve bir Cloud Veri Kaybını Önleme uzantısına (burada example-dlp olarak adlandırılır) iletir. Bu uzantı, değerleri URL ve EMAIL_ADDRESS infoTypes öğelerine göre maskeleyecek şekilde yapılandırılmıştır.

<?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ı, uzantının çıktısını İzleme aracında görüntülenmek üzere 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 alınan bir çıkış örneği verilmiştir.

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

Adı olan 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ğıdaki AtaMessage politikası, request.content değişkenini örnek amaçlı olarak ayarlar. 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ır ve bir Cloud Veri Kaybını Önleme uzantısına iletir (burada example-dlp olarak adlandırılır). Bu uzantı, değerleri URL ve EMAIL_ADDRESS infoTypes'a göre maskeleyecek şekilde yapılandırılmıştır.

<?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ı, uzantının çıktısını İzleme aracında görüntülenmek üzere 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 alınan bir çıkış örneği 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 maskeleme, karakterleri yıldız işareti (*) veya karma (#) ile 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 maskeleme girişi, input.email.address akış değişkeninde depolanan bir e-posta adresidir. Söz konusu örneği desteklemesi için söz konusu uzantının EMAIL_ADDRESS infoType'ı destekleyecek şekilde yapılandırılmış olması gerekir. infoType'ların listesi için InfoType Detector Reference (InfoType 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 Gerekli
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ğerlerini içeren giriş metni, belirtilen karakterle değiştirilir. Örneğin,

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

deidentifyWithTemplate

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

Şablonlar, neyi denetlediğiniz ve API çağrılarınızın uygulanmasıyla ilişkili kimliğini nasıl gizlediğiniz gibi yapılandırmayı ayırmak için kullanışlıdır. Şablonlar, yapılandırmayı yeniden kullanmak için bir yol sunar ve kullanıcılar ile veri kümeleri arasında tutarlılık sağlar.

Şablonunuzda, kimliği gizlenecek içeriği temsil eden infoTypes'ı belirtirsiniz. infoType'ların listesi için InfoType algılayıcı referansı bölümüne bakın. Şablonda infoTypes özelliği tarafından belirtilen metin bölümlerinin maskeleri kimliği gizlenir.

Söz dizimi

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

Örnek

Aşağıdaki örnekte, kimliği gizlenecek giriş 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 çıkışı, kimliği gizlenmiş istek içeriği olur.

İstek parametreleri

Parametre Açıklama Tür Varsayılan Gerekli
text (metin) Kimliği gizlenecek metin. Kimlik gizleme süreci de buna göre çalışır. Nesne Yok. Evet.
templateName Kullanılacak şablon. Bu, şu biçimde şablona giden bir yol olacaktır: 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ğerlerini içeren giriş metni, infoType adlarıyla değiştirildi.

deidentifyWithType

Metin içeriğindeki hassas verilerin kimliğini gizleyerek eşleşen her 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 infoType'ın kendi adıyla değiştirilir.

  • Girdi 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 maskeleme girişi, input.email.address akış değişkeninde depolanan bir e-posta adresidir. Söz konusu örneği desteklemesi için söz konusu uzantının EMAIL_ADDRESS infoType'ı destekleyecek şekilde yapılandırılmış olması gerekir. infoType'ların listesi için InfoType Detector Reference (InfoType 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 Gerekli
text (metin) Kimliği gizlenecek metin. Dize Yok. Evet.

Yanıt

Belirtilen infoType'ların değerlerini içeren giriş metni, infoType adlarıyla değiştirildi. Örneğin,

{"text":"EMAIL_ADDRESS"}

redactImage

infoType kategorilerinden birine giren metinleri çıkartın. Çıkartılan içerik algılanır ve opak bir dikdörtgenle gizlenir. 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 Gerekli
image_data Base64'te kodlanmış görüntü verileri. Dize Yok. Evet.
image_type Resim türünün sabitidir. Kullanılabilir değerler: IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG. Dize Yok. Evet.

Yanıt

Çıkartılan metin içeren resim.

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanmak üzere yapılandırırken ve 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 bölümüne 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 özgü aşağıdaki yapılandırma özellikleri için değerler belirtin.

Özellik Açıklama Varsayılan Gerekli
projectId 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ı'nı inceleyin. Yok. Hayır
giriş bilgileri Apigee Edge konsoluna girildiğinde, hizmet hesabı anahtar dosyanızın içeriği budur. Yönetim API'si aracılığıyla gönderildiğinde, hizmet hesabı anahtar dosyasından oluşturulan base64 kodlu bir değerdir. Yok. Evet.