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.3.0
Sử dụng tiện ích này để che khuất 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 của một proxy API bằng chính sách ExtensionAnnotation (Chú thích tiện ích), bạn phải:
Bật API Google Cloud DLP cho dự án của bạn.
Cấp quyền cho cấp truy cập mà bạn muốn cho tiện ích.
Sử dụng Bảng điều khiển của GCP để tạo khoá cho tài khoản dịch vụ.
Sử dụng nội dung của tệp JSON củ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
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
Các ví dụ sau minh hoạ cách định cấu hình tính năng hỗ trợ các thao tác với tiện ích Cloud DLP bằng chính sách ExtensionAnnotation.
Để giúp việc thử mã mẫu này trở nên dễ dàng hơn, những ví dụ sau sử dụng chính sách AssignmentMessage nhằm đặt các giá trị biến luồng và truy xuất các 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ó các ngôi sao
Ví dụ này sử dụng thao tác deidentifyWithMask
để che giấu các loại văn bản đã chỉ định bằng một ký tự được chỉ định trong chính sách – ở đây là ký tự *
.
Chính sách AttributionMessage sau đây đặt biến request.content
nhằm 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 ExtensionAnnotation sau đây truy xuất giá trị biến request.content và chuyển giá trị đó sang một tiện ích Cloud DLP (ở đây, được 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 AttributionMessage sau đây 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 giấu các loại văn bản được chỉ định bằng chính tên loại thông tin. Ví dụ: Thao tác này sẽ thay thế địa chỉ email gladys@example.com
bằng EMAIL_ADDRESS
.
Chính sách AttributionMessage sau đây đặt biến request.content
nhằm 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 Tiện ích mở rộng sau đây truy xuất giá trị biến request.content
và chuyển giá trị đó sang một tiện ích Cloud DLP (ở đây, được 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 URL
và EMAIL_ADDRESS
infoTypes.
<?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 AttributionMessage sau đây 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
Xoá 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.
Khi bạn ẩn dữ liệu nhạy cảm, các ký tự bằng một ký hiệu sẽ thay thế, chẳng hạn như dấu hoa thị (*) hoặc dấu băm (#). 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 để che giấu là địa chỉ email được lưu trữ trong biến luồng input.email.address
. Để hỗ trợ ví dụ cụ thể này, bạn phải định cấu hình tiện ích này để hỗ trợ loại thông tin EMAIL_ADDRESS. Để biết danh sách các loại thông tin, hãy xem Tài liệu tham khảo về trình phát hiện loại thông tin.
<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":"*****************"}
Yêu cầu thông số
Thông 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ó. |
đeo-khẩu-trang | Ký tự cần 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 chứa các giá trị của infoTypes đã chỉ định sẽ được thay thế bằng ký tự được chỉ định. Ví dụ:
{"text":"*********"}
deidentifyWithTemplate
Loại bỏ dữ liệu nhạy cảm trong nội dung văn bản bằng một mẫu sẽ đị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 trong 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ỏ thông tin nhận dạng đó khỏi quá trình triển khai lệnh gọi API. Mẫu là 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 của mình, bạn sẽ chỉ định infoTypes biểu thị nội dung cần 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. Loại bỏ thông tin nhận dạng cho 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, đầ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ả cho ví dụ này sẽ là nội dung yêu cầu đã loại bỏ thông tin nhận dạng.
Yêu cầu thông số
Thông 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 chính là cơ sở để quá trình loại bỏ thông tin nhận dạng hoạt động. | Đối tượng | Không có. | Có. |
templateName | Mẫu để sử dụng. Đây sẽ là một đườ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 API Google, hãy 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 chứa các giá trị của infoTypes được chỉ định sẽ đượ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, dịch vụ nhận ra số điện thoại, sau đó 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 để che giấu là địa chỉ email được lưu trữ trong biến luồng input.email.address
. Để hỗ trợ ví dụ cụ thể này, bạn phải định cấu hình tiện ích này để hỗ trợ loại thông tin EMAIL_ADDRESS. Để biết danh sách các loại thông tin, hãy xem Tài liệu tham khảo về trình phát hiện loại thông tin.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
Kết quả cho ví dụ này sẽ như sau:
{"text":"EMAIL_ADDRESS"}
Yêu cầu thông số
Thông 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 chứa các giá trị của infoTypes được chỉ định sẽ đượ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.
Yêu cầu thông số
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "type-of-image"
}]]></Input>
Thông số | Mô tả | Loại | Mặc định | Bắt buộc |
---|---|---|---|---|
image_data | Dữ liệu hình ảnh được mã hoá theo 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 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 đã bị che khuất.
Tham chiếu cấu hình
Sử dụng mã sau khi bạn định cấu hình và triển khai tiện ích này để sử dụng trong 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.
Các 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ó | 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 của 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.
Thuộc tính | Mô tả | Mặc định | Bắt buộc |
---|---|---|---|
projectId | Mã dự án GCP đã bật API Ngăn chặn mất dữ liệu của Cloud. | Không có. | 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 mọi loại tích hợp sẵn. Để biết danh sách các loại infoTypes đượ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 loại thông tin. | 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ụ của bạn. Khi được gửi qua API quản lý, giá trị này là một giá trị được mã hoá base64 được tạo từ tệp khoá tài khoản dịch vụ. | Không có. | Có. |