การส่งมอบข้อมูลและข้อมูลเชิงลึกที่ใกล้เคียงแบบเรียลไทม์ช่วยให้ธุรกิจสามารถตอบสนองความต้องการของลูกค้าได้อย่างรวดเร็ว ข้อมูลแบบเรียลไทม์อาจมาจากแหล่งต่างๆ รวมถึงโซเชียลมีเดีย อุปกรณ์ IoT การตรวจสอบโครงสร้างพื้นฐาน การตรวจสอบคอลเซ็นเตอร์ และอื่นๆ เนื่องจากความกว้างและความลึกของข้อมูลที่นำเข้าจากหลายแหล่ง ธุรกิจต่างๆ จึงมองหาโซลูชันเพื่อปกป้องความเป็นส่วนตัวของลูกค้าและป้องกันไม่ให้มีการเข้าถึงข้อมูลที่ละเอียดอ่อนจากระบบปลายทาง ก่อนหน้านี้คุณต้องพึ่งพากลไกกฎข้อมูลส่วนบุคคลที่สามารถระบุตัวตนได้ (PII) ที่อาจติดธงว่าข้อมูลผิดพลาดหรือพลาดข้อมูล หรือคุณต้องสร้างและรักษาโมเดลการเรียนรู้ของเครื่อง (ML) แบบกำหนดเองเพื่อระบุ PII ในข้อมูลการสตรีมของคุณ คุณยังต้องปรับใช้และบำรุงรักษาโครงสร้างพื้นฐานที่จำเป็นเพื่อสนับสนุนเครื่องยนต์หรือโมเดลเหล่านี้
เพื่อช่วยปรับปรุงกระบวนการนี้และลดต้นทุน คุณสามารถใช้ เข้าใจ Amazonซึ่งเป็นบริการประมวลผลภาษาธรรมชาติ (NLP) ที่ใช้ ML เพื่อค้นหาข้อมูลเชิงลึกและความสัมพันธ์ เช่น ผู้คน สถานที่ ความรู้สึก และหัวข้อในข้อความที่ไม่มีโครงสร้าง ตอนนี้คุณสามารถใช้ความสามารถของ Amazon Comprehend ML เพื่อตรวจจับและตรวจทาน PII ในอีเมลลูกค้า ตั๋วสนับสนุน บทวิจารณ์ผลิตภัณฑ์ โซเชียลมีเดีย และอื่นๆ ได้แล้ว ไม่จำเป็นต้องมีประสบการณ์ ML ตัวอย่างเช่น คุณสามารถวิเคราะห์ตั๋วสนับสนุนและบทความองค์ความรู้เพื่อตรวจหาเอนทิตี PII และตรวจทานข้อความก่อนที่คุณจะจัดทำดัชนีเอกสาร หลังจากนั้น เอกสารจะปลอดจากเอนทิตี PII และผู้ใช้สามารถใช้ข้อมูลได้ การแก้ไขหน่วยงาน PII ช่วยให้คุณปกป้องความเป็นส่วนตัวของลูกค้าและปฏิบัติตามกฎหมายและระเบียบข้อบังคับในท้องถิ่น
ในโพสต์นี้ คุณจะได้เรียนรู้วิธีปรับใช้ Amazon Comprehend กับสถาปัตยกรรมการสตรีมของคุณเพื่อแก้ไขเอนทิตี PII ในเวลาที่เกือบเรียลไทม์โดยใช้ สายไฟ Amazon Kinesis Data กับ AWS แลมบ์ดา.
โพสต์นี้เน้นที่การแก้ไขข้อมูลจากฟิลด์ที่เลือกซึ่งนำเข้ามาในสถาปัตยกรรมการสตรีมโดยใช้ Kinesis Data Firehose ซึ่งคุณต้องการสร้าง จัดเก็บ และรักษาสำเนาเพิ่มเติมของข้อมูลเพื่อการบริโภคโดยผู้ใช้ปลายทางหรือแอปพลิเคชันปลายทาง หากคุณกำลังใช้ สตรีมข้อมูล Amazon Kinesis หรือมีกรณีการใช้งานเพิ่มเติมนอกเหนือจากการแก้ไข PII โปรดดูที่ แปล ตรวจทาน และวิเคราะห์ข้อมูลการสตรีมโดยใช้ฟังก์ชัน SQL กับ Amazon Kinesis Data Analytics, Amazon Translate และ Amazon Comprehendที่เราจะแสดงวิธีการใช้งานของคุณ Amazon Kinesis Data Analytics Studio ขับเคลื่อนด้วย อาปาเช่เหาะ และ อาปาเช่ ฟลิงค์ เพื่อวิเคราะห์ แปล และแก้ไขฟิลด์ข้อความในข้อมูลการสตรีมแบบโต้ตอบ
ภาพรวมโซลูชัน
รูปต่อไปนี้แสดงตัวอย่างสถาปัตยกรรมสำหรับการดำเนินการแก้ไข PII ของข้อมูลการสตรีมแบบเรียลไทม์โดยใช้ บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (อเมซอน เอส3) Kinesis Data Firehose การแปลงข้อมูล, เข้าใจ Amazonและ AWS แลมบ์ดา. นอกจากนี้ เราใช้ AWS SDK สำหรับ Python (Boto3) สำหรับฟังก์ชันแลมบ์ดา ตามที่ระบุไว้ในไดอะแกรม บัคเก็ตดิบ S3 มีข้อมูลที่ไม่ถูกปกปิด และบัคเก็ตที่ปกปิดของ S3 มีข้อมูลที่ปกปิดหลังจากใช้ Amazon Comprehend DetectPiiEntities
API ภายในฟังก์ชันแลมบ์ดา
ค่าใช้จ่ายที่เกี่ยวข้อง
นอกจากค่าใช้จ่าย Kinesis Data Firehose, Amazon S3 และ Lambda แล้ว โซลูชันนี้จะทำให้เกิดต้นทุนการใช้งานจาก Amazon Comprehend จำนวนเงินที่คุณจ่ายเป็นปัจจัยของจำนวนระเบียนทั้งหมดที่มี PII และอักขระที่ประมวลผลโดยฟังก์ชัน Lambda สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ราคา Amazon Kinesis Data Firehose, Amazon เข้าใจราคาและ ราคา AWS Lambda.
ตัวอย่างเช่น สมมติว่าคุณมีระเบียนบันทึก 10,000 รายการ และค่าคีย์ที่คุณต้องการแก้ไข PII คือ 500 อักขระ จากระเบียนบันทึก 10,000 รายการ มี 50 รายการระบุว่ามี PII รายละเอียดค่าใช้จ่ายมีดังนี้:
มีค่าใช้จ่าย PII:
- ขนาดของแต่ละค่าคีย์ = 500 อักขระ (1 หน่วย = 100 อักขระ)
- จำนวนหน่วย (100 ตัวอักษร) ต่อบันทึก (ขั้นต่ำ 3 หน่วย) = 5
- หน่วยทั้งหมด = 10,000 (บันทึก) x 5 (หน่วยต่อบันทึก) x 1 (คำขอ Amazon Comprehend ต่อบันทึก) = 50,000
- ราคาต่อหน่วย = 0.000002
- ค่าใช้จ่ายทั้งหมดสำหรับการระบุบันทึกบันทึกด้วย PII โดยใช้ Contain PiiEntities API = 0.1 ดอลลาร์ [50,000 หน่วย x 0.000002]
แก้ไขต้นทุน PII:
- หน่วยทั้งหมดที่มี PII = 50 (บันทึก) x 5 (หน่วยต่อบันทึก) x 1 (คำขอ Amazon Comprehend ต่อบันทึก) = 250
- ราคาต่อหน่วย = 0.0001
- ค่าใช้จ่ายทั้งหมดสำหรับการระบุตำแหน่งของ PII โดยใช้ DetectPiiEntities API = [จำนวนหน่วย] x [ต้นทุนต่อหน่วย] = 250 x 0.0001 เหรียญ = 0.025 เหรียญ
ค่าใช้จ่ายทั้งหมดสำหรับการระบุและการแก้ไข:
- ค่าใช้จ่ายทั้งหมด: 0.1 เหรียญ (การตรวจสอบหากฟิลด์มี PII) + 0.025 เหรียญ (ฟิลด์แก้ไขที่มี PII) = 0.125 เหรียญ
ปรับใช้โซลูชันด้วย AWS CloudFormation
สำหรับโพสต์นี้ เราจัดเตรียม การก่อตัวของ AWS Cloud การแก้ไขข้อมูลสตรีมมิง เทมเพลตซึ่งให้รายละเอียดทั้งหมดของการนำไปใช้เพื่อเปิดใช้งานการปรับใช้ซ้ำได้ เมื่อปรับใช้ เทมเพลตนี้จะสร้างบัคเก็ต S3 สองบัคเก็ต: อันแรกเพื่อเก็บข้อมูลตัวอย่างดิบที่นำเข้าจาก Amazon Kinesis Data Generator (KDG) และอีกอันหนึ่งสำหรับจัดเก็บข้อมูลที่ปกปิด นอกจากนี้ยังสร้างสตรีมการส่งมอบ Kinesis Data Firehose ด้วย DirectPUT
เป็นอินพุตและฟังก์ชัน Lambda ที่เรียกใช้ Amazon Comprehend ประกอบด้วย PiiEntities และ ตรวจหาเอนทิตี Pii API เพื่อระบุและตรวจทานข้อมูล PII ฟังก์ชัน Lambda อาศัยอินพุตของผู้ใช้ในตัวแปรสภาพแวดล้อมเพื่อกำหนดว่าค่าคีย์ใดที่ต้องตรวจสอบสำหรับ PII
ฟังก์ชัน Lambda ในโซลูชันนี้มีขนาดน้ำหนักบรรทุกจำกัดที่ 100 KB หากมีการระบุเพย์โหลดที่มีข้อความมากกว่า 100 KB ฟังก์ชัน Lambda จะข้ามไป
ในการปรับใช้โซลูชัน ให้ทำตามขั้นตอนต่อไปนี้:
- เปิดใช้ CloudFormation stack ในสหรัฐอเมริกาฝั่งตะวันออก (เวอร์จิเนียเหนือ)
us-east-1
: - ป้อนชื่อสแต็ก และปล่อยให้พารามิเตอร์อื่น ๆ เป็นค่าเริ่มต้น
- เลือก ฉันรับทราบว่า AWS CloudFormation อาจสร้างทรัพยากร IAM ด้วยชื่อที่กำหนดเอง
- Choose สร้าง stack.
ปรับใช้ทรัพยากรด้วยตนเอง
หากคุณต้องการสร้างสถาปัตยกรรมด้วยตนเองแทนที่จะใช้ AWS CloudFormation ให้ทำตามขั้นตอนในส่วนนี้
สร้างที่เก็บข้อมูล S3
สร้างบัคเก็ต S3 ของคุณด้วยขั้นตอนต่อไปนี้:
- บนคอนโซล Amazon S3 ให้เลือก บุ้งกี๋ ในบานหน้าต่างนำทาง
- Choose สร้างที่เก็บข้อมูล.
- สร้างที่เก็บข้อมูลหนึ่งชุดสำหรับข้อมูลดิบและอีกชุดสำหรับข้อมูลที่แก้ไข
- จดชื่อที่ฝากข้อมูลที่คุณเพิ่งสร้างขึ้น
สร้างฟังก์ชันแลมบ์ดา
ในการสร้างและปรับใช้ฟังก์ชัน Lambda ให้ทำตามขั้นตอนต่อไปนี้:
- บนคอนโซล Lambda ให้เลือก สร้างฟังก์ชัน.
- Choose ผู้เขียนตั้งแต่เริ่มต้น.
- สำหรับ ชื่อฟังก์ชั่นป้อน
AmazonComprehendPII-Redact
. - สำหรับ Runtimeเลือก งูหลาม 3.9.
- สำหรับ สถาปัตยกรรมให้เลือก x86_64.
- สำหรับ บทบาทการดำเนินการให้เลือก สร้างบทบาทใหม่ด้วยการอนุญาตแลมบ์ดา.
- หลังจากที่คุณสร้างฟังก์ชันแล้ว ให้ป้อนรหัสต่อไปนี้:
- Choose ปรับใช้.
- ในบานหน้าต่างนำทาง เลือก การตั้งค่าคอนฟิก
- นำทางไปยัง ตัวแปรสภาพแวดล้อม.
- Choose Edit.
- สำหรับ คีย์ป้อน
keys
. - สำหรับ ความคุ้มค่าให้ป้อนค่าคีย์ที่คุณต้องการแก้ไข PII โดยคั่นด้วยเครื่องหมายจุลภาคและเว้นวรรค ตัวอย่างเช่น enter
Tweet1
,Tweet2
หากคุณกำลังใช้ข้อมูลการทดสอบตัวอย่างที่ให้ไว้ในส่วนถัดไปของโพสต์นี้ - Choose ลด.
- นำทางไปยัง การกำหนดค่าทั่วไป.
- Choose Edit.
- เปลี่ยนค่าของ การหยุดพักชั่วคราว ถึง 1 นาที
- Choose ลด.
- นำทางไปยัง สิทธิ์.
- เลือกชื่อบทบาทภายใต้ บทบาทการดำเนินการ.
คุณถูกเปลี่ยนเส้นทางไปที่ AWS Identity และการจัดการการเข้าถึง (IAM) คอนโซล - สำหรับ เพิ่มสิทธิ์เลือก แนบนโยบาย.
- เข้าสู่
Comprehend
ลงในแถบค้นหาและเลือกนโยบายComprehendFullAccess
. - Choose แนบนโยบาย.
สร้างสตรีมการจัดส่ง Firehose
หากต้องการสร้างสตรีมการจัดส่ง Firehose ให้ทำตามขั้นตอนต่อไปนี้:
- บนคอนโซล Kinesis Data Firehose ให้เลือก สร้างกระแสการจัดส่ง.
- สำหรับ แหล่งให้เลือก วางโดยตรง.
- สำหรับ ปลายทางให้เลือก Amazon S3.
- สำหรับ ชื่อสตรีมการจัดส่งป้อน
ComprehendRealTimeBlog
. - ภายใต้ แปลงบันทึกต้นทางด้วย AWS Lambdaให้เลือก เปิดใช้งาน.
- สำหรับ ฟังก์ชัน AWS Lambdaป้อน ARN สำหรับฟังก์ชันที่คุณสร้างขึ้น หรือเรียกดูฟังก์ชัน
AmazonComprehendPII-Redact
. - สำหรับ ขนาดบัฟเฟอร์ตั้งค่าเป็น 1 MB
- สำหรับ ช่วงเวลาบัฟเฟอร์ปล่อยให้เป็น 60 วินาที
- ภายใต้ การตั้งค่าปลายทางให้เลือกบัคเก็ต S3 ที่คุณสร้างขึ้นสำหรับข้อมูลที่แก้ไข
- ภายใต้ การตั้งค่าสำรองเลือกบัคเก็ต S3 ที่คุณสร้างขึ้นสำหรับเรกคอร์ดดิบ
- ภายใต้ การอนุญาตสร้างหรืออัปเดตบทบาท IAM หรือเลือกบทบาทที่มีอยู่โดยมีสิทธิ์ที่เหมาะสม
- Choose สร้างกระแสการจัดส่ง.
ปรับใช้โซลูชันข้อมูลการสตรีมด้วย Kinesis Data Generator
คุณสามารถใช้ Kinesis Data Generator (KDG) เพื่อนำเข้าข้อมูลตัวอย่างไปยัง Kinesis Data Firehose และทดสอบโซลูชัน เพื่อให้กระบวนการนี้ง่ายขึ้น เรามีฟังก์ชัน Lambda และเทมเพลต CloudFormation เพื่อสร้าง Amazon Cognito Co ผู้ใช้และกำหนดสิทธิ์ที่เหมาะสมเพื่อใช้ KDG
- เกี่ยวกับ หน้าตัวสร้างข้อมูล Amazon Kinesisเลือก สร้างผู้ใช้ Cognito ด้วย CloudFormationคุณถูกเปลี่ยนเส้นทางไปยังคอนโซล AWS CloudFormation เพื่อสร้างสแต็กของคุณ
- ระบุชื่อผู้ใช้และรหัสผ่านสำหรับผู้ใช้ที่คุณเข้าสู่ระบบ KDG
- ปล่อยให้การตั้งค่าอื่น ๆ เป็นค่าเริ่มต้นและสร้างสแต็กของคุณ
- เกี่ยวกับ Outputs แท็บ เลือกลิงก์ KDG UI
- ป้อนชื่อผู้ใช้และรหัสผ่านของคุณเพื่อเข้าสู่ระบบ
ส่งบันทึกการทดสอบและตรวจสอบการตรวจสอบความถูกต้องใน Amazon S3
ในการทดสอบโซลูชัน ให้ทำตามขั้นตอนต่อไปนี้:
- เข้าสู่ระบบ KDG URL ที่คุณสร้างในขั้นตอนก่อนหน้า
- เลือกภูมิภาคที่ปรับใช้สแต็ก AWS CloudFormation
- สำหรับ สตรีม/สตรีมการจัดส่ง, เลือกสตรีมการส่งที่คุณสร้าง (หากคุณใช้เทมเพลต จะมีรูปแบบ
accountnumber-awscomprehend-blog
). - ปล่อยให้การตั้งค่าอื่นๆ เป็นค่าเริ่มต้น
- สำหรับเทมเพลตเรกคอร์ด คุณสามารถสร้างการทดสอบของคุณเอง หรือใช้เทมเพลตต่อไปนี้ หากคุณกำลังใช้ข้อมูลตัวอย่างที่ให้ไว้ด้านล่างสำหรับการทดสอบ คุณควรมีตัวแปรสภาพแวดล้อมที่อัปเดตใน
AmazonComprehendPII-Redact
ฟังก์ชันแลมบ์ดาtoTweet1
,Tweet2
. หากปรับใช้ผ่าน CloudFormation ให้อัปเดตตัวแปรสภาพแวดล้อมเป็นTweet1
,Tweet2
ภายในฟังก์ชัน Lambda ที่สร้างขึ้น ข้อมูลการทดสอบตัวอย่างอยู่ด้านล่าง: - Choose ส่งข้อมูลและรอสักครู่เพื่อส่งบันทึกไปยังสตรีมของคุณ
- หลังจากไม่กี่วินาที ให้หยุดตัวสร้าง KDG และตรวจสอบบัคเก็ต S3 ของคุณสำหรับไฟล์ที่ส่ง
ต่อไปนี้คือตัวอย่างของข้อมูลดิบในบัคเก็ต S3 แบบดิบ:
ต่อไปนี้คือตัวอย่างของข้อมูลที่ปกปิดในบัคเก็ต S3 ที่ Redacted:
ข้อมูลที่ละเอียดอ่อนได้ถูกลบออกจากข้อความที่ถูกปกปิด ซึ่งทำให้มั่นใจได้ว่าคุณสามารถแบ่งปันข้อมูลนี้กับระบบปลายทางได้
ทำความสะอาด
เมื่อคุณทดลองใช้โซลูชันนี้เสร็จแล้ว ให้ล้างทรัพยากรของคุณโดยใช้คอนโซล AWS CloudFormation เพื่อลบทรัพยากรทั้งหมดที่ปรับใช้ในตัวอย่างนี้ หากคุณทำตามขั้นตอนด้วยตนเอง คุณจะต้องลบสองที่เก็บข้อมูลด้วยตนเอง นั่นคือ AmazonComprehendPII-Redact
ฟังก์ชัน ComprehendRealTimeBlog
สตรีม กลุ่มบันทึกสำหรับ ComprehendRealTimeBlog
สตรีม และบทบาท IAM ใดๆ ที่สร้างขึ้น
สรุป
โพสต์นี้แสดงให้คุณเห็นถึงวิธีการผสานรวมการแก้ไข PII เข้ากับสถาปัตยกรรมการสตรีมแบบเกือบเรียลไทม์ของคุณ และลดเวลาในการประมวลผลข้อมูลด้วยการดำเนินการแก้ไขในเที่ยวบิน ในสถานการณ์สมมตินี้ คุณให้ข้อมูลที่ปกปิดไว้กับผู้ใช้ปลายทาง และผู้ดูแลระบบ Data Lake จะรักษาความปลอดภัยที่ฝากข้อมูลดิบเพื่อใช้ในภายหลัง คุณยังสามารถสร้างการประมวลผลเพิ่มเติมด้วย Amazon Comprehend เพื่อระบุโทนเสียงหรือความรู้สึก ระบุเอนทิตีภายในข้อมูล และจัดประเภทแต่ละข้อความ
เราได้จัดเตรียมขั้นตอนสำหรับแต่ละบริการไว้เป็นส่วนหนึ่งของโพสต์นี้ และยังรวมเทมเพลต CloudFormation ที่ช่วยให้คุณสามารถจัดเตรียมทรัพยากรที่จำเป็นในบัญชีของคุณ เทมเพลตนี้ควรใช้สำหรับการพิสูจน์แนวคิดหรือสถานการณ์การทดสอบเท่านั้น ดูคู่มือนักพัฒนาสำหรับ เข้าใจ Amazon, แลมบ์ดาและ ท่อดับเพลิง Kinesis Data สำหรับขีดจำกัดบริการใดๆ
ในการเริ่มต้นใช้งานการระบุและการแก้ไข PII โปรดดูที่ ข้อมูลส่วนบุคคลที่สามารถระบุตัวตนได้ (PII). ด้วยสถาปัตยกรรมตัวอย่างในโพสต์นี้ คุณสามารถผสานรวม Amazon Comprehend API ใดๆ กับข้อมูลแบบเกือบเรียลไทม์ได้โดยใช้การแปลงข้อมูล Kinesis Data Firehose หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่คุณสามารถสร้างด้วยข้อมูลเกือบเรียลไทม์ด้วย Kinesis Data Firehose โปรดดูที่ คู่มือนักพัฒนา Amazon Kinesis Data Firehose. โซลูชันนี้พร้อมใช้งานในภูมิภาค AWS ทั้งหมดที่มี Amazon Comprehend และ Kinesis Data Firehose
เกี่ยวกับผู้แต่ง
โจ โมรอตติ เป็นสถาปนิกโซลูชันที่ Amazon Web Services (AWS) ซึ่งช่วยเหลือลูกค้าระดับองค์กรทั่วมิดเวสต์ของสหรัฐฯ เขามีบทบาททางเทคนิคมากมายและสนุกกับการแสดงศิลปะของลูกค้าให้ได้มากที่สุด ในเวลาว่าง เขาสนุกกับการใช้เวลาคุณภาพกับครอบครัวในการสำรวจสถานที่ใหม่ๆ และวิเคราะห์ผลงานของทีมกีฬามากเกินไป
ศรีฮาร์ช อาดารี เป็นสถาปนิกโซลูชันอาวุโสที่ Amazon Web Services (AWS) ซึ่งเขาช่วยให้ลูกค้าทำงานย้อนกลับจากผลลัพธ์ทางธุรกิจเพื่อพัฒนาโซลูชันที่เป็นนวัตกรรมใหม่บน AWS ตลอดหลายปีที่ผ่านมา เขาได้ช่วยลูกค้าหลายรายในการเปลี่ยนแปลงแพลตฟอร์มข้อมูลในแนวดิ่งของอุตสาหกรรม ความเชี่ยวชาญหลักของเขา ได้แก่ กลยุทธ์เทคโนโลยี การวิเคราะห์ข้อมูล และวิทยาศาสตร์ข้อมูล ในเวลาว่าง เขาชอบเล่นเทนนิส ดูรายการทีวี และเล่น Tabla
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- อเมซอน Kinesis
- การวิเคราะห์
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ในการธนาคาร
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- AWS Machine Learning AWS
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- การเรียนรู้ลึก ๆ
- google ai
- ระดับกลาง (200)
- ท่อดับเพลิง Kinesis Data
- เรียนรู้เครื่อง
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ขนาดไอ
- วากยสัมพันธ์
- ลมทะเล