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