Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào tài liệu Apigee X. Thông tin
Phiên bản: 2.0.2
Sử dụng tiện ích này để che khuất dữ liệu nhạy cảm trong 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 thông tin 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ừ một proxy API bằng chính sách ExtensionCallout, bạn phải:
Bật Google Cloud DLP API cho dự án của bạn.
Cấp quyền cho cấp độ truy cập mà bạn muốn cấp cho tiện ích.
Sử dụng Google Cloud Console để tạo khoá cho tài khoản dịch vụ.
Sử dụng nội dung của tệp JSON 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ề Cloud Data Loss Prevention (DLP)
Cloud Data Loss Prevention (DLP) là một API để 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 cung cấp, hãy xem API Ngăn chặn mất dữ liệu (DLP) trên đám mây.
Mẫu
Các ví dụ sau đây minh hoạ cách định cấu hình chế độ hỗ trợ cho các thao tác của tiện ích Cloud DLP bằng cách sử dụng chính sách ExtensionCallout.
Để giúp bạn dễ dàng dùng thử mã mẫu này, các ví dụ này sử dụng chính sách AssignMessage để đặt giá trị biến luồng và truy xuất giá trị phản hồi của tiện ích để hiển thị trong Công cụ theo dõi.
Mặt nạ có hình ngôi sao
Ví dụ này sử dụng thao tác deidentifyWithMask để che các 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 AssignMessage sau đây đặt biến request.content cho mục đích 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 ứng dụng khách.
<?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 ExtensionCallout sau đây truy xuất giá trị biến request.content và truyền giá trị đó đến một tiện ích Cloud DLP (ở đây gọi là example-dlp). Tiện ích đó đã được định cấu hình để che giấu các giá trị dựa trên infoTypes URL và 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>
Chính sách AssignMessage sau đây truy xuất đầu ra của tiện ích để hiển thị trong công cụ Dấu vết.
<?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à một ví dụ về đầu ra 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 các loại văn bản được chỉ định bằng chính tên loại thông tin. Ví dụ: nó sẽ thay thế địa chỉ email gladys@example.com bằng EMAIL_ADDRESS.
Chính sách AssignMessage sau đây đặt biến request.content cho mục đích 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 ứng dụng khách.
<?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 ExtensionCallout sau đây truy xuất giá trị biến request.content và truyền giá trị đó đến một tiện ích Cloud DLP (ở đây gọi là example-dlp). Tiện ích đó đã được định cấu hình để che các giá trị dựa trên infoTypes URL và 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>
Chính sách AssignMessage sau đây truy xuất đầu ra của tiện ích để hiển thị trong công cụ Dấu vết.
<?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à một ví dụ về đầu ra của mã này.
{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}
Thao tác
deidentifyWithMask
Xoá 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 những phần của text do thuộc tính infoTypes chỉ định trong cấu hình tiện ích.
Việc che dữ liệu nhạy cảm sẽ thay thế các ký tự bằng một biểu tượng, 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 cần che 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. Để xem danh sách infoType, hãy xem Tài liệu tham khảo về 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ả cho ví dụ này sẽ như sau:
{"text":"*****************"}
Tham số yêu cầu
| Tham số | Mô tả | Loại | Mặc định | Bắt buộc |
|---|---|---|---|---|
| văn bản | Văn bản cần xoá thông tin nhận dạng. | Chuỗi | Không có. | Có. |
| đeo-khẩu-trang | Ký tự dùng để che dữ liệu nhạy cảm. | Chuỗi | Không có. | Có. |
Phản hồi
Văn bản đầu vào có các giá trị của infoTypes được chỉ định thay thế bằng ký tự được chỉ định. Ví dụ:
{"text":"*********"}
deidentifyWithTemplate
Xoá 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 định cấu hình văn bản cần xoá thông tin nhận dạng và cách xử lý văn bản đó.
Mẫu rất hữu ích cho việc tách cấu hình (chẳng hạn như những gì bạn kiểm tra và cách bạn xoá thông tin nhận dạng) khỏi quá trình triển khai các lệnh gọi API. Mẫu là một cách để sử dụng lại cấu hình và đảm bảo tính nhất quán giữa người dùng và tập dữ liệu.
Trong mẫu, bạn sẽ chỉ định infoTypes đại diện cho nội dung cần được gỡ bỏ thông tin nhận dạng. Để xem danh sách infoType, hãy xem Tài liệu tham khảo về trình phát hiện InfoType. Mặt nạ khử nhận dạng những 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 cần nhận dạng là phần nội dung yêu cầu do biến luồng request.content mang theo.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
Đầu ra cho ví dụ này sẽ là nội dung yêu cầu đã được xoá thông tin nhận dạng.
Tham số yêu cầu
| Tham số | Mô tả | Loại | Mặc định | Bắt buộc |
|---|---|---|---|---|
| văn bản | Văn bản cần loại bỏ thông tin nhận dạng. Đây là dữ liệu mà quy trình xoá thông tin nhận dạng sẽ xử lý. | Đối tượng | Không có. | Có. |
| templateName | Mẫu sẽ sử dụng. Đây sẽ là đường dẫn đến mẫu ở dạng sau: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Khi bạn tạo mẫu bằng Google API, hãy sử dụng giá trị thuộc tính name của phản hồi làm templateName. |
Chuỗi | Không có. | Có. |
Phản hồi
Văn bản đầu vào có các giá trị của infoTypes được chỉ định được thay thế bằng tên infoType.
deidentifyWithType
Xoá thông tin nhận dạng dữ liệu nhạy cảm trong nội dung văn bản, thay thế mỗi giá trị trùng khớp bằng tên của infoType. Để xem danh sách infoType, 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 những 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 đầu vào:
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 cần che 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. Để xem danh sách infoType, hãy xem Tài liệu tham khảo về Trình phát hiện InfoType.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
Kết quả cho ví dụ này sẽ như sau:
{"text":"EMAIL_ADDRESS"}
Tham số yêu cầu
| Tham số | Mô tả | Loại | Mặc định | Bắt buộc |
|---|---|---|---|---|
| văn bản | Văn bản cần loại bỏ thông tin nhận dạng. | Chuỗi | Không có. | Có. |
Phản hồi
Văn bản đầu vào có cá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ị che khuất sẽ được phát hiện và làm mờ bằng một hình chữ nhật mờ. Thao tác này sẽ che những phần của image_data do thuộc tính infoTypes chỉ định trong cấu hình tiện ích.
Để xem danh sách infoType, hãy xem Tài liệu tham khảo về trình phát hiện InfoType.
Tham số yêu cầu
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "type-of-image"
}]]></Input>
| Tham số | Mô tả | Loại | Mặc định | Bắt buộc |
|---|---|---|---|---|
| image_data | Dữ liệu hình ảnh được mã hoá bằng base64. | Chuỗi | Không có. | Có. |
| image_type | Hằng số của loại hình ảnh. Các giá trị có thể sử dụng được là IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG. | Chuỗi | Không có. | Có. |
Phản hồi
Hình ảnh có văn bản đã được che khuất.
Tài liệu tham khảo về cấu hình
Hãy sử dụng những thông tin 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 phần Thêm và định cấu hình tiện ích.
Thuộc tính mở rộng chung
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ó | Có |
packageName |
Tên của gói tiện ích do Apigee Edge cung cấp. | Không có | 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ó | 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ác thuộc tính cho gói tiện ích này
Chỉ định các giá trị cho các thuộc tính cấu hình sau đây dành riêng cho tiện ích này.
| Thuộc tính | Mô tả | Mặc định | Bắt buộc |
|---|---|---|---|
| projectId | Mã dự án trên Google Cloud mà bạn đã bật Cloud Data Loss Prevention API. | Không có. | Có. |
| infoTypes | Loại thông tin của dữ liệu nhạy cảm. Nếu bạn bỏ qua, dịch vụ sẽ phát hiện tất cả các loại tích hợp. Để biết danh sách các infoType mà 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 có. | STT |
| thông tin xác thực | Khi được nhập vào bảng điều khiển Apigee Edge, đây là nội dung của tệp khoá tài khoản dịch vụ. Khi được gửi bằng API Quản lý, đây là giá trị được mã hoá base64 được tạo từ tệp khoá tài khoản dịch vụ. | Không có. | Có. |