คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
เมื่อคุณแก้ไขข้อบกพร่องของการเรียก API ใน Edge บางครั้งเนื้อหาอาจมีข้อมูลที่ละเอียดอ่อน เช่น บัตรเครดิตหรือข้อมูลสุขภาพส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ (PHI) ซึ่งต้องมาสก์
Edge มีวิธีต่างๆ ในการซ่อนหรือมาสก์ข้อมูลที่ละเอียดอ่อนจาก เซสชันการติดตามและแก้ไขข้อบกพร่อง
การซ่อนข้อมูลที่ละเอียดอ่อน
คุณป้องกันไม่ให้ข้อมูลที่ละเอียดอ่อนปรากฏในเครื่องมือติดตามและเซสชันการแก้ไขข้อบกพร่องได้โดยการสร้าง
ตัวแปรที่กำหนดเองซึ่งมีคำนำหน้าเป็น "private."
ตัวอย่างเช่น เมื่อใช้นโยบายการดำเนินการกับ Key Value Map เพื่อดึงค่าจาก Key Value Map ที่เข้ารหัส ให้จัดรูปแบบชื่อตัวแปรดังนี้เพื่อให้ค่าไม่ปรากฏในเซสชันการติดตามหรือการแก้ไขข้อบกพร่อง
<Get assignTo="private.hiddenData">
การซ่อนตัวแปรที่ละเอียดอ่อนเป็นอีกทางเลือกหนึ่งแทนการใช้การมาสก์ข้อมูล ซึ่งอธิบายไว้ในส่วนถัดไป ความแตกต่างระหว่างการซ่อนและการมาสก์คือตัวแปรที่ซ่อนจะไม่ปรากฏเลย และค่าที่มาสก์จะถูกแทนที่ด้วยดอกจันในเซสชันการติดตามและการแก้ไขข้อบกพร่อง
ตัวแปรที่ไม่มีคำนำหน้า "private." จะแสดงเป็นข้อความที่โอนหรือจัดเก็บได้โดยไม่ต้องเข้ารหัสในเซสชันการติดตามและ การแก้ไขข้อบกพร่อง แม้ว่าข้อมูลจะมาจากที่เก็บข้อมูลที่เข้ารหัส เช่น Key Value Map ที่เข้ารหัส ให้ใช้การมาสก์ (ด้านล่าง) หากต้องการมาสก์ค่าเหล่านี้
การมาสก์ข้อมูลที่ละเอียดอ่อน
Edge ช่วยให้คุณกำหนด "การกำหนดค่าการมาสก์" เพื่อมาสก์ข้อมูลที่เฉพาะเจาะจงในเซสชันการติดตามและการแก้ไขข้อบกพร่องได้ คุณสามารถตั้งค่าการกำหนดค่าการมาสก์ได้ทั่วโลก (ที่ระดับองค์กร) หรือเฉพาะที่ (ที่ระดับพร็อกซี API )
เมื่อข้อมูลได้รับการมาสก์ ระบบจะแทนที่ข้อมูลดังกล่าวด้วยดอกจันในเอาต์พุตการติดตาม เช่น
<description>**********</description>
การใช้การกำหนดค่าการมาสก์
การกำหนดค่าการมาสก์ ช่วยให้คุณระบุข้อมูลที่ละเอียดอ่อนในแหล่งที่มาต่อไปนี้ได้:- เพย์โหลด XML: ใช้ XPath เพื่อระบุองค์ประกอบ XML ที่จะกรองออกจากเพย์โหลดข้อความคำขอหรือ การตอบกลับ
- เพย์โหลด JSON: ใช้ JSONPath เพื่อระบุพร็อพเพอร์ตี้ JSON ที่จะกรองออกจาก เพย์โหลดข้อความคำขอหรือการตอบกลับ
- ตัวแปรโฟลว์: คุณสามารถระบุรายการตัวแปรที่ควรมาสก์ในเอาต์พุตการแก้ไขข้อบกพร่อง
เมื่อระบุตัวแปรโฟลว์
request.content,response.content, หรือmessage.contentระบบจะมาสก์เนื้อหาคำขอ/การตอบกลับด้วย
โครงสร้างพื้นฐานของการกำหนดค่าการมาสก์แสดงโดยการแสดง XML ต่อไปนี้
<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>
การกำหนดค่าทรัพยากรการกำหนดค่าการมาสก์
กำหนดการกำหนดค่าการมาสก์โดยใช้องค์ประกอบต่อไปนี้
| ชื่อช่อง | คำอธิบาย | ค่าเริ่มต้น | จำเป็นหรือไม่ |
|---|---|---|---|
| XPathsRequest | รายการนิพจน์ XPath ที่จะประเมินกับเพย์โหลด XML (หากมี) ใน เส้นทางคำขอ XPath ใดๆ ที่แก้ไขได้สำเร็จจะส่งผลให้ค่าขององค์ประกอบ XML ได้รับการมาสก์ | ไม่มี | ไม่ |
| XPathsResponse | รายการนิพจน์ XPath ที่จะประเมินกับเพย์โหลด XML (หากมี) ในเส้นทางการตอบกลับ XPath ใดๆ ที่แก้ไขได้สำเร็จจะส่งผลให้ค่าขององค์ประกอบ XML ได้รับการมาสก์ | ไม่มี | ไม่ |
| JSONPathsRequest | รายการนิพจน์ JSONPath ที่จะประเมินกับเพย์โหลด JSON (หากมี) ใน เส้นทางคำขอ JSONPath ใดๆ ที่แก้ไขได้สำเร็จจะส่งผลให้ค่าของ พร็อพเพอร์ตี้ JSON ได้รับการมาสก์ | ไม่มี | ไม่ |
| JSONPathsResponse | รายการนิพจน์ JSONPath ที่จะประเมินกับเพย์โหลด JSON (หากมี) ใน เส้นทางการตอบกลับ JSONPath ใดๆ ที่แก้ไขได้สำเร็จจะส่งผลให้ค่าของ พร็อพเพอร์ตี้ JSON ได้รับการมาสก์ | ไม่มี | ไม่ |
| XPathsFault | รายการนิพจน์ XPath ที่จะประเมินกับเพย์โหลด XML (หากมี) ใน โฟลว์ข้อผิดพลาด (ซึ่งจะทำงานหากมีการแสดงข้อผิดพลาดในจุดใดจุดหนึ่งของโฟลว์) XPath ใดๆ ที่ แก้ไขได้สำเร็จจะส่งผลให้ค่าขององค์ประกอบ XML ได้รับการมาสก์ | ไม่มี | ไม่ |
| JSONPathsFault | รายการนิพจน์ JSON ที่จะประเมินกับเพย์โหลด JSON (หากมี) ใน โฟลว์ข้อผิดพลาด (ซึ่งจะทำงานหากมีการแสดงข้อผิดพลาดในจุดใดจุดหนึ่งของโฟลว์) JSONPath ใดๆ ที่แก้ไขได้สำเร็จจะส่งผลให้ค่าของพร็อพเพอร์ตี้ JSON ได้รับการมาสก์ | ไม่มี | ไม่ |
| ตัวแปร |
รายการตัวแปร (ที่กำหนดไว้ล่วงหน้าหรือกำหนดเอง) ที่ค่าจะได้รับการมาสก์ โปรดดูรายการตัวแปรเริ่มต้นที่ ข้อมูลอ้างอิงตัวแปร |
ไม่มี | ไม่ |
API การกำหนดค่าการมาสก์
การกำหนดค่าการมาสก์จะกำหนดเป็นไฟล์รูปแบบ XML หรือ JSON ที่คุณอัปโหลดและดาวน์โหลด โดยใช้ RESTful Management API โปรดดูรายการ API การมาสก์ข้อมูลทั้งหมดที่ การมาสก์ข้อมูล
หากต้องการดูการกำหนดค่าการมาสก์ที่มีอยู่ ให้เรียกใช้ทรัพยากร API
/maskconfigs ในองค์กรของคุณ
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/maskconfigs \
-u emailตัวอย่างนี้แสดง ไวยากรณ์ พื้นฐาน สำหรับการตรวจสอบสิทธิ์ คุณอาจใช้การตรวจสอบสิทธิ์ประเภทอื่นๆ ได้ เช่น Oauth2 หรือ SAML
หากต้องการดูการกำหนดค่าการมาสก์ที่กำหนดไว้สำหรับพร็อกซี API ที่เฉพาะเจาะจง ให้เรียกใช้
/maskconfigs API:
$ curl https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs \
-u email
หากต้องการดูการกำหนดค่าการมาสก์ที่เฉพาะเจาะจง ให้ระบุชื่อของการมาสก์
$ 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
หากต้องการสร้างการกำหนดค่าการมาสก์ ให้ใช้คำกริยา POST เพื่อส่งเพย์โหลดที่กำหนดการกำหนดค่าการมาสก์
$ 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
คุณลบการกำหนดค่าการมาสก์ได้โดยใช้คำกริยา DELETE
$ curl -X DELETE \
https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/maskconfigs/{maskconfig_name} \
-u email
ตัวอย่างนี้แสดง ไวยากรณ์ พื้นฐาน สำหรับการตรวจสอบสิทธิ์ คุณอาจใช้การตรวจสอบสิทธิ์ประเภทอื่นๆ ได้ เช่น Oauth2 หรือ SAML
การตอบกลับการดำเนินการ DELETE คือรหัส HTTP 204 ที่ไม่มีเนื้อหาข้อความ
การมาสก์สำหรับเนมสเปซ XML
การกำหนดค่าการมาสก์ไม่จำเป็นต้องมีองค์ประกอบ <Namespace> ในคำจำกัดความ XPATH
เว้นแต่จะมีการกำหนดเนมสเปซในเพย์โหลด XML ซึ่งจะเป็นจริงด้วยหากเพย์โหลด XML
ใช้เนมสเปซเริ่มต้น
ตัวอย่างเช่น เพย์โหลด XML ไม่ได้กำหนดเนมสเปซ
<employee>
<name>abc</name>
<age>50</age>
</employee>ดังนั้นการกำหนดค่าการมาสก์จึงไม่จำเป็นต้องมีองค์ประกอบ <Namespace>
<MaskDataConfiguration>
<XPathsRequest>
<XPathRequest>/employee/name</XPathRequest>
<XPathsRequest>
</MaskDataConfiguration>หากเพย์โหลด XML มีเนมสเปซและคำนำหน้า
<myco:employee xmlns:myco="http://example.com">
<myco:name>xyz</myco:name>
<myco:age>50</myco:age>
</myco:employee>คำจำกัดความของการกำหนดค่าการมาสก์ควรมีองค์ประกอบ <Namespace>
<MaskDataConfiguration> <Namespaces> <Namespace prefix="myco">http://example.com</Namespace> </Namespaces> <XPathsRequest> <XPathRequest>/myco:employee/myco:name</XPathRequest> <XPathsRequest> </MaskDataConfiguration>
หากเพย์โหลด XML มีเนมสเปซแต่ไม่มีคำนำหน้า ซึ่งหมายถึงเนมสเปซเริ่มต้น
<employee xmlns="http://example.com">
<name>xyz</name>
<age>50</age>
</employee>การกำหนดค่าการมาสก์ควรมีองค์ประกอบ <Namespace>
<MaskDataConfiguration> <Namespaces> <Namespace prefix="myco">http://example.com</Namespace> </Namespaces> <XPathsRequest> <XPathRequest>/myco:employee/myco:name</XPathRequest> <XPathsRequest> </MaskDataConfiguration>