আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
আপনি যখন এজ-এ API কলগুলি ডিবাগ করেন, তখন বিষয়বস্তুতে কখনও কখনও সংবেদনশীল ডেটা থাকতে পারে, যেমন ক্রেডিট কার্ড বা ব্যক্তিগতভাবে শনাক্তযোগ্য স্বাস্থ্য তথ্য (PHI) যা মাস্ক করা প্রয়োজন।
এজ ট্রেস এবং ডিবাগ সেশন থেকে সংবেদনশীল ডেটা লুকানোর বা মাস্ক করার বিভিন্ন উপায় সরবরাহ করে।
সংবেদনশীল তথ্য লুকানো
আপনি সংবেদনশীল ডেটাকে ট্রেস টুলে উপস্থিত হওয়া থেকে আটকাতে পারেন এবং " private.
উদাহরণস্বরূপ, একটি এনক্রিপ্ট করা কী মান মানচিত্র থেকে মানগুলি পুনরুদ্ধার করতে কী মান মানচিত্র অপারেশন নীতি ব্যবহার করার সময়, ট্রেস বা ডিবাগ সেশনে মানগুলি উপস্থিত না হয় তা নিশ্চিত করার জন্য ভেরিয়েবলের নামগুলি নিম্নরূপ ফর্ম্যাট করুন:
<Get assignTo="private.hiddenData">
সংবেদনশীল ভেরিয়েবল লুকানো ডেটা মাস্কিং ব্যবহার করার একটি বিকল্প, যা পরবর্তীতে বর্ণিত হয়েছে। লুকানো এবং মাস্কিংয়ের মধ্যে পার্থক্য হল যে লুকানো ভেরিয়েবলগুলি মোটেই প্রদর্শিত হয় না এবং মাস্ক করা মানগুলি ট্রেস এবং ডিবাগ সেশনে তারকাচিহ্ন দিয়ে প্রতিস্থাপিত হয়।
" private.
" উপসর্গ ছাড়া ভেরিয়েবলগুলি ট্রেস এবং ডিবাগ সেশনে স্পষ্ট পাঠ্যে প্রদর্শিত হয় এমনকি যদি ডেটা এনক্রিপ্ট করা ডেটা স্টোর যেমন একটি এনক্রিপ্ট করা কী মান মানচিত্র থেকে আসে। আপনি যদি এই মানগুলি মাস্ক করতে চান তবে মাস্কিং (নীচে) ব্যবহার করুন।
সংবেদনশীল তথ্য মাস্কিং
এজ আপনাকে ট্রেস এবং ডিবাগ সেশনে নির্দিষ্ট ডেটা মাস্ক করতে 'মাস্ক কনফিগারেশন' সংজ্ঞায়িত করতে দেয়। মাস্কিং কনফিগারেশন বিশ্বব্যাপী (সংস্থা-স্তরে) বা স্থানীয়ভাবে (এপিআই প্রক্সি স্তরে) সেট করা যেতে পারে।
ডেটা মাস্ক করা হলে, এটি ট্রেস আউটপুটে তারকাচিহ্ন দিয়ে প্রতিস্থাপিত হয়। যেমন:
<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>
একটি মাস্ক কনফিগারেশন সংস্থান কনফিগার করা হচ্ছে
নিম্নলিখিত উপাদানগুলি ব্যবহার করে একটি মাস্ক কনফিগারেশন সংজ্ঞায়িত করুন।
ক্ষেত্রের নাম | বর্ণনা | ডিফল্ট | প্রয়োজন? |
---|---|---|---|
XPaths অনুরোধ | XPath এক্সপ্রেশনের একটি তালিকা যা অনুরোধের পথে XML পেলোডের (যদি থাকে) বিরুদ্ধে মূল্যায়ন করা হবে। যে কোনো XPath সফলভাবে সমাধান করলে XML উপাদানের মান মাস্ক করা হবে। | N/A | না |
XPaths রেসপন্স | XPath এক্সপ্রেশনের একটি তালিকা যা প্রতিক্রিয়া পাথে XML পেলোডের (যদি থাকে) বিরুদ্ধে মূল্যায়ন করা হবে। যে কোনো XPath সফলভাবে সমাধান করলে XML উপাদানের মান মাস্ক করা হবে। | N/A | না |
JSONPathsRequest | JSONPath এক্সপ্রেশনের একটি তালিকা যা অনুরোধের পথে JSON পেলোডের (যদি থাকে) বিরুদ্ধে মূল্যায়ন করা হবে। যেকোন JSONPath সফলভাবে সমাধান করলে JSON সম্পত্তির মান মাস্ক হয়ে যাবে। | N/A | না |
JSONPaths রেসপন্স | JSONPath এক্সপ্রেশনের একটি তালিকা যা প্রতিক্রিয়া পাথে JSON পেলোডের (যদি থাকে) বিরুদ্ধে মূল্যায়ন করা হবে। যেকোন JSONPath সফলভাবে সমাধান করলে JSON সম্পত্তির মান মাস্ক হয়ে যাবে। | N/A | না |
এক্সপাথসফল্ট | এক্সপ্যাথ এক্সপ্রেশনের একটি তালিকা যা এক্সএমএল পেলোডের (যদি থাকে) এরর ফ্লোতে মূল্যায়ন করা হবে (যা প্রবাহের যেকোন বিন্দুতে একটি ত্রুটি নিক্ষেপ করা হলে তা কার্যকর করে)। যে কোনো XPath সফলভাবে সমাধান করলে XML উপাদানের মান মাস্ক করা হবে। | N/A | না |
JSONPathsফল্ট | JSON এক্সপ্রেশনের একটি তালিকা যা ত্রুটির প্রবাহে (যদি থাকে) JSON পেলোডের বিরুদ্ধে মূল্যায়ন করা হবে (যা প্রবাহের যে কোনো স্থানে কোনো ত্রুটি নিক্ষেপ করা হলে তা কার্যকর করে)। যেকোন JSONPath সফলভাবে সমাধান করলে JSON সম্পত্তির মান মাস্ক হয়ে যাবে। | N/A | না |
ভেরিয়েবল | ভেরিয়েবলের একটি তালিকা (হয় পূর্ব-সংজ্ঞায়িত বা কাস্টম) যার মানগুলি মাস্ক করা হবে। ডিফল্ট ভেরিয়েবলের তালিকার জন্য, ভেরিয়েবল রেফারেন্স দেখুন। | N/A | না |
মাস্ক কনফিগারেশন API
মাস্ক কনফিগারেশনগুলিকে XML- বা JSON-ফরম্যাট করা ফাইল হিসাবে সংজ্ঞায়িত করা হয় যা আপনি RESTful ম্যানেজমেন্ট 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একটি মাস্ক কনফিগারেশন তৈরি করতে যা একটি নির্দিষ্ট 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
আপনি DELETE ক্রিয়া ব্যবহার করে একটি মাস্ক কনফিগারেশন মুছে ফেলতে পারেন:
$ 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 নামস্থানের জন্য মাস্কিং
একটি মাস্ক কনফিগারেশনের জন্য XPATH সংজ্ঞাতে <Namespace>
উপাদানের প্রয়োজন হয় না যদি না 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>