Google Cloud Data Loss Prevention এক্সটেনশন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

ভার্সন: 1.2.0

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

এই এক্সটেনশন কনফিগার ও ব্যবহার করার জন্য এই কন্টেন্ট রেফারেন্স প্রদান করে। এই এক্সটেনশনের কনফিগারেশন রেফারেন্সের জন্য, কনফিগারেশন রেফারেন্স দেখুন।

পূর্বশর্ত

এই এক্সটেনশন কনফিগার ও ব্যবহার করার জন্য এই কন্টেন্ট রেফারেন্স প্রদান করে। ExtensionCallout নীতি ব্যবহার করে API প্রক্সি থেকে এক্সটেনশন ব্যবহার করার আগে, আপনাকে অবশ্যই:

  1. আপনার প্রোজেক্টের জন্য Google Cloud DLP API চালু করুন।

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

  3. পরিষেবা অ্যাকাউন্টের জন্য কী তৈরি করতে GCP Console ব্যবহার করুন।

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

Cloud Data Loss Prevention (DLP) সম্পর্কে

Cloud Data Loss Prevention (DLP) হল একটি API যা সংবেদনশীল ডেটা শনাক্ত ও ম্যানেজ করার জন্য টেক্সট, ছবি ও অন্যান্য ডেটা পরীক্ষা করে।

আরও জানতে, DLP ওভারভিউ দেখুন। এই এক্সটেনশন যে API এক্সপোজ করে তার রেফারেন্সের জন্য, Cloud Data Loss Prevention (DLP) API দেখুন।

নমুনা

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

এই স্যাম্পেল কোড ব্যবহার করা সহজ করতে, এই উদাহরণগুলি ফ্লো ভেরিয়েবল ভ্যালু সেট করতে এবং ট্রেস টুলে দেখানোর জন্য এক্সটেনশন রেসপন্স ভ্যালু রিট্রিভ করতে 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 ভেরিয়েবলের ভ্যালু রিট্রিভ করে এবং Cloud DLP এক্সটেনশনে (এখানে, 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>

Trace টুলে দেখানোর জন্য নিম্নলিখিত AssignMessage নীতি এক্সটেনশনের আউটপুট রিট্রিভ করে।

<?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 ভেরিয়েবল ভ্যালু রিট্রিভ করে এবং সেটি Cloud DLP এক্সটেনশনে (এখানে, 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>

Trace টুলে দেখানোর জন্য নিম্নলিখিত AssignMessage নীতি এক্সটেনশনের আউটপুট রিট্রিভ করে।

<?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]."}

ক্রিয়াসমূহ

deidentifyWithMask

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

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

সিন্ট্যাক্স

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

উদাহরণ

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

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

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

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

অনুরোধের প্যারামিটার

প্যারামিটার বিবরণ ধরন ডিফল্ট প্রয়োজনীয়
মেসেজ পাঠান শনাক্তকরণ সরিয়ে দেওয়ার জন্য টেক্সট। স্ট্রিং কোনওটিই নয়। হ্যাঁ।
মাস্ক সংবেদনশীল ডেটা মাস্ক করার জন্য ব্যবহার করার অক্ষর। স্ট্রিং কোনওটিই নয়। হ্যাঁ।

রেসপন্স

নির্দিষ্ট infoTypes-এর ভ্যালু সহ ইনপুট টেক্সট নির্দিষ্ট অক্ষর দিয়ে প্রতিস্থাপন করা হয়েছে। যেমন,

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

deidentifyWithType

টেক্সট কন্টেন্টে সংবেদনশীল ডেটা ডি-আইডেন্টিফাই করুন, প্রতিটি ম্যাচ করা ভ্যালুকে infoType-এর নাম দিয়ে পরিবর্তন করুন। infoTypes-এর তালিকার জন্য, 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 infoType-কে সমর্থন করার জন্য কনফিগার করা থাকতে হবে। infoTypes-এর তালিকার জন্য, InfoType ডিটেক্টর রেফারেন্স দেখুন।

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

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

{"text":"EMAIL_ADDRESS"}

অনুরোধের প্যারামিটার

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

রেসপন্স

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

{"text":"EMAIL_ADDRESS"}

redactImage

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

infoTypes-এর তালিকার জন্য, InfoType ডিটেক্টর রেফারেন্স দেখুন।

অনুরোধের প্যারামিটার

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

রেসপন্স

টেক্সট সহ ছবি রিড্যাক্ট করা হয়েছে।

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

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

এক্সটেনশনের সাধারণ প্রপার্টি

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

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

এই এক্সটেনশন প্যাকেজের প্রপার্টি

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

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