พยากรณ์อเมซอน เป็นบริการที่มีการจัดการเต็มรูปแบบซึ่งใช้เทคโนโลยีเดียวกับที่ใช้ในการพยากรณ์ที่ Amazon.com การคาดการณ์ใช้การเรียนรู้ของเครื่อง (ML) เพื่อรวมข้อมูลอนุกรมเวลากับตัวแปรเพิ่มเติมเพื่อสร้างการคาดการณ์ที่มีความแม่นยำสูง การคาดการณ์ไม่จำเป็นต้องมีประสบการณ์ ML เพื่อเริ่มต้น คุณจะต้องให้ข้อมูลในอดีตและข้อมูลเพิ่มเติมที่อาจส่งผลต่อการคาดการณ์เท่านั้น
ลูกค้าหันมาใช้โมเดล Software as service (SaaS) เพื่อส่งมอบโซลูชันแบบหลายผู้เช่า คุณสามารถสร้างแอปพลิเคชัน SaaS ด้วยรูปแบบสถาปัตยกรรมที่หลากหลายเพื่อให้เป็นไปตามข้อกำหนดและข้อกำหนด ขึ้นอยู่กับรุ่นของ SaaS ทรัพยากร เช่น การพยากรณ์ จะถูกแชร์กับผู้เช่า จำเป็นต้องพิจารณาการเข้าถึงข้อมูล การตรวจสอบ และการเรียกเก็บเงินของข้อมูลการคาดการณ์ต่อผู้เช่าสำหรับการปรับใช้โซลูชัน SaaS
โพสต์นี้สรุปวิธีใช้การพยากรณ์ภายในแอปพลิเคชัน SaaS แบบหลายผู้เช่าโดยใช้ การควบคุมการเข้าถึงตามแอตทริบิวต์ (เอแบค) ใน AWS Identity และการจัดการการเข้าถึง (IAM) เพื่อให้ความสามารถเหล่านี้ ABAC เป็นแนวทางที่มีประสิทธิภาพที่คุณสามารถใช้เพื่อแยกทรัพยากรจากผู้เช่า
ในโพสต์นี้ เราให้คำแนะนำในการกำหนดนโยบาย IAM สำหรับผู้เช่าโดยใช้หลักการและการพยากรณ์ของ ABAC เพื่อแสดงการกำหนดค่า เราตั้งค่าผู้เช่าสองคน TenantA
และ TenantB
และแสดงกรณีการใช้งานในบริบทของแอปพลิเคชัน SaaS โดยใช้การพยากรณ์ ในกรณีการใช้งานของเรา TenantB
ลบไม่ได้ TenantA
ทรัพยากรและในทางกลับกัน แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของเรา
TenantA
และ TenantB
มีบริการที่ทำงานเป็นไมโครเซอร์วิสภายใน บริการ Amazon Elastic Kubernetes (อเมซอน อีเคเอส). แอปพลิเคชันผู้เช่าใช้ Forecast เป็นส่วนหนึ่งของโฟลว์ธุรกิจ
การคาดการณ์การนำเข้าข้อมูล
พยากรณ์นำเข้าข้อมูลจากผู้เช่า's บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon บัคเก็ต (Amazon S3) ไปยังบัคเก็ต S3 ที่มีการจัดการแบบคาดการณ์ ข้อมูลสามารถเข้ารหัสระหว่างการส่งและพักได้โดยอัตโนมัติโดยใช้คีย์ที่มีการจัดการของ Forecast หรือคีย์เฉพาะผู้เช่าผ่าน บริการจัดการคีย์ AWS (AWS KMS). แอปพลิเคชัน SaaS สามารถสร้างคีย์เฉพาะผู้เช่าโดยเป็นส่วนหนึ่งของการเริ่มต้นใช้งาน หรือผู้เช่าสามารถจัดหาคีย์ที่จัดการโดยลูกค้า (CMK) ของตนเองโดยใช้ AWS KMS การเพิกถอนสิทธิ์ในคีย์เฉพาะผู้เช่าจะป้องกันไม่ให้ Forecast ใช้ข้อมูลของผู้เช่า เราขอแนะนำให้ใช้คีย์เฉพาะผู้เช่าและบทบาท IAM ต่อผู้เช่าในสภาพแวดล้อม SaaS แบบหลายผู้เช่า ซึ่งช่วยให้รักษาความปลอดภัยข้อมูลตามผู้เช่าทีละผู้เช่า
ภาพรวมโซลูชัน
คุณสามารถแบ่งพาร์ติชั่นข้อมูลใน Amazon S3 เพื่อแยกการเข้าถึงของผู้เช่าด้วยวิธีต่างๆ สำหรับโพสต์นี้ เราพูดถึงสองกลยุทธ์:
- ใช้ที่ฝากข้อมูล S3 หนึ่งรายการต่อผู้เช่า
- ใช้บัคเก็ต S3 เดียวและแยกข้อมูลผู้เช่าด้วยคำนำหน้า
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกลยุทธ์ต่างๆ โปรดดูที่ การจัดเก็บข้อมูลผู้เช่าหลายรายบน Amazon S3 ที่เก็บ GitHub
เมื่อใช้หนึ่งที่เก็บข้อมูลต่อผู้เช่า คุณใช้นโยบาย IAM เพื่อจำกัดการเข้าถึงที่ฝากข้อมูล S3 ของผู้เช่าที่กำหนด ตัวอย่างเช่น:
มีการจำกัดแบบตายตัวสำหรับจำนวนของบัคเก็ต S3 ต่อบัญชี ต้องใช้กลยุทธ์หลายบัญชีเพื่อเอาชนะข้อจำกัดนี้
ในตัวเลือกที่สอง ข้อมูลผู้เช่าจะแยกโดยใช้คำนำหน้า S3 ในบัคเก็ต S3 เดียว เราใช้นโยบาย IAM เพื่อจำกัดการเข้าถึงภายในกลุ่มคำนำหน้าต่อผู้เช่า ตัวอย่างเช่น:
สำหรับโพสต์นี้ เราใช้ตัวเลือกที่สองในการกำหนดคำนำหน้า S3 ภายในที่ฝากข้อมูลเดียว เราเข้ารหัสข้อมูลผู้เช่าโดยใช้ CMK ใน AWS KMS
การเริ่มต้นใช้งานของผู้เช่า
แอปพลิเคชัน SaaS อาศัยโมเดลที่ไม่มีการเสียดสีเพื่อแนะนำผู้เช่ารายใหม่เข้าสู่สภาพแวดล้อม ซึ่งมักจะต้องมีการจัดองค์ประกอบหลายอย่างเพื่อจัดเตรียมและกำหนดค่าองค์ประกอบทั้งหมดที่จำเป็นในการสร้างผู้เช่าใหม่ได้สำเร็จ กระบวนการนี้ในสถาปัตยกรรม SaaS เรียกว่า การรับผู้เช่า. ผู้เช่าสามารถเริ่มต้นได้โดยตรงหรือเป็นส่วนหนึ่งของกระบวนการที่จัดการโดยผู้ให้บริการ ไดอะแกรมต่อไปนี้แสดงโฟลว์ของการกำหนดค่าการพยากรณ์ต่อผู้เช่าซึ่งเป็นส่วนหนึ่งของกระบวนการปฐมนิเทศ
ทรัพยากรถูกแท็กด้วยข้อมูลผู้เช่า สำหรับโพสต์นี้ เราแท็กทรัพยากรที่มีค่าสำหรับผู้เช่า เช่น tenant_a
.
สร้างบทบาทการคาดการณ์
บทบาท IAM นี้ใช้โดย Forecast ต่อผู้เช่า คุณควรใช้นโยบายต่อไปนี้เพื่ออนุญาตให้ Forecast โต้ตอบกับ Amazon S3 และ AWS KMS ในบัญชีลูกค้า บทบาทถูกแท็กด้วยแท็กผู้เช่า ตัวอย่างเช่น ดูรหัสต่อไปนี้:
สร้างนโยบาย
ในขั้นตอนต่อไป เราสร้างนโยบายสำหรับบทบาทการคาดการณ์ของเรา สำหรับโพสต์นี้ เราแบ่งนโยบายออกเป็นสองนโยบายเพื่อให้อ่านง่ายขึ้น แต่คุณสามารถสร้างได้ตามความต้องการ
นโยบายที่ 1: คาดการณ์การเข้าถึงแบบอ่านอย่างเดียว
นโยบายต่อไปนี้ให้สิทธิ์ในการอธิบาย แสดงรายการ และสอบถามทรัพยากรการพยากรณ์ นโยบายนี้จำกัดการพยากรณ์ให้เข้าถึงแบบอ่านอย่างเดียว เงื่อนไขการตรวจสอบแท็กผู้เช่าในโค้ดต่อไปนี้ช่วยให้แน่ใจว่าค่าแท็กผู้เช่าตรงกับแท็กผู้เช่าหลัก อ้างถึง รหัสตัวหนา สำหรับข้อมูลเฉพาะ
นโยบาย 2: นโยบายการเข้าถึง Amazon S3 และ AWS KMS
นโยบายต่อไปนี้ให้สิทธิ์แก่ AWS KMS และเข้าถึงคำนำหน้าผู้เช่า S3 เงื่อนไขการตรวจสอบแท็กผู้เช่าในโค้ดต่อไปนี้ช่วยให้แน่ใจว่าค่าแท็กผู้เช่าตรงกับแท็กผู้เช่าหลัก อ้างถึง รหัสตัวหนา สำหรับข้อมูลเฉพาะ
สร้างคีย์เฉพาะผู้เช่า
ตอนนี้เราสร้างคีย์เฉพาะผู้เช่าใน AWS KMS ต่อผู้เช่า และแท็กด้วยค่าแท็กผู้เช่า หรือผู้เช่าสามารถนำรหัสของตนเองมาที่ AWS KMS ได้ เราให้บทบาทก่อนหน้า (Forecast_TenantA_Role
or Forecast_TenantB_Role
) เข้าถึงคีย์เฉพาะผู้เช่า
ตัวอย่างเช่น ภาพหน้าจอต่อไปนี้แสดงคู่คีย์-ค่าของ tenant
และ tenant_a
.
ภาพหน้าจอต่อไปนี้แสดงบทบาท IAM ที่สามารถใช้คีย์นี้ได้
สร้างบทบาทของแอปพลิเคชัน
บทบาทที่สองที่เราสร้างนั้นถูกกำหนดโดยแอปพลิเคชัน SaaS ต่อผู้เช่า คุณควรใช้นโยบายต่อไปนี้เพื่ออนุญาตให้แอปพลิเคชันโต้ตอบกับ Forecast, Amazon S3 และ AWS KMS บทบาทถูกแท็กด้วยแท็กผู้เช่า ดูรหัสต่อไปนี้:
สร้างนโยบาย
ตอนนี้เราสร้างนโยบายสำหรับบทบาทของแอปพลิเคชัน สำหรับโพสต์นี้ เราแบ่งนโยบายออกเป็นสองนโยบายเพื่อให้อ่านง่ายขึ้น แต่คุณสามารถสร้างได้ตามความต้องการ
นโยบายที่ 1: พยากรณ์การเข้าถึง
นโยบายต่อไปนี้ให้สิทธิ์ในการสร้าง อัปเดต และลบทรัพยากรการพยากรณ์ นโยบายบังคับใช้ข้อกำหนดแท็กระหว่างการสร้าง นอกจากนี้ยังจำกัด list
, describe
และ delete
การดำเนินการเกี่ยวกับทรัพยากรไปยังผู้เช่าที่เกี่ยวข้อง นโยบายนี้มี IAM PassRole
เพื่อให้การพยากรณ์รับบทบาท
พื้นที่ tenant
เงื่อนไขการตรวจสอบแท็กในโค้ดต่อไปนี้ทำให้แน่ใจว่าค่าแท็กผู้เช่าตรงกับผู้เช่า อ้างถึง รหัสตัวหนา สำหรับข้อมูลเฉพาะ
นโยบาย 2: Amazon S3, AWS KMS, Amazon CloudWatch และการเข้าถึงกลุ่มทรัพยากร
นโยบายต่อไปนี้ให้สิทธิ์ในการเข้าถึงทรัพยากร Amazon S3 และ AWS KMS และ อเมซอน คลาวด์วอตช์. โดยจำกัดการเข้าถึงคำนำหน้า S3 เฉพาะผู้เช่าและ CMK เฉพาะผู้เช่า เงื่อนไขการตรวจสอบผู้เช่าอยู่ใน รหัสตัวหนา.
สร้างกลุ่มทรัพยากร
กลุ่มทรัพยากรอนุญาตให้ผู้เช่าสอบถามทรัพยากรที่แท็กทั้งหมด โค้ดตัวอย่างต่อไปนี้ใช้ the อินเทอร์เฟซบรรทัดคำสั่ง AWS AWS (AWS CLI) เพื่อสร้างกลุ่มทรัพยากรสำหรับ TenantA
:
พยากรณ์ขั้นตอนการสมัคร
ไดอะแกรมต่อไปนี้แสดงโฟลว์แอปพลิเคชันพยากรณ์ของเรา บริการแอปพลิเคชันรับบทบาท IAM สำหรับผู้เช่า และเป็นส่วนหนึ่งของโฟลว์ธุรกิจเรียกใช้ Forecast API
สร้างตัวทำนายสำหรับ TenantB
ทรัพยากรที่สร้างควรติดแท็กด้วยแท็กผู้เช่า รหัสต่อไปนี้ใช้ Python (Boto3) API เพื่อสร้างตัวทำนายสำหรับ TenantB (อ้างอิงถึง รหัสตัวหนา สำหรับข้อมูลเฉพาะ):
สร้างการคาดการณ์เกี่ยวกับตัวทำนายสำหรับ TenantB
โค้ดต่อไปนี้ใช้ Python (Boto3) API เพื่อสร้างการคาดการณ์เกี่ยวกับตัวทำนายที่คุณเพิ่งสร้างขึ้น:
ตรวจสอบการเข้าถึงแหล่งข้อมูลพยากรณ์
ในส่วนนี้ เรายืนยันว่ามีเพียงผู้เช่าที่เกี่ยวข้องเท่านั้นที่สามารถเข้าถึงทรัพยากรของ Forecast การเข้าถึง การปรับเปลี่ยน หรือการลบทรัพยากรการพยากรณ์ที่เป็นของผู้เช่ารายอื่นทำให้เกิดข้อผิดพลาด รหัสต่อไปนี้ใช้ Python (Boto3) API เพื่อสาธิตให้ TenantA พยายามลบทรัพยากรการพยากรณ์ของ TenantB:
แสดงรายการและตรวจสอบตัวทำนาย
โค้ดตัวอย่างต่อไปนี้ใช้ Python (Boto3) API เพื่อค้นหาตัวทำนายพยากรณ์สำหรับ TenantA โดยใช้กลุ่มทรัพยากร:
ในฐานะที่เป็น กรอบงานที่มีสถาปัตยกรรมอย่างดีของ AWS อธิบายว่าการตรวจสอบโควตาบริการเป็นสิ่งสำคัญ (ซึ่งเรียกอีกอย่างว่า ขีดจำกัดบริการ). การคาดการณ์มีขีดจำกัดต่อบัญชี ดูข้อมูลเพิ่มเติมได้ที่ แนวทางและโควต้า.
โค้ดต่อไปนี้เป็นตัวอย่างของการเติมตัววัด CloudWatch ด้วยจำนวนตัวทำนายทั้งหมด:
การพิจารณาอื่น ๆ
การจำกัดทรัพยากรและการควบคุมปริมาณจำเป็นต้องได้รับการจัดการโดยแอปพลิเคชันจากทุกผู้เช่า หากคุณไม่สามารถรองรับ ขีดจำกัดการคาดการณ์คุณควรพิจารณาการกำหนดค่าหลายบัญชี
รายการพยากรณ์ APIs หรือการตอบสนองกลุ่มทรัพยากรต้องถูกกรองโดยแอปพลิเคชันตาม tenant
ค่าแท็ก
สรุป
ในโพสต์นี้ เราสาธิตวิธีแยกการเข้าถึงแบบพยากรณ์โดยใช้เทคนิค ABAC ในแอปพลิเคชัน SaaS แบบหลายผู้เช่า เราแสดงวิธีจำกัดการเข้าถึงพยากรณ์โดยผู้เช่าโดยใช้แท็กผู้เช่า คุณสามารถปรับแต่งนโยบายเพิ่มเติมได้โดยใช้แท็กเพิ่มเติม หรือใช้กลยุทธ์นี้กับบริการอื่นๆ ของ AWS
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ ABAC เป็นกลยุทธ์การอนุญาต โปรดดูที่ ABAC สำหรับ AWS คืออะไร
เกี่ยวกับผู้เขียน
กุนจันการ์ก เป็น Sr. Software Development Engineer ในทีม AWS Vertical AI ในบทบาทปัจจุบันของเธอที่ Amazon Forecast เธอมุ่งเน้นไปที่ปัญหาด้านวิศวกรรมและสนุกกับการสร้างระบบที่ปรับขนาดได้ซึ่งมอบคุณค่าสูงสุดแก่ผู้ใช้ปลายทาง ในเวลาว่าง เธอสนุกกับการเล่น Sudoku และ Minesweeper
มาเทียส บัตทาเกลีย เป็นผู้จัดการบัญชีด้านเทคนิคที่ Amazon Web Services ในบทบาทปัจจุบันของเขา เขาสนุกกับการช่วยเหลือลูกค้าในทุกขั้นตอนของการเดินทางบนระบบคลาวด์ ในเวลาว่าง เขาสนุกกับการสร้างโครงการ AI/ML
ราเคช รามาดาส เป็นสถาปนิกโซลูชัน ISV ที่ Amazon Web Services ประเด็นสำคัญของเขา ได้แก่ AI/ML และ Big Data
- เข้า
- ลงชื่อเข้าใช้
- การกระทำ
- เพิ่มเติม
- AI
- อเมซอน
- พยากรณ์อเมซอน
- Amazon Web Services
- API
- APIs
- การใช้งาน
- การใช้งาน
- สถาปัตยกรรม
- การอนุญาต
- AWS
- การเรียกเก็บเงิน
- สร้าง
- การก่อสร้าง
- ธุรกิจ
- เมฆ
- รหัส
- การปฏิบัติตาม
- ปัจจุบัน
- ลูกค้า
- ข้อมูล
- การเข้าถึงข้อมูล
- ถอดรหัส
- การจัดส่ง
- พัฒนาการ
- วิศวกร
- ชั้นเยี่ยม
- สิ่งแวดล้อม
- ไหล
- โฟกัส
- ฟรี
- GitHub
- บัญชีกลุ่ม
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- HTTPS
- AMI
- เอกลักษณ์
- ส่งผลกระทบ
- ข้อมูล
- IT
- คีย์
- กุญแจ
- Kubernetes
- การเรียนรู้
- Line
- รายการ
- เรียนรู้เครื่อง
- การจัดการ
- ML
- แบบ
- การตรวจสอบ
- การดูแลพนักงานใหม่
- ตัวเลือกเสริม (Option)
- อื่นๆ
- นโยบาย
- นโยบาย
- โครงการ
- หลาม
- ความต้องการ
- ทรัพยากร
- แหล่งข้อมูล
- คำตอบ
- REST
- วิ่ง
- SaaS
- ชุด
- บริการ
- ชุด
- การตั้งค่า
- ที่ใช้ร่วมกัน
- ง่าย
- ซอฟต์แวร์
- การพัฒนาซอฟต์แวร์
- โซลูชัน
- แยก
- ข้อความที่เริ่ม
- คำแถลง
- การเก็บรักษา
- กลยุทธ์
- ระบบ
- วิชาการ
- เทคโนโลยี
- เวลา
- การขนส่ง
- บันทึก
- ผู้ใช้
- ความคุ้มค่า
- เว็บ
- บริการเว็บ
- ภายใน