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

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

เวอร์ชัน: 2.0.2

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

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

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

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

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

  3. ใช้ Google Cloud Console เพื่อสร้างคีย์สำหรับบัญชีบริการ

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

เกี่ยวกับ Cloud Data Loss Prevention (DLP)

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

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

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าการรองรับการดำเนินการของส่วนขยาย Cloud 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 เพื่อมาสก์ข้อความประเภทที่ระบุด้วยชื่อ Infotype เอง เช่น จะแทนที่อีเมล 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 และส่งไปยังส่วนขยาย 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>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 เพื่อรองรับตัวอย่างนี้โดยเฉพาะ ดูรายการ infoType ได้ที่ข้อมูลอ้างอิงเกี่ยวกับเครื่องมือตรวจจับ infoType

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

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

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

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

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

การตอบกลับ

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

{"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 สตริง ไม่มี ได้

การตอบกลับ

ข้อความอินพุตที่มีค่าของ infoType ที่ระบุจะถูกแทนที่ด้วยชื่อ 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 เพื่อรองรับตัวอย่างนี้โดยเฉพาะ ดูรายการ infoType ได้ที่ข้อมูลอ้างอิงเกี่ยวกับเครื่องมือตรวจจับ infoType

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

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

{"text":"EMAIL_ADDRESS"}

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

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

การตอบกลับ

ข้อความอินพุตที่มีค่าของ infoType ที่ระบุจะถูกแทนที่ด้วยชื่อ 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 ข้อมูลรูปภาพที่เข้ารหัสใน Base64 สตริง ไม่มี ได้
image_type ค่าคงที่ของประเภทรูปภาพ ค่าที่ใช้ได้คือ IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG สตริง ไม่มี ได้

การตอบกลับ

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

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

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

คุณสมบัติส่วนขยายทั่วไป

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

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

พร็อพเพอร์ตี้สำหรับแพ็กเกจส่วนขยายนี้

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

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