গুগল ক্লাউড ডেটা লস প্রতিরোধ এক্সটেনশন

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

সংস্করণ: ২.০.০

কন্টেন্ট ও ছবি থেকে সংবেদনশীল তথ্য গোপন করতে এই এক্সটেনশনটি ব্যবহার করুন। উদাহরণস্বরূপ, আপনি ক্রেডিট কার্ড নম্বর, নাম এবং সোশ্যাল সিকিউরিটি নম্বর মুছে ফেলতে পারেন।

পূর্বশর্ত

এই বিষয়বস্তুটি এই এক্সটেনশনটি কনফিগার এবং ব্যবহার করার জন্য নির্দেশিকা প্রদান করে। ExtensionCallout পলিসি ব্যবহার করে একটি এপিআই প্রক্সি থেকে এক্সটেনশনটি ব্যবহার করার আগে, আপনাকে অবশ্যই:

  1. আপনার প্রোজেক্টের জন্য গুগল ক্লাউড ডিএলপি এপিআই সক্রিয় করুন

  2. এক্সটেনশনটির জন্য আপনি যে স্তরের অ্যাক্সেস চান, তার অনুমতি দিন

  3. সার্ভিস অ্যাকাউন্টের জন্য একটি কী তৈরি করতে গুগল ক্লাউড কনসোল ব্যবহার করুন

  4. কনফিগারেশন রেফারেন্স ব্যবহার করে এক্সটেনশনটি যোগ ও কনফিগার করার সময়, প্রাপ্ত কী JSON ফাইলের বিষয়বস্তু ব্যবহার করুন।

ক্লাউড ডেটা লস প্রিভেনশন (ডিএলপি) সম্পর্কে

ক্লাউড ডেটা লস প্রিভেনশন (DLP) হলো একটি এপিআই, যা সংবেদনশীল ডেটা শনাক্ত ও পরিচালনা করার জন্য টেক্সট, ছবি এবং অন্যান্য ডেটা পরীক্ষা করতে ব্যবহৃত হয়।

আরও তথ্যের জন্য, ডিএলপি ওভারভিউ দেখুন। এই এক্সটেনশনটি যে এপিআই প্রদান করে, তার রেফারেন্সের জন্য ক্লাউড ডেটা লস প্রিভেনশন (ডিএলপি) এপিআই দেখুন।

নমুনা

নিম্নলিখিত উদাহরণগুলিতে ExtensionCallout পলিসি ব্যবহার করে ক্লাউড ডিএলপি এক্সটেনশন অ্যাকশনের জন্য সাপোর্ট কীভাবে কনফিগার করতে হয় তা দেখানো হয়েছে।

এই স্যাম্পল কোডটি চেষ্টা করা সহজ করার জন্য, এই উদাহরণগুলিতে ফ্লো ভেরিয়েবলের মান সেট করতে এবং ট্রেস টুলে প্রদর্শনের জন্য এক্সটেনশন রেসপন্সের মান পুনরুদ্ধার করতে একটি AssignMessage পলিসি ব্যবহার করা হয়েছে।

তারা সহ মুখোশ

এই উদাহরণে, পলিসিতে নির্দিষ্ট করা একটি অক্ষর—এখানে, * অক্ষরটি—দিয়ে নির্দিষ্ট ধরণের টেক্সট মাস্ক করার জন্য deidentifyWithMask অ্যাকশনটি ব্যবহার করা হয়েছে।

নিম্নলিখিত AssignMessage পলিসিটি উদাহরণস্বরূপ request.content ভেরিয়েবলটি সেট করে। সাধারণত, আপনি ক্লায়েন্টের অনুরোধ থেকে অনুরোধের বিষয়বস্তু সংগ্রহ করবেন।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
    <DisplayName>Set Variable</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <AssignVariable>
        <Name>request.content</Name>
        <Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
    </AssignVariable>
</AssignMessage>

নিম্নলিখিত ExtensionCallout পলিসিটি request.content ভেরিয়েবলের মান গ্রহণ করে এবং তা একটি ক্লাউড ডিএলপি এক্সটেনশনে (এখানে, example-dlp নামে) প্রেরণ করে। সেই এক্সটেনশনটি URL এবং EMAIL_ADDRESS infoTypes-এর উপর ভিত্তি করে মানগুলিকে মাস্ক করার জন্য কনফিগার করা হয়েছে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
    <DisplayName>Data Loss Prevention Extension Callout</DisplayName>
    <Connector>example-dlp</Connector>
    <Action>deidentifyWithMask</Action>
    <Input><![CDATA[{
        "text" : "{request.content}",
        "mask" : "*"
    }]]></Input>
    <Output>masked.output</Output>
</ConnectorCallout>

নিম্নলিখিত AssignMessage পলিসিটি Trace টুলে প্রদর্শনের জন্য এক্সটেনশনটির আউটপুট সংগ্রহ করে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
    <DisplayName>Get DLP Output</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{masked.output}</Payload>
    </Set>
</AssignMessage>

নিচে এই কোড থেকে প্রাপ্ত আউটপুটের একটি উদাহরণ দেওয়া হলো।

{"text":"Visit my site at ******************* Or contact me at *****************."}

নাম সহ মাস্ক

এই উদাহরণটি deidentifyWithType অ্যাকশন ব্যবহার করে নির্দিষ্ট ধরণের টেক্সটকে ইনফোটাইপের নাম দিয়েই মাস্ক করে। উদাহরণস্বরূপ, এটি gladys@example.com ইমেল অ্যাড্রেসটিকে EMAIL_ADDRESS দিয়ে প্রতিস্থাপন করবে।

নিম্নলিখিত AssignMessage পলিসিটি উদাহরণস্বরূপ request.content ভেরিয়েবলটি সেট করে। সাধারণত, আপনি ক্লায়েন্টের অনুরোধ থেকে অনুরোধের বিষয়বস্তু সংগ্রহ করবেন।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
    <DisplayName>Set Variable</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <AssignVariable>
        <Name>request.content</Name>
        <Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
    </AssignVariable>
</AssignMessage>

নিম্নলিখিত ExtensionCallout পলিসিটি request.content ভেরিয়েবলের মান গ্রহণ করে এবং তা একটি ক্লাউড ডিএলপি এক্সটেনশনে (এখানে, example-dlp নামে) প্রেরণ করে। সেই এক্সটেনশনটি URL এবং EMAIL_ADDRESS infoTypes-এর উপর ভিত্তি করে মানগুলিকে মাস্ক করার জন্য কনফিগার করা হয়েছে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
    <DisplayName>Data Loss Prevention Extension Callout</DisplayName>
    <Connector>example-dlp</Connector>
    <Action>deidentifyWithType</Action>
    <Input><![CDATA[{
        "text" : "{request.content}"
    }]]></Input>
    <Output>masked.output</Output>
</ConnectorCallout>

নিম্নলিখিত AssignMessage পলিসিটি Trace টুলে প্রদর্শনের জন্য এক্সটেনশনটির আউটপুট সংগ্রহ করে।

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
    <DisplayName>Get DLP Output</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{masked.output}</Payload>
    </Set>
</AssignMessage>

নিচে এই কোড থেকে প্রাপ্ত আউটপুটের একটি উদাহরণ দেওয়া হলো।

{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}

কর্ম

মাস্ক দিয়ে পরিচয় গোপন করুন

text থেকে সংবেদনশীল ডেটা পরিচয়হীন করুন এবং mask ক্যারেক্টার দিয়ে ডেটাটি মাস্ক করুন। এই অ্যাকশনটি এক্সটেনশন কনফিগারেশনে infoTypes প্রপার্টি দ্বারা নির্দিষ্ট করা text অংশগুলিকে মাস্ক করে।

সংবেদনশীল ডেটা মাস্কিং করার মাধ্যমে অক্ষরগুলোকে অ্যাস্টারিস্ক (*) বা হ্যাশ (#)-এর মতো কোনো প্রতীক দিয়ে প্রতিস্থাপন করা হয়। এক্সটেনশন কনফিগারেশনে সংবেদনশীল ডেটার প্রকারভেদ নির্ধারণ করা যায়।

সিনট্যাক্স

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify",
  "mask" : "masking-character"
}]]></Input>

উদাহরণ

নিম্নলিখিত উদাহরণে, মাস্ক করার জন্য ইনপুটটি হলো একটি ইমেল ঠিকানা, যা input.email.address ফ্লো ভেরিয়েবলে সংরক্ষিত আছে। এই নির্দিষ্ট উদাহরণটি সমর্থন করার জন্য, এই এক্সটেনশনটিকে অবশ্যই EMAIL_ADDRESS ইনফোটাইপ সমর্থন করার জন্য কনফিগার করা থাকতে হবে। ইনফোটাইপগুলোর তালিকার জন্য, ইনফোটাইপ ডিটেক্টর রেফারেন্স দেখুন।

<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}",
    "mask" : "*"
}]]></Input>
<Output>masked.output</Output>

এই উদাহরণটির আউটপুট হবে নিম্নরূপ:

{"text":"*****************"}

অনুরোধের পরামিতি

প্যারামিটার বর্ণনা প্রকার ডিফল্ট প্রয়োজনীয়
পাঠ্য পরিচয় গোপন করার জন্য লেখা। স্ট্রিং কিছুই না। হ্যাঁ।
মাস্ক সংবেদনশীল তথ্য গোপন করার জন্য ব্যবহৃত অক্ষর। স্ট্রিং কিছুই না। হ্যাঁ।

প্রতিক্রিয়া

ইনপুট টেক্সট, যেখানে নির্দিষ্ট infoType-এর মানগুলো নির্দিষ্ট অক্ষর দ্বারা প্রতিস্থাপিত হয়। উদাহরণস্বরূপ,

{"text":"*********"}

টেমপ্লেট দিয়ে পরিচয় মুছে ফেলুন

একটি টেমপ্লেট ব্যবহার করে টেক্সট কন্টেন্টের সংবেদনশীল ডেটা ডি-আইডেন্টিফাই করুন, যা নির্ধারণ করে দেয় কোন টেক্সট ডি-আইডেন্টিফাই করতে হবে এবং কীভাবে তা পরিচালনা করতে হবে।

আপনার এপিআই কলগুলোর বাস্তবায়ন থেকে কনফিগারেশনকে (যেমন আপনি কী পরীক্ষা করছেন এবং কীভাবে সেটিকে পরিচয়হীন করছেন) বিচ্ছিন্ন করার জন্য টেমপ্লেটগুলো উপযোগী। টেমপ্লেটগুলো কনফিগারেশন পুনঃব্যবহারের একটি উপায় প্রদান করে এবং বিভিন্ন ব্যবহারকারী ও ডেটা সেটের মধ্যে সামঞ্জস্যতা নিশ্চিত করে।

আপনার টেমপ্লেটে, আপনি যে কন্টেন্টকে ডি-আইডেন্টিফাই করতে চান তার প্রতিনিধিত্বকারী infoTypes নির্দিষ্ট করবেন। infoTypes-এর তালিকার জন্য, InfoType detector reference দেখুন। ডি-আইডেন্টিফাই করার মাধ্যমে টেমপ্লেটের infoTypes প্রপার্টি দ্বারা নির্দিষ্ট করা টেক্সটের অংশগুলো মাস্ক করা হয়।

সিনট্যাক্স

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify"
  "templateName" : "path-to-template"
}]]></Input>

উদাহরণ

নিম্নলিখিত উদাহরণে, পরিচয় গোপন করার জন্য ইনপুটটি হলো request.content ফ্লো ভেরিয়েবল দ্বারা বাহিত রিকোয়েস্ট বডি।

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
    "text" : "{request.content}"
    "templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>

এই উদাহরণের আউটপুট হবে পরিচয়বিহীন অনুরোধের বিষয়বস্তু।

অনুরোধের পরামিতি

প্যারামিটার বর্ণনা প্রকার ডিফল্ট প্রয়োজনীয়
পাঠ্য পরিচয় গোপন করার জন্য পাঠ্য। পরিচয় গোপন করার প্রক্রিয়াটি এর উপরেই কাজ করে। বস্তু কিছুই না। হ্যাঁ।
টেমপ্লেটের নাম যে টেমপ্লেটটি ব্যবহার করতে হবে। এটি নিম্নলিখিত ফর্ম্যাটে টেমপ্লেটের একটি পাথ হবে: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID । আপনি যখন Google API দিয়ে টেমপ্লেট তৈরি করবেন , তখন রেসপন্সের name প্রপার্টির ভ্যালুটি templateName হিসেবে ব্যবহার করুন। স্ট্রিং কিছুই না। হ্যাঁ।

প্রতিক্রিয়া

ইনপুট টেক্সটে নির্দিষ্ট infoType-গুলোর মান infoType-এর নাম দিয়ে প্রতিস্থাপন করা হয়।

টাইপের সাথে পরিচয় পরিবর্তন করুন

টেক্সট কন্টেন্টে থাকা সংবেদনশীল ডেটাকে পরিচয়হীন করুন এবং প্রতিটি মিলে যাওয়া ভ্যালুকে infoType-এর নাম দিয়ে প্রতিস্থাপন করুন। infoType-গুলোর তালিকার জন্য, InfoType ডিটেক্টর রেফারেন্স দেখুন। এই কাজটি এক্সটেনশন কনফিগারেশনে infoTypes প্রপার্টি দ্বারা নির্দিষ্ট করা text অংশগুলোকে মাস্ক করে।

নিম্নলিখিত উদাহরণে, পরিষেবাটি ফোন নম্বরটি শনাক্ত করার পর, সেটিকে infoType-এর নিজস্ব নাম দিয়ে প্রতিস্থাপন করে।

  • ইনপুট টেক্সট:

    John Smith, 123 Main St, Seattle, WA 98122, 206-555-0123.

  • ফলাফলের বিবরণ:

    John Smith, 123 Main St, Seattle, WA 98122, PHONE_NUMBER.

সিনট্যাক্স

<Action>deidentifyWithType</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify"
}]]></Input>

উদাহরণ

নিম্নলিখিত উদাহরণে, মাস্ক করার জন্য ইনপুটটি হলো একটি ইমেল ঠিকানা, যা input.email.address ফ্লো ভেরিয়েবলে সংরক্ষিত আছে। এই নির্দিষ্ট উদাহরণটি সমর্থন করার জন্য, এই এক্সটেনশনটিকে অবশ্যই EMAIL_ADDRESS ইনফোটাইপ সমর্থন করার জন্য কনফিগার করা থাকতে হবে। ইনফোটাইপগুলোর তালিকার জন্য, ইনফোটাইপ ডিটেক্টর রেফারেন্স দেখুন।

<Action>deidentifyWithType</Action>
<Input><![CDATA[{
    "text" : "{input.email.address}"
}]]></Input>

এই উদাহরণটির আউটপুট হবে নিম্নরূপ:

{"text":"EMAIL_ADDRESS"}

অনুরোধের পরামিতি

প্যারামিটার বর্ণনা প্রকার ডিফল্ট প্রয়োজনীয়
পাঠ্য পরিচয় গোপন করার জন্য পাঠ্যটি। স্ট্রিং কিছুই না। হ্যাঁ।

প্রতিক্রিয়া

ইনপুট টেক্সট, যেখানে নির্দিষ্ট infoType-গুলোর মান infoType-এর নাম দিয়ে প্রতিস্থাপিত হবে। উদাহরণস্বরূপ,

{"text":"EMAIL_ADDRESS"}

রেড্যাক্টইমেজ

infoType ক্যাটাগরিগুলোর কোনো একটির অন্তর্ভুক্ত টেক্সট গোপন করুন। গোপন করা বিষয়বস্তু শনাক্ত করে একটি অস্বচ্ছ আয়তক্ষেত্র দিয়ে আড়াল করা হয়। এই পদক্ষেপটি এক্সটেনশন কনফিগারেশনে infoTypes প্রপার্টি দ্বারা নির্দিষ্ট করা image_data এর অংশগুলোকে মাস্ক করে।

ইনফোটাইপগুলির তালিকার জন্য, ইনফোটাইপ ডিটেক্টর রেফারেন্স দেখুন।

অনুরোধের পরামিতি

<Action>redactImage</Action>
<Input><![CDATA[{
  "image_data" : "base64-encoded-image-to-analyze",
  "image_type" : "type-of-image"
}]]></Input>
প্যারামিটার বর্ণনা প্রকার ডিফল্ট প্রয়োজনীয়
ছবির_ডেটা ছবির ডেটা বেস৬৪-এ এনকোড করা হয়েছে। স্ট্রিং কিছুই না। হ্যাঁ।
ছবির_ধরণ ছবির প্রকারের ধ্রুবক। উপলব্ধ মানগুলো হলো IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG। স্ট্রিং কিছুই না। হ্যাঁ।

প্রতিক্রিয়া

লেখাটি মুছে দেওয়া ছবিটি।

কনফিগারেশন রেফারেন্স

এপিআই প্রক্সিতে ব্যবহারের জন্য এই এক্সটেনশনটি কনফিগার এবং ডেপ্লয় করার সময় নিম্নলিখিত বিষয়গুলো ব্যবহার করুন। Apigee কনসোল ব্যবহার করে একটি এক্সটেনশন কনফিগার করার ধাপগুলোর জন্য, “একটি এক্সটেনশন যোগ করা এবং কনফিগার করা” দেখুন।

সাধারণ সম্প্রসারণ বৈশিষ্ট্য

নিম্নলিখিত বৈশিষ্ট্যগুলি প্রতিটি এক্সটেনশনের জন্য উপস্থিত রয়েছে।

সম্পত্তি বর্ণনা ডিফল্ট প্রয়োজন
name আপনি এক্সটেনশনের এই কনফিগারেশনের নাম দিন। কোনোটিই নয় হ্যাঁ
packageName Apigee Edge দ্বারা প্রদত্ত এক্সটেনশন প্যাকেজের নাম। কোনোটিই নয় হ্যাঁ
version যে এক্সটেনশন প্যাকেজ থেকে আপনি একটি এক্সটেনশন কনফিগার করছেন তার সংস্করণ নম্বর। কোনোটিই নয় হ্যাঁ
configuration আপনি যে এক্সটেনশনটি যোগ করছেন তার জন্য নির্দিষ্ট কনফিগারেশন মান। এই এক্সটেনশন প্যাকেজের বৈশিষ্ট্য দেখুন কোনোটিই নয় হ্যাঁ

এই এক্সটেনশন প্যাকেজের জন্য বৈশিষ্ট্যসমূহ

এই এক্সটেনশনের জন্য নির্দিষ্ট নিম্নলিখিত কনফিগারেশন প্রোপার্টিগুলোর মান উল্লেখ করুন।

সম্পত্তি বর্ণনা ডিফল্ট প্রয়োজনীয়
প্রজেক্ট আইডি গুগল ক্লাউড প্রজেক্ট আইডি, যার জন্য ক্লাউড ডেটা লস প্রিভেনশন এপিআই সক্রিয় করা হয়েছে। কিছুই না। হ্যাঁ।
তথ্য প্রকার সংবেদনশীল ডেটার তথ্য প্রকার। এটি বাদ দিলে, পরিষেবাটি সমস্ত অন্তর্নির্মিত প্রকার সনাক্ত করবে। Google Cloud DLP পরিষেবা দ্বারা সমর্থিত তথ্য প্রকারের তালিকার জন্য, তথ্য প্রকার ডিটেক্টর রেফারেন্স দেখুন। কিছুই না। না।
পরিচয়পত্র Apigee Edge কনসোলে প্রবেশ করানো হলে, এটি আপনার সার্ভিস অ্যাকাউন্ট কী ফাইলের বিষয়বস্তু। ম্যানেজমেন্ট API ব্যবহার করে পাঠানো হলে, এটি সার্ভিস অ্যাকাউন্ট কী ফাইল থেকে তৈরি একটি base64-এনকোডেড মান। কিছুই না। হ্যাঁ।