Phần mở rộng ngăn chặn mất dữ liệu của Google Cloud

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Phiên bản: 1.5.1

Sử dụng tiện ích này để che dữ liệu nhạy cảm khỏi nội dung và hình ảnh. Ví dụ: bạn có thể che số thẻ tín dụng, tên và số an sinh xã hội.

Điều kiện tiên quyết

Nội dung này cung cấp tài liệu tham khảo để định cấu hình và sử dụng tiện ích này. Trước khi sử dụng tiện ích từ proxy API bằng Chính sách chú thích tiện ích, bạn phải:

  1. Bật API Google Cloud DLP cho dự án của bạn.

  2. Cấp quyền đối với cấp truy cập bạn muốn cho tiện ích.

  3. Sử dụng Bảng điều khiển của GCP để tạo khoá cho tài khoản dịch vụ.

  4. Sử dụng nội dung của tệp JSON chứa khoá thu được khi thêm và định cấu hình tiện ích bằng cách sử dụng tài liệu tham khảo về cấu hình.

Giới thiệu về tính năng Ngăn chặn mất dữ liệu (DLP) của Cloud

Tính năng Ngăn chặn mất dữ liệu (DLP) của Cloud là một API dùng để kiểm tra văn bản, hình ảnh và các dữ liệu khác nhằm xác định và quản lý dữ liệu nhạy cảm.

Để biết thêm thông tin, hãy xem bài viết Tổng quan về DLP. Để tham khảo API mà tiện ích này hiển thị, hãy xem API Ngăn chặn mất dữ liệu (DLP) của Cloud.

Mẫu

Ví dụ sau minh hoạ cách định cấu hình tính năng hỗ trợ các thao tác đối với tiện ích Cloud DLP bằng Chính sách về tiện ích.

Để giúp việc dùng thử mã mẫu này dễ dàng hơn, các ví dụ này sử dụng Chính sách GánMessage để đặt các giá trị biến luồng và truy xuất các giá trị phản hồi tiện ích để hiển thị trong Công cụ theo dõi.

Mặt nạ in hình các ngôi sao

Ví dụ này sử dụng thao tác deidentifyWithMask để che loại văn bản được chỉ định bằng một ký tự được chỉ định trong chính sách – ở đây là ký tự *.

Chính sách ToggleMessage sau đây đặt biến request.content để minh hoạ. Thông thường, bạn sẽ truy xuất nội dung yêu cầu từ yêu cầu của khách hàng.

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

Chính sách Chú thích tiện ích sau đây truy xuất giá trị biến request.content và chuyển giá trị đó tới một tiện ích DLP (Ngăn chặn mất dữ liệu) của Cloud (ở đây, có tên là example-dlp). Tiện ích đó đã được định cấu hình để che các giá trị dựa trên infoTypes URLEMAIL_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>

Chính sách ToggleMessage sau truy xuất kết quả của tiện ích để hiển thị trong công cụ Theo dõi.

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

Sau đây là ví dụ về kết quả của mã này.

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

Mặt nạ có tên

Ví dụ này sử dụng thao tác deidentifyWithType để che loại văn bản được chỉ định bằng tên loại thông tin. Ví dụ: việc này sẽ thay thế địa chỉ email gladys@example.com bằng EMAIL_ADDRESS.

Chính sách ToggleMessage sau đây đặt biến request.content để minh hoạ. Thông thường, bạn sẽ truy xuất nội dung yêu cầu từ yêu cầu của khách hàng.

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

Chính sách Chú thích tiện ích sau đây truy xuất giá trị biến request.content và chuyển giá trị đó sang một tiện ích DLP (Ngăn chặn mất dữ liệu) của Cloud (ở đây, có tên là example-dlp). Tiện ích đó đã được định cấu hình để che các giá trị dựa trên infoTypes URLEMAIL_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>

Chính sách ToggleMessage sau truy xuất kết quả của tiện ích để hiển thị trong công cụ Theo dõi.

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

Sau đây là ví dụ về kết quả của mã này.

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

Thao tác

deidentifyWithMask

Loại bỏ thông tin nhận dạng dữ liệu nhạy cảm khỏi text và che dữ liệu đó bằng ký tự mask. Thao tác này sẽ che các phần của text do thuộc tính infoTypes chỉ định trong cấu hình tiện ích.

Việc ẩn dữ liệu nhạy cảm sẽ thay thế các ký tự bằng ký tự, chẳng hạn như dấu hoa thị (*) hoặc dấu thăng (#). Bạn có thể định cấu hình các loại dữ liệu nhạy cảm trong cấu hình tiện ích.

Cú pháp

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

Ví dụ:

Trong ví dụ sau, dữ liệu đầu vào cho mặt nạ là một địa chỉ email được lưu trữ trong biến luồng input.email.address. Để hỗ trợ ví dụ cụ thể này, tiện ích này phải được định cấu hình để hỗ trợ infoType EMAIL_ADDRESS. Để biết danh sách các loại thông tin, hãy xem Tham chiếu trình phát hiện InfoType.

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

Kết quả của ví dụ này sẽ như sau:

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

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
text Văn bản cần loại bỏ thông tin nhận dạng. Chuỗi Không nội dung nào. Có.
đeo-khẩu-trang Ký tự dùng để che giấu dữ liệu nhạy cảm. Chuỗi Không nội dung nào. Có.

Phản hồi

Văn bản nhập có giá trị của các thông tin được chỉ định được thay thế bằng ký tự được chỉ định. Ví dụ:

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

deidentifyWithTemplate

Loại bỏ thông tin nhận dạng dữ liệu nhạy cảm trong nội dung văn bản bằng cách sử dụng một mẫu giúp định cấu hình văn bản cần loại bỏ thông tin nhận dạng và cách xử lý.

Mẫu rất hữu ích cho việc phân tách cấu hình, chẳng hạn như nội dung bạn kiểm tra và cách bạn loại bỏ cấu hình đó khỏi quá trình triển khai lệnh gọi API. Các mẫu cung cấp cách để sử dụng lại cấu hình và tạo ra tính nhất quán giữa các người dùng và tập dữ liệu.

Trong mẫu của mình, bạn cần chỉ định infoTypes đại diện nội dung để loại bỏ thông tin nhận dạng. Để biết danh sách các infoTypes, hãy xem tài liệu tham khảo về trình phát hiện InfoType. Việc loại bỏ thông tin nhận dạng sẽ che các phần văn bản do thuộc tính infoTypes chỉ định trong mẫu.

Cú pháp

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

Ví dụ:

Trong ví dụ sau, dữ liệu đầu vào để loại bỏ thông tin nhận dạng là nội dung yêu cầu do biến luồng request.content mang.

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

Kết quả của ví dụ này sẽ là nội dung yêu cầu đã loại bỏ thông tin nhận dạng.

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
text Văn bản cần loại bỏ thông tin nhận dạng. Đây là nội dung của quy trình loại bỏ thông tin nhận dạng. Đối tượng Không nội dung nào. Có.
templateName Mẫu sẽ sử dụng. Đây sẽ là đường dẫn đến mẫu có dạng sau: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Khi bạn tạo mẫu bằng Google API, hãy dùng giá trị thuộc tính name của phản hồi làm templateName. Chuỗi Không nội dung nào. Có.

Phản hồi

Văn bản nhập có giá trị của infoTypes được chỉ định được thay thế bằng tên infoType.

deidentifyWithType

Loại bỏ thông tin nhận dạng dữ liệu nhạy cảm trong nội dung văn bản, thay thế từng giá trị đã khớp bằng tên của infoType. Để biết danh sách các infoTypes, hãy xem tài liệu tham khảo về trình phát hiện InfoType. Thao tác này sẽ che các phần của text do thuộc tính infoTypes chỉ định trong cấu hình tiện ích.

Trong ví dụ sau, số điện thoại được dịch vụ nhận dạng, sau đó được thay thế bằng tên của chính infoType.

  • Văn bản nhập:

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

  • Văn bản kết quả:

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

Cú pháp

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

Ví dụ:

Trong ví dụ sau, dữ liệu đầu vào cho mặt nạ là một địa chỉ email được lưu trữ trong biến luồng input.email.address. Để hỗ trợ ví dụ cụ thể này, tiện ích này phải được định cấu hình để hỗ trợ infoType EMAIL_ADDRESS. Để biết danh sách các loại thông tin, hãy xem Tham chiếu trình phát hiện InfoType.

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

Kết quả của ví dụ này sẽ như sau:

{"text":"EMAIL_ADDRESS"}

Thông số yêu cầu

Thông số Nội dung mô tả Loại Mặc định Bắt buộc
text Văn bản cần loại bỏ thông tin nhận dạng. Chuỗi Không nội dung nào. Có.

Phản hồi

Văn bản nhập có giá trị của infoTypes được chỉ định được thay thế bằng tên infoType. Ví dụ:

{"text":"EMAIL_ADDRESS"}

redactImage

Loại bỏ văn bản thuộc một trong các danh mục infoType. Nội dung bị loại bỏ được phát hiện và che khuất bằng một hình chữ nhật mờ. Thao tác này sẽ che các phần của image_data do thuộc tính infoTypes chỉ định trong cấu hình tiện ích.

Để biết danh sách các infoTypes, hãy xem tài liệu tham khảo về trình phát hiện InfoType.

Thông số yêu cầu

<Action>redactImage</Action>
<Input><![CDATA[{
  "image_data" : "base64-encoded-image-to-analyze",
  "image_type" : "type-of-image"
}]]></Input>
Thông số Nội dung mô tả Loại Mặc định Bắt buộc
image_data Dữ liệu hình ảnh được mã hoá trong base64. Chuỗi Không nội dung nào. Có.
image_type Hằng số của loại hình ảnh. Các giá trị có thể sử dụng là IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG. Chuỗi Không nội dung nào. Có.

Phản hồi

Hình ảnh có văn bản đã bị che khuất.

Tài liệu tham khảo về cấu hình

Sử dụng các đoạn mã sau khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong các proxy API. Để biết các bước định cấu hình một tiện ích bằng bảng điều khiển Apigee, hãy xem bài viết Thêm và định cấu hình tiện ích.

Thuộc tính tiện ích phổ biến

Các thuộc tính sau có sẵn cho mỗi tiện ích.

Tài sản Mô tả Mặc định Bắt buộc
name Tên mà bạn đang đặt cho cấu hình của tiện ích này. Không có
packageName Tên của gói tiện ích do Apigee Edge cung cấp. Không có
version Số phiên bản của gói tiện ích mà bạn đang định cấu hình tiện ích. Không có
configuration Giá trị cấu hình cụ thể cho tiện ích bạn đang thêm. Xem Thuộc tính cho gói tiện ích này Không có

Các thuộc tính cho gói tiện ích này

Chỉ định giá trị cho các thuộc tính cấu hình sau dành riêng cho tiện ích này.

Tài sản Nội dung mô tả Mặc định Bắt buộc
projectId Mã dự án GCP có bật API Ngăn chặn mất dữ liệu trên đám mây. Không nội dung nào. Có.
infoTypes Các loại thông tin của dữ liệu nhạy cảm. Nếu bị bỏ qua, dịch vụ sẽ phát hiện tất cả các kiểu tích hợp. Để biết danh sách các loại thông tin được dịch vụ Google Cloud DLP hỗ trợ, hãy xem Tài liệu tham khảo về trình phát hiện InfoType. Không nội dung nào. Không.
thông tin xác thực Khi được nhập vào bảng điều khiển của Apigee Edge, đây là nội dung của tệp khoá tài khoản dịch vụ của bạn. Khi được gửi qua API quản lý, giá trị này là giá trị được mã hoá base64 từ tệp khoá tài khoản dịch vụ. Không nội dung nào. Có.