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
Khi bạn gỡ lỗi các lệnh gọi API trong Edge, nội dung đôi khi có thể chứa dữ liệu nhạy cảm, chẳng hạn như thẻ tín dụng hoặc thông tin sức khoẻ nhận dạng cá nhân (PHI) cần được che giấu.
Edge cung cấp nhiều cách để ẩn hoặc che dữ liệu nhạy cảm khỏi Trace và các phiên gỡ lỗi.
Ẩn dữ liệu nhạy cảm
Bạn có thể ngăn dữ liệu nhạy cảm xuất hiện trong công cụ Theo dõi và các phiên gỡ lỗi bằng cách tạo các biến tuỳ chỉnh có tiền tố "private.".
Ví dụ: khi sử dụng chính sách Thao tác trên bản đồ khoá giá trị để truy xuất các giá trị từ bản đồ khoá giá trị được mã hoá, hãy định dạng tên biến như sau để đảm bảo các giá trị không xuất hiện trong các phiên gỡ lỗi hoặc theo dõi:
<Get assignTo="private.hiddenData">
Ẩn các biến nhạy cảm là một giải pháp thay thế cho việc sử dụng tính năng che dấu dữ liệu (được mô tả ở phần tiếp theo). Sự khác biệt giữa việc ẩn và che giấu là các biến ẩn hoàn toàn không xuất hiện, còn các giá trị bị che giấu sẽ được thay thế bằng dấu hoa thị trong các phiên Theo dõi và gỡ lỗi.
Các biến không có tiền tố "private." sẽ hiển thị dưới dạng dòng chữ rõ ràng trong các phiên theo dõi và gỡ lỗi ngay cả khi dữ liệu đến từ một kho dữ liệu được mã hoá, chẳng hạn như bản đồ giá trị khoá được mã hoá. Sử dụng tính năng che (bên dưới) nếu bạn muốn che các giá trị này.
Che dữ liệu nhạy cảm
Edge cho phép bạn xác định "cấu hình mặt nạ" để che dữ liệu cụ thể trong các phiên gỡ lỗi và theo dõi. Bạn có thể thiết lập cấu hình che giấu trên toàn cầu (ở cấp tổ chức) hoặc cục bộ (ở cấp proxy API).
Khi dữ liệu bị che, dữ liệu đó sẽ được thay thế bằng dấu hoa thị trong đầu ra dấu vết. Ví dụ:
<description>**********</description>
Sử dụng cấu hình mặt nạ
Cấu hình Mặt nạ giúp bạn xác định dữ liệu nhạy cảm trong những nguồn sau:- Tải trọng XML: Bằng cách sử dụng XPath, bạn xác định các phần tử XML cần lọc từ tải trọng thông báo yêu cầu hoặc phản hồi.
- Tải trọng JSON: Bằng cách sử dụng JSONPath, bạn xác định các thuộc tính JSON cần lọc từ tải trọng thông báo yêu cầu hoặc phản hồi.
- Biến luồng: Bạn có thể chỉ định danh sách các biến cần được che trong đầu ra gỡ lỗi. Khi bạn chỉ định các biến luồng
request.content,response.contenthoặcmessage.content, phần nội dung yêu cầu/phản hồi cũng sẽ bị che.
Cấu trúc cơ bản của cấu hình mặt nạ được thể hiện bằng biểu diễn XML sau:
<MaskDataConfiguration name="default"> <Namespaces> <Namespace prefix="myco">http://example.com</Namespace> </Namespaces> <XPathsRequest> <XPathRequest>/myco:Greeting/myco:User</XPathRequest> </XPathsRequest> <XPathsResponse> <XPathResponse>/myco:Greeting/myco:User</XPathResponse> </XPathsResponse> <JSONPathsRequest> <JSONPathRequest>$.store.book[*].author</JSONPathRequest> </JSONPathsRequest> <JSONPathsResponse> <JSONPathResponse>$.store.book[*].author</JSONPathResponse> </JSONPathsResponse> <XPathsFault> <XPathFault>/myco:Greeting/myco:User</XPathFault> </XPathsFault> <JSONPathsFault> <JSONPathFault>$.store.book[*].author</JSONPathFault> </JSONPathsFault> <Variables> <Variable>request.header.user-agent</Variable> <Variable>request.formparam.password</Variable> </Variables> </MaskDataConfiguration>
Định cấu hình tài nguyên cấu hình mặt nạ
Xác định cấu hình mặt nạ bằng các phần tử sau.
| Tên trường | Mô tả | Mặc định | Bắt buộc? |
|---|---|---|---|
| XPathsRequest | Danh sách các biểu thức XPath sẽ được đánh giá dựa trên tải trọng XML (nếu có) trong đường dẫn yêu cầu. Mọi XPath phân giải thành công sẽ dẫn đến việc giá trị của phần tử XML bị che. | Không áp dụng | Không |
| XPathsResponse | Một danh sách các biểu thức XPath sẽ được đánh giá dựa trên tải trọng XML (nếu có) trong đường dẫn phản hồi. Mọi XPath phân giải thành công sẽ dẫn đến việc giá trị của phần tử XML bị che. | Không áp dụng | Không |
| JSONPathsRequest | Một danh sách các biểu thức JSONPath sẽ được đánh giá dựa trên tải trọng JSON (nếu có) trong đường dẫn yêu cầu. Mọi JSONPath phân giải thành công sẽ dẫn đến việc giá trị của thuộc tính JSON bị che. | Không áp dụng | Không |
| JSONPathsResponse | Một danh sách các biểu thức JSONPath sẽ được đánh giá dựa trên tải trọng JSON (nếu có) trong đường dẫn phản hồi. Mọi JSONPath phân giải thành công sẽ dẫn đến việc giá trị của thuộc tính JSON bị che. | Không áp dụng | Không |
| XPathsFault | Danh sách các biểu thức XPath sẽ được đánh giá dựa trên tải trọng XML (nếu có) trong quy trình lỗi (thực thi nếu lỗi xảy ra tại bất kỳ thời điểm nào trong quy trình). Mọi XPath phân giải thành công sẽ dẫn đến việc giá trị của phần tử XML bị che khuất. | Không áp dụng | Không |
| JSONPathsFault | Một danh sách các biểu thức JSON sẽ được đánh giá dựa trên tải trọng JSON (nếu có) trong quy trình lỗi (thực thi nếu lỗi xảy ra tại bất kỳ thời điểm nào trong quy trình). Mọi JSONPath giải quyết thành công sẽ dẫn đến việc giá trị của thuộc tính JSON bị che khuất. | Không áp dụng | Không |
| Biến |
Danh sách các biến (được xác định trước hoặc tuỳ chỉnh) có giá trị sẽ bị che. Để xem danh sách các biến mặc định, hãy xem bài viết Tài liệu tham khảo về biến. |
Không áp dụng | Không |
API cấu hình mặt nạ
Cấu hình mặt nạ được xác định là các tệp có định dạng XML hoặc JSON mà bạn tải lên và tải xuống bằng API quản lý RESTful. Để xem danh sách đầy đủ các API che giấu dữ liệu, hãy xem phần Mặt nạ dữ liệu.
Để xem các cấu hình mặt nạ hiện có, bạn chỉ cần gọi tài nguyên API /maskconfigs trong tổ chức của mình:
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs \
-u emailVí dụ này minh hoạ cú pháp Cơ bản để xác thực. Bạn có thể sử dụng các loại xác thực khác, chẳng hạn như Oauth2 hoặc SAML.
Để xem các cấu hình mặt nạ được xác định cho các proxy API cụ thể, bạn có thể gọi API /maskconfigs:
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs \
-u email
Để xem một cấu hình mặt nạ cụ thể, hãy chỉ định tên của mặt nạ:
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs/default \
-u email
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs/default \
-u email
Để tạo cấu hình mặt nạ, hãy dùng động từ POST để gửi một tải trọng xác định cấu hình mặt nạ:
$ curl -H "Content-type:text/xml" -X POST -d \
'<MaskDataConfiguration name="default">
<Namespaces>
<Namespace prefix="myco">http://example.com</Namespace>
</Namespaces>
<XPathsRequest>
<XPathRequest>/myco:Greeting/myco:User</XPathRequest>
</XPathsRequest>
<XPathsResponse>
<XPathResponse>/myco:Greeting/myco:User</XPathResponse>
</XPathsResponse>
<JSONPathsRequest>
<JSONPathRequest>$.store.book[*].author</JSONPathRequest>
</JSONPathsRequest>
<JSONPathsResponse>
<JSONPathResponse>$.store.book[*].author</JSONPathResponse>
</JSONPathsResponse>
<XPathsFault>
<XPathFault>/myco:Greeting/myco:User</XPathFault>
</XPathsFault>
<JSONPathsFault>
<JSONPathFault>$.store.book[*].author</JSONPathFault>
</JSONPathsFault>
<Variables>
<Variable>request.header.user-agent</Variable>
<Variable>request.formparam.password</Variable>
</Variables>
</MaskDataConfiguration>' \
https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs \
-u email
$ curl -H "Content-type:text/xml" -X POST -d \
'<MaskDataConfiguration name="default">
<Namespaces>
<Namespace prefix="myco">http://example.com</Namespace>
</Namespaces>
<XPathsRequest>
<XPathRequest>/myco:Greeting/myco:User</XPathRequest>
</XPathsRequest>
<XPathsResponse>
<XPathResponse>/myco:Greeting/myco:User</XPathResponse>
</XPathsResponse>
<JSONPathsRequest>
<JSONPathRequest>$.store.book[*].author</JSONPathRequest>
</JSONPathsRequest>
<JSONPathsResponse>
<JSONPathResponse>$.store.book[*].author</JSONPathResponse>
</JSONPathsResponse>
<XPathsFault>
<XPathFault>/myco:Greeting/myco:User</XPathFault>
</XPathsFault>
<JSONPathsFault>
<JSONPathFault>$.store.book[*].author</JSONPathFault>
</JSONPathsFault>
<Variables>
<Variable>request.header.user-agent</Variable>
<Variable>request.formparam.password</Variable>
</Variables>
</MaskDataConfiguration>' \
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs \
-u email
Bạn có thể xoá một cấu hình mặt nạ bằng cách sử dụng động từ XOÁ:
$ curl -X DELETE \
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs/{maskconfig_name} \
-u email
Ví dụ này minh hoạ cú pháp Cơ bản để xác thực. Bạn có thể sử dụng các loại xác thực khác, chẳng hạn như Oauth2 hoặc SAML.
Phản hồi cho một thao tác XOÁ là mã HTTP 204 không có nội dung thông báo.
Che phủ cho không gian tên XML
Cấu hình mặt nạ không yêu cầu phần tử <Namespace> trong định nghĩa XPATH, trừ phi một không gian tên được xác định trong tải trọng XML. Điều này cũng đúng nếu tải trọng XML sử dụng một không gian tên mặc định.
Ví dụ: tải trọng XML không xác định không gian tên:
<employee>
<name>abc</name>
<age>50</age>
</employee>Do đó, cấu hình mặt nạ không yêu cầu phần tử <Namespace>:
<MaskDataConfiguration>
<XPathsRequest>
<XPathRequest>/employee/name</XPathRequest>
<XPathsRequest>
</MaskDataConfiguration>Nếu tải trọng XML chứa một không gian tên và tiền tố:
<myco:employee xmlns:myco="http://example.com">
<myco:name>xyz</myco:name>
<myco:age>50</myco:age>
</myco:employee>Sau đó, định nghĩa cấu hình mặt nạ phải chứa phần tử <Namespace>:
<MaskDataConfiguration> <Namespaces> <Namespace prefix="myco">http://example.com</Namespace> </Namespaces> <XPathsRequest> <XPathRequest>/myco:employee/myco:name</XPathRequest> <XPathsRequest> </MaskDataConfiguration>
Nếu Tải trọng XML có một không gian tên nhưng không có tiền tố, tức là không gian tên mặc định:
<employee xmlns="http://example.com">
<name>xyz</name>
<age>50</age>
</employee>Sau đó, cấu hình mặt nạ vẫn phải chứa phần tử <Namespace>:
<MaskDataConfiguration> <Namespaces> <Namespace prefix="myco">http://example.com</Namespace> </Namespaces> <XPathsRequest> <XPathRequest>/myco:employee/myco:name</XPathRequest> <XPathsRequest> </MaskDataConfiguration>