คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
เมื่อคุณแก้ไขข้อบกพร่องของการเรียก API ใน Edge บางครั้งเนื้อหาอาจมีข้อมูลที่ละเอียดอ่อน เช่น บัตรเครดิตหรือข้อมูลส่วนบุคคลด้านสุขภาพที่ระบุตัวบุคคลนั้นได้ (PHI) ซึ่งจำเป็นต้องมาสก์
Edge มีวิธีซ่อนหรือมาสก์ข้อมูลที่ละเอียดอ่อนในการติดตามและเซสชันการแก้ไขข้อบกพร่อง
การซ่อนข้อมูลที่ละเอียดอ่อน
คุณป้องกันไม่ให้ข้อมูลที่ละเอียดอ่อนปรากฏในเครื่องมือติดตามและเซสชันการแก้ไขข้อบกพร่องได้โดยสร้างตัวแปรที่กำหนดเองที่ขึ้นต้นด้วย "private.
"
เช่น เมื่อใช้นโยบายการดำเนินการแมปค่าคีย์เพื่อดึงค่าจากแมปค่าคีย์ที่เข้ารหัส ให้จัดรูปแบบชื่อตัวแปรดังต่อไปนี้เพื่อให้ค่าไม่ปรากฏในเซสชันการติดตามหรือแก้ไขข้อบกพร่อง
<Get assignTo="private.hiddenData">
การซ่อนตัวแปรที่ละเอียดอ่อนเป็นทางเลือกหนึ่งนอกเหนือจากการใช้การมาสก์ข้อมูล ซึ่งอธิบายอยู่ในหัวข้อถัดไป ความแตกต่างระหว่างการซ่อนและการมาสก์คือตัวแปรที่ซ่อนไว้จะไม่ปรากฏเลย และค่าที่มาสก์จะถูกแทนที่ด้วยเครื่องหมายดอกจันในเซสชันการติดตามและแก้ไขข้อบกพร่อง
ตัวแปรที่ไม่มีคำนำหน้า "private.
" จะแสดงเป็นข้อความธรรมดาในเซสชันการติดตามและการแก้ไขข้อบกพร่อง แม้ว่าข้อมูลจะมาจากที่เก็บข้อมูลที่เข้ารหัส เช่น แมปค่าคีย์ที่เข้ารหัสก็ตาม ใช้การมาสก์ (ด้านล่าง) หากต้องการมาสก์ค่าเหล่านี้
การมาสก์ข้อมูลที่ละเอียดอ่อน
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 ที่เฉพาะเจาะจง ให้เรียกใช้ API ของ /maskconfigs
ดังนี้
$ 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หากต้องการสร้างการกำหนดค่ามาสก์ที่กำหนดขอบเขตเฉพาะพร็อกซี API เฉพาะ ให้ทำดังนี้
$ 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
คุณสามารถลบการกำหนดค่ามาสก์โดยใช้คำกริยา "ลบ" ดังนี้
$ 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>