ส่วนขยายการป้องกันข้อมูลรั่วไหลของ Google Cloud

คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เวอร์ชัน: 2.0.0

ใช้ส่วนขยายนี้เพื่อปกปิดข้อมูลที่ละเอียดอ่อนจากเนื้อหาและรูปภาพ เช่น คุณอาจปกปิดหมายเลขบัตรเครดิต ชื่อ และหมายเลขประกันสังคม

ข้อกำหนดเบื้องต้น

เนื้อหานี้ให้ข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้ คุณต้องดำเนินการต่อไปนี้ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout

  1. เปิดใช้ Google Cloud DLP API สำหรับโปรเจ็กต์ของคุณ

  2. ให้สิทธิ์สำหรับระดับการเข้าถึงที่ต้องการสำหรับส่วนขยาย

  3. ใช้คอนโซล GCP เพื่อสร้างคีย์สําหรับบัญชีบริการ

  4. ใช้เนื้อหาของไฟล์คีย์ JSON ที่ได้เมื่อเพิ่มและกําหนดค่าส่วนขยายโดยใช้ข้อมูลอ้างอิงการกําหนดค่า

เกี่ยวกับการป้องกันข้อมูลรั่วไหล (DLP) ในระบบคลาวด์

Cloud Data Loss Prevention (DLP) คือ API สําหรับตรวจสอบข้อความ รูปภาพ และข้อมูลอื่นๆ เพื่อระบุและจัดการข้อมูลที่ละเอียดอ่อน

ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของ DLP ดูข้อมูลอ้างอิงเกี่ยวกับ API ที่ส่วนขยายนี้แสดงได้ที่ Cloud Data Loss Prevention (DLP) API

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงวิธีกำหนดค่าการรองรับการดำเนินการของส่วนขยาย DLP บนระบบคลาวด์โดยใช้นโยบาย ExtensionCallout

ตัวอย่างเหล่านี้ใช้นโยบาย AssignMessage เพื่อตั้งค่าตัวแปรของโฟลว์และดึงค่าการตอบกลับของส่วนขยายเพื่อแสดงในเครื่องมือการติดตาม เพื่อให้ลองใช้โค้ดตัวอย่างนี้ได้ง่ายขึ้น

หน้ากากที่มีดาว

ตัวอย่างนี้ใช้การดำเนินการ deidentifyWithMask เพื่อปกปิดข้อความประเภทที่ระบุด้วยอักขระที่ระบุไว้ในนโยบาย ซึ่งในกรณีนี้คืออักขระ *

นโยบาย AssignMessage ต่อไปนี้ตั้งค่าตัวแปร request.content เพื่อใช้เป็นภาพประกอบ โดยปกติแล้ว คุณจะต้องดึงข้อมูลเนื้อหาคำขอจากคำขอของลูกค้า

<?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>

นโยบาย ExtensionCallout ต่อไปนี้จะดึงค่าตัวแปร request.content และส่งไปยังส่วนขยาย Cloud DLP (ในที่นี้เรียกว่า example-dlp) ส่วนขยายดังกล่าวได้รับการกําหนดค่าให้มาสก์ค่าตาม infoTypes URL และ EMAIL_ADDRESS

<?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>

นโยบาย AssignMessage ต่อไปนี้จะดึงข้อมูลเอาต์พุตของส่วนขยายเพื่อแสดงในเครื่องมือการติดตาม

<?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>

ต่อไปนี้เป็นตัวอย่างเอาต์พุตจากโค้ดนี้

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

หน้ากากพร้อมชื่อ

ตัวอย่างนี้ใช้การดำเนินการ deidentifyWithType เพื่อมาสก์ข้อความประเภทที่ระบุด้วยชื่ออินโฟเทype นั้นๆ เช่น แทนที่อีเมล gladys@example.com ด้วย EMAIL_ADDRESS

นโยบาย AssignMessage ต่อไปนี้ตั้งค่าตัวแปร request.content เพื่อใช้เป็นภาพประกอบ โดยปกติแล้ว คุณจะต้องดึงข้อมูลเนื้อหาคำขอจากคำขอของลูกค้า

<?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>

นโยบาย ExtensionCallout ต่อไปนี้จะดึงค่าตัวแปร request.content และส่งไปยังส่วนขยาย DLP ของ Cloud (ในที่นี้เรียกว่า example-dlp) ส่วนขยายดังกล่าวได้รับการกําหนดค่าให้มาสก์ค่าตาม infoTypes ของ URL และ EMAIL_ADDRESS

<?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>

นโยบาย AssignMessage ต่อไปนี้จะดึงข้อมูลเอาต์พุตของส่วนขยายเพื่อแสดงในเครื่องมือการติดตาม

<?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>

ต่อไปนี้เป็นตัวอย่างเอาต์พุตจากโค้ดนี้

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

การทำงาน

deidentifyWithMask

ลบการระบุตัวตนของข้อมูลที่ละเอียดอ่อนจาก text และมาสก์ข้อมูลด้วยอักขระ mask การดำเนินการนี้จะมาสก์ส่วนต่างๆ ของ text ที่ระบุโดยพร็อพเพอร์ตี้ infoTypes ในการกำหนดค่าส่วนขยาย

การปกปิดข้อมูลที่ละเอียดอ่อนจะแทนที่อักขระด้วยสัญลักษณ์ เช่น เครื่องหมายดอกจัน (*) หรือเครื่องหมายทับ (#) คุณสามารถกําหนดค่าประเภทข้อมูลที่ละเอียดอ่อนในการกําหนดค่าส่วนขยาย

ไวยากรณ์

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

ตัวอย่าง

ในตัวอย่างต่อไปนี้ อินพุตที่จะมาสก์คืออีเมลที่จัดเก็บไว้ในตัวแปรโฟลว์ input.email.address หากต้องการรองรับตัวอย่างที่เฉพาะเจาะจงนี้ ส่วนขยายนี้ต้องได้รับการกําหนดค่าให้รองรับ InfoType EMAIL_ADDRESS ดูรายการ infoTypes ได้ที่ข้อมูลอ้างอิงเกี่ยวกับเครื่องมือตรวจจับ InfoType

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

เอาต์พุตของตัวอย่างนี้จะมีลักษณะดังนี้

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

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
ข้อความ ข้อความที่จะลบการระบุตัวตน สตริง ไม่มี ได้
มาสก์ อักขระที่จะใช้เพื่อปกปิดข้อมูลที่ละเอียดอ่อน สตริง ไม่มี ได้

การตอบกลับ

ข้อความอินพุตที่มีค่าของ infoTypes ที่ระบุซึ่งแทนที่ด้วยอักขระที่ระบุ ตัวอย่างเช่น

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

deidentifyWithTemplate

ลบการระบุตัวตนข้อมูลที่ละเอียดอ่อนในเนื้อหาข้อความโดยใช้เทมเพลตที่กำหนดค่าข้อความที่จะลบการระบุตัวตนและวิธีจัดการ

เทมเพลตมีประโยชน์ในการแยกการกำหนดค่า เช่น สิ่งที่คุณตรวจสอบและวิธีลบการระบุตัวตนออกจากการติดตั้งใช้งานการเรียก API เทมเพลตเป็นวิธีใช้การกำหนดค่าซ้ำและช่วยให้ผู้ใช้และชุดข้อมูลต่างๆ มีความสอดคล้องกัน

ในเทมเพลต คุณจะระบุ infoTypes ที่แสดงถึงเนื้อหาที่จะลบการระบุตัวตน ดูรายการ infoType ได้ที่ข้อมูลอ้างอิงเกี่ยวกับตัวตรวจจับ InfoType การลบการระบุจะปิดบังส่วนข้อความที่ระบุโดยพร็อพเพอร์ตี้ infoTypes ในเทมเพลต

ไวยากรณ์

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

ตัวอย่าง

ในตัวอย่างต่อไปนี้ อินพุตสำหรับการลบการระบุตัวตนคือเนื้อหาของคำขอที่ request.content ตัวแปรขั้นตอนนําไป

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

เอาต์พุตของตัวอย่างนี้คือเนื้อหาคำขอที่มีการลบการระบุตัวตนออก

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
ข้อความ ข้อความที่จะลบการระบุตัวตน ข้อมูลนี้จะเป็นข้อมูลที่ใช้ดำเนินการในกระบวนการลบการระบุตัวตน วัตถุ ไม่มี ได้
templateName เทมเพลตที่จะใช้ เส้นทางนี้จะเป็นเส้นทางไปยังเทมเพลตในรูปแบบ projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID เมื่อสร้างเทมเพลตด้วย Google API ให้ใช้ค่าพร็อพเพอร์ตี้ name ของคำตอบเป็น templateName สตริง ไม่มี ได้

การตอบกลับ

ข้อความอินพุตที่มีค่าของ infoTypes ที่ระบุจะแทนที่ด้วยชื่อ infoType

deidentifyWithType

ลบการระบุตัวตนของข้อมูลที่ละเอียดอ่อนในเนื้อหาข้อความ โดยแทนที่ค่าที่ตรงกันแต่ละค่าด้วยชื่อของ infoType ดูรายการ infoType ได้ที่ข้อมูลอ้างอิงเกี่ยวกับตัวตรวจจับ InfoType การดำเนินการนี้จะมาสก์ส่วนต่างๆ ของ text ที่ระบุโดยพร็อพเพอร์ตี้ infoTypes ในการกำหนดค่าส่วนขยาย

ในตัวอย่างนี้ บริการจะจดจำหมายเลขโทรศัพท์ แล้วแทนที่ด้วยชื่อของ infoType นั้นๆ

  • ป้อนข้อความ

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

  • ข้อความผลลัพธ์

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

ไวยากรณ์

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

ตัวอย่าง

ในตัวอย่างต่อไปนี้ อินพุตที่จะมาสก์คืออีเมลที่จัดเก็บไว้ในตัวแปรโฟลว์ input.email.address หากต้องการรองรับตัวอย่างที่เฉพาะเจาะจงนี้ ส่วนขยายนี้ต้องได้รับการกําหนดค่าให้รองรับ InfoType EMAIL_ADDRESS ดูรายการ infoTypes ได้ที่ข้อมูลอ้างอิงเกี่ยวกับเครื่องมือตรวจจับ InfoType

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

เอาต์พุตของตัวอย่างนี้จะมีลักษณะดังนี้

{"text":"EMAIL_ADDRESS"}

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
ข้อความ ข้อความที่จะลบการระบุตัวตน สตริง ไม่มี ได้

การตอบกลับ

ข้อความอินพุตที่มีค่าของ infoTypes ที่ระบุจะแทนที่ด้วยชื่อ infoType ตัวอย่างเช่น

{"text":"EMAIL_ADDRESS"}

redactImage

ปกปิดข้อความที่ตรงกับหมวดหมู่ infoType ใดหมวดหมู่หนึ่ง ระบบจะตรวจหาเนื้อหาที่ถูกปกปิดและปิดบังด้วยสี่เหลี่ยมผืนผ้าทึบ การดำเนินการนี้จะมาสก์ส่วนต่างๆ ของ image_data ที่ระบุโดยพร็อพเพอร์ตี้ infoTypes ในการกำหนดค่าส่วนขยาย

ดูรายการ infoType ได้ที่ข้อมูลอ้างอิงเกี่ยวกับเครื่องมือตรวจจับ InfoType

พารามิเตอร์คำขอ

<Action>redactImage</Action>
<Input><![CDATA[{
  "image_data" : "base64-encoded-image-to-analyze",
  "image_type" : "type-of-image"
}]]></Input>
พารามิเตอร์ คำอธิบาย ประเภท ค่าเริ่มต้น ต้องระบุ
image_data ข้อมูลรูปภาพที่เข้ารหัสฐาน 64 สตริง ไม่มี ได้
image_type ค่าคงที่ของประเภทรูปภาพ ค่าที่ใช้ได้ ได้แก่ IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG สตริง ไม่มี ได้

การตอบกลับ

รูปภาพที่มีข้อความปกปิด

ข้อมูลอ้างอิงการกําหนดค่า

ใช้ข้อมูลต่อไปนี้เมื่อกําหนดค่าและติดตั้งใช้งานส่วนขยายนี้เพื่อใช้ในพร็อกซี API ดูขั้นตอนการกำหนดค่าส่วนขยายโดยใช้คอนโซล Apigee ได้ที่การเพิ่มและกําหนดค่าส่วนขยาย

พร็อพเพอร์ตี้ส่วนขยายทั่วไป

พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น ต้องระบุ
name ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย ไม่มี ได้
packageName ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge ไม่มี ได้
version หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย ไม่มี ได้
configuration ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ ไม่มี ได้

พร็อพเพอร์ตี้ของแพ็กเกจส่วนขยายนี้

ระบุค่าสำหรับพร็อพเพอร์ตี้การกําหนดค่าต่อไปนี้ที่เจาะจงสําหรับส่วนขยายนี้

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น ต้องระบุ
projectId รหัสโปรเจ็กต์ GCP ที่เปิดใช้ Cloud Data Loss Prevention API ไม่มี ได้
infoTypes ประเภทข้อมูลของข้อมูลที่ละเอียดอ่อน หากละไว้ บริการจะตรวจหาประเภทในตัวทั้งหมด ดูรายการ infoTypes ที่บริการ DLP ของ Google Cloud รองรับได้ที่ข้อมูลอ้างอิงเกี่ยวกับตัวตรวจหา InfoType ไม่มี ไม่
ข้อมูลเข้าสู่ระบบ เมื่อป้อนในคอนโซล Apigee Edge เนื้อหาของไฟล์คีย์บัญชีบริการจะเป็นดังนี้ เมื่อส่งผ่าน Management API ค่าจะเป็นค่าที่เข้ารหัส Base64 ที่สร้างขึ้นจากไฟล์คีย์ของบัญชีบริการ ไม่มี ได้