การรักษาความปลอดภัยของโครงสร้างพื้นฐานสำหรับแอปพลิเคชัน AI

1. บทนำ

ภาพรวม

ในแล็บนี้ คุณจะลดภัยคุกคามที่พบบ่อยต่อโครงสร้างพื้นฐานของสภาพแวดล้อมการพัฒนา AI คุณใช้การควบคุมความปลอดภัยที่ออกแบบมาเพื่อปกป้องคอมโพเนนต์หลักของสภาพแวดล้อมนี้

บริบท

คุณคือผู้เชี่ยวชาญด้านความปลอดภัยในทีมพัฒนา และเป้าหมายของคุณคือการสร้างสภาพแวดล้อมที่ผสานการใช้งานที่ราบรื่นที่สุดกับการป้องกันภัยคุกคามที่พบบ่อย

ตารางต่อไปนี้แสดงภัยคุกคามที่คุณกังวลมากที่สุดและต้องการลดความเสี่ยง ภัยคุกคามแต่ละอย่างจะได้รับการจัดการโดยงานที่เฉพาะเจาะจงภายในห้องทดลองนี้

ภัยคุกคาม

การผ่อนปรนชั่วคราว

งานที่ครอบคลุม

การเข้าถึงเครือข่ายโดยไม่ได้รับอนุญาตผ่านพอร์ตที่เปิดอยู่ซึ่งถูกโจมตี

สร้าง VPC ส่วนตัวและจำกัดการเข้าถึง Vertex AI ให้ผู้ใช้รายเดียวที่พร็อกซีผ่าน Google Cloud แทนที่อยู่ IP สาธารณะ

กำหนดค่ารากฐานเครือข่ายที่ปลอดภัย

การโจมตีเพื่อยกระดับสิทธิ์จากอินสแตนซ์การประมวลผลที่ถูกบุกรุกโดยใช้ข้อมูลเข้าสู่ระบบที่มีสิทธิ์มากเกินไป

สร้างและกำหนดบัญชีบริการที่มีสิทธิ์น้อยที่สุดให้กับอินสแตนซ์ Vertex AI

ติดตั้งใช้งานอินสแตนซ์ Vertex AI Workbench ที่ปลอดภัย

การยึดครองอินสแตนซ์ของทรัพยากรการประมวลผล ซึ่งนำไปสู่การดัดแปลงระบบ

เพิ่มความปลอดภัยของอินสแตนซ์โดยปิดใช้การเข้าถึงระดับรูทและเปิดใช้การเปิดเครื่องที่ปลอดภัย

ติดตั้งใช้งานอินสแตนซ์ Vertex AI Workbench ที่ปลอดภัย

การเปิดเผยข้อมูลฝึกฝนและโมเดลต่อสาธารณะโดยไม่ตั้งใจเนื่องจากการกำหนดค่าพื้นที่เก็บข้อมูลไม่ถูกต้อง

บังคับใช้การป้องกันการเข้าถึงแบบสาธารณะใน Bucket และใช้การควบคุมการเข้าถึงระดับ Bucket แบบเดียวกัน

ทำให้ใช้งานได้ที่เก็บข้อมูล Cloud Storage ที่ปลอดภัย

การลบหรือการดัดแปลงชุดข้อมูลและอาร์ติแฟกต์ของโมเดลที่เป็นอันตรายหรือโดยไม่ตั้งใจ

เปิดใช้การกำหนดเวอร์ชันออบเจ็กต์สำหรับการกู้คืน และเปิดใช้บันทึกการเข้าถึงข้อมูลสำหรับบันทึกการตรวจสอบที่เปลี่ยนแปลงไม่ได้ของกิจกรรมทั้งหมด

ทำให้ใช้งานได้ที่เก็บข้อมูล Cloud Storage ที่ปลอดภัย

ข้อมูลอ้างอิงโดยย่อ

ตลอดแล็บนี้ คุณจะได้ทำงานกับทรัพยากรที่มีชื่อต่อไปนี้

ส่วนประกอบ

ชื่อ

ชื่อ VPC

genai-secure-vpc

ชื่อซับเน็ต

genai-subnet-us-central1

Cloud Router

genai-router-us-central1

Cloud NAT

genai-nat-us-central1

บัญชีบริการ

vertex-workbench-sa

อินสแตนซ์ Vertex AI

secure-genai-instance

ที่เก็บข้อมูล

secure-genai-artifacts-[PROJECT_ID]

สิ่งที่คุณจะได้เรียนรู้

ในแล็บนี้ คุณจะได้เรียนรู้วิธีทำสิ่งต่อไปนี้

  • จัดสรร VPC ที่ปลอดภัยด้วยเครือข่ายส่วนตัวเพื่อลดการรับส่งข้อมูลที่ไม่พึงประสงค์
  • เพิ่มความปลอดภัยให้กับอินสแตนซ์ Vertex AI Workbench เพื่อป้องกัน Bootkit และการโจมตีเพื่อยกระดับสิทธิ์
  • รักษาความปลอดภัยให้ Bucket ของ Cloud Storage เพื่อลดการโอนข้อมูลที่ไม่ได้ตรวจสอบและการเปิดเผยต่อสาธารณะโดยไม่ตั้งใจ

2. การตั้งค่าโปรเจ็กต์

บัญชี Google

หากยังไม่มีบัญชี Google ส่วนบุคคล คุณต้องสร้างบัญชี Google

ใช้บัญชีส่วนตัวแทนบัญชีของที่ทำงานหรือบัญชีโรงเรียน

ลงชื่อเข้าใช้คอนโซล Google Cloud

ลงชื่อเข้าใช้ คอนโซล Google Cloud โดยใช้บัญชี Google ส่วนบุคคล

เปิดใช้การเรียกเก็บเงิน

แลกรับเครดิต Google Cloud มูลค่า $5 (ไม่บังคับ)

หากต้องการจัดเวิร์กช็อปนี้ คุณต้องมีบัญชีสำหรับการเรียกเก็บเงินที่มีเครดิตอยู่บ้าง หากวางแผนที่จะใช้การเรียกเก็บเงินของคุณเอง ให้ข้ามขั้นตอนนี้

  1. คลิกลิงก์นี้และลงชื่อเข้าใช้ด้วยบัญชี Google ส่วนบุคคล คุณจะเห็นข้อความคล้ายกับข้อความต่อไปนี้ คลิกที่นี่เพื่อดูหน้าเครดิต
  2. คลิกปุ่มคลิกที่นี่เพื่อเข้าถึงเครดิต ระบบจะนำคุณไปยังหน้าเพื่อตั้งค่าโปรไฟล์การเรียกเก็บเงิน ตั้งค่าหน้าโปรไฟล์การเรียกเก็บเงิน
  3. คลิกยืนยัน

ตอนนี้คุณเชื่อมต่อกับบัญชีสำหรับการเรียกเก็บเงินของ Google Cloud Platform เวอร์ชันทดลองใช้งานแล้ว

ภาพหน้าจอของภาพรวมการเรียกเก็บเงิน

ตั้งค่าบัญชีสำหรับการเรียกเก็บเงินส่วนตัว

หากตั้งค่าการเรียกเก็บเงินโดยใช้เครดิต Google Cloud คุณจะข้ามขั้นตอนนี้ได้

หากต้องการตั้งค่าบัญชีสำหรับการเรียกเก็บเงินส่วนตัว ให้ไปที่นี่เพื่อเปิดใช้การเรียกเก็บเงินใน Cloud Console

ข้อควรทราบ

  • การทำ Lab นี้ควรมีค่าใช้จ่ายน้อยกว่า $1 USD ในทรัพยากรระบบคลาวด์
  • คุณสามารถทำตามขั้นตอนที่ส่วนท้ายของแล็บนี้เพื่อลบทรัพยากรเพื่อหลีกเลี่ยงการเรียกเก็บเงินเพิ่มเติม
  • ผู้ใช้ใหม่มีสิทธิ์ใช้ช่วงทดลองใช้ฟรีมูลค่า$300 USD

สร้างโปรเจ็กต์ (ไม่บังคับ)

หากไม่มีโปรเจ็กต์ปัจจุบันที่ต้องการใช้สำหรับแล็บนี้ ให้สร้างโปรเจ็กต์ใหม่ที่นี่

3. เปิดใช้ API

กำหนดค่า Cloud Shell

เมื่อสร้างโปรเจ็กต์เรียบร้อยแล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อตั้งค่า Cloud Shell

เปิดใช้ Cloud Shell

ไปที่ shell.cloud.google.com และหากเห็นป๊อปอัปขอให้คุณให้สิทธิ์ ให้คลิกให้สิทธิ์

ตั้งค่ารหัสโปรเจ็กต์

เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล Cloud Shell เพื่อตั้งค่ารหัสโปรเจ็กต์ที่ถูกต้อง แทนที่ <your-project-id> ด้วยรหัสโปรเจ็กต์จริงที่คัดลอกจากขั้นตอนการสร้างโปรเจ็กต์ด้านบน

gcloud config set project <your-project-id>

ตอนนี้คุณควรเห็นว่าได้เลือกโปรเจ็กต์ที่ถูกต้องภายในเทอร์มินัล Cloud Shell แล้ว

เปิดใช้ Vertex AI Workbench และ Cloud Storage

หากต้องการใช้บริการใน Lab นี้ คุณต้องเปิดใช้ API สำหรับ Compute Engine, Vertex AI Workbench, IAM และ Cloud Storage ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google Cloud

  1. เปิดใช้ API ในเทอร์มินัลโดยทำดังนี้
gcloud services enable compute.googleapis.com notebooks.googleapis.com aiplatform.googleapis.com iam.googleapis.com storage.googleapis.com

หรือคุณจะเปิดใช้ API เหล่านี้ได้โดยไปที่หน้าของ API นั้นๆ ในคอนโซล แล้วคลิกเปิดใช้

4. กำหนดค่ารากฐานเครือข่ายที่ปลอดภัย

ในงานนี้ คุณจะได้สร้างสภาพแวดล้อมเครือข่ายที่แยกต่างหากสำหรับบริการทั้งหมด การใช้เครือข่ายส่วนตัวและการควบคุมโฟลว์ข้อมูลจะช่วยสร้างการป้องกันหลายชั้นเพื่อลดพื้นที่การโจมตีของโครงสร้างพื้นฐานได้อย่างมากเมื่อเทียบกับทรัพยากรที่เข้าถึงได้แบบสาธารณะ รากฐานเครือข่ายที่ปลอดภัยนี้มีความสำคัญอย่างยิ่งในการปกป้องแอปพลิเคชัน AI ของคุณจากการเข้าถึงที่ไม่ได้รับอนุญาต

สร้าง VPC และซับเน็ต

ในขั้นตอนนี้ คุณจะตั้งค่า Virtual Private Cloud (VPC) และซับเน็ต ซึ่งจะสร้างสภาพแวดล้อมเครือข่ายที่แยกจากกัน ซึ่งเป็นด่านแรกในการป้องกันการรับส่งข้อมูลเครือข่ายที่ไม่ได้รับอนุญาต

  1. ในคอนโซล Google Cloud ให้ไปที่เครือข่าย VPC > เครือข่าย VPC ใช้แถบค้นหาที่ด้านบนของคอนโซล Google Cloud เพื่อค้นหา "เครือข่าย VPC" แล้วเลือก
  2. คลิกสร้างเครือข่าย VPC
  3. ในส่วนชื่อ ให้ป้อน genai-secure-vpc
  4. สำหรับโหมดการสร้างซับเน็ต ให้เลือกกำหนดเอง
  5. ในส่วนซับเน็ตใหม่ ให้ระบุพร็อพเพอร์ตี้ต่อไปนี้เพื่อสร้างซับเน็ต

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    ชื่อ

    genai-subnet-us-central1

    ภูมิภาค

    us-central1

    ช่วงที่อยู่ IP

    10.0.1.0/24

    การเข้าถึง Google แบบส่วนตัว

    เปิด

  6. คลิกสร้าง

สร้างเกตเวย์ Cloud NAT

เกตเวย์ Cloud NAT ช่วยให้อินสแตนซ์ส่วนตัวเริ่มการเชื่อมต่อขาออกได้ (เช่น สำหรับการอัปเดตซอฟต์แวร์) โดยไม่ต้องมีที่อยู่ IP สาธารณะ ซึ่งหมายความว่าอินเทอร์เน็ตสาธารณะไม่สามารถเริ่มการเชื่อมต่อกับอินสแตนซ์เหล่านั้นได้

  1. ก่อนอื่น ให้สร้าง Cloud Router ใช้แถบค้นหาที่ด้านบนของคอนโซล Google Cloud เพื่อค้นหา "Cloud Router" แล้วเลือก
  2. คลิกสร้างเราเตอร์
  3. กำหนดค่า Cloud Router ด้วยข้อมูลต่อไปนี้

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    ชื่อ

    genai-router-us-central1

    เครือข่าย

    genai-secure-vpc (เครือข่าย VPC ที่คุณเพิ่งสร้าง)

    ภูมิภาค

    us-central1

  4. คลิกสร้าง
  5. จากนั้นไปที่บริการเครือข่าย > Cloud NAT ใช้แถบค้นหาที่ด้านบนของ คอนโซล Google Cloud เพื่อค้นหา "Cloud NAT" แล้วเลือก
  6. คลิกเริ่มต้นใช้งาน
  7. กำหนดค่าเกตเวย์ Cloud NAT ด้วยข้อมูลต่อไปนี้

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    ชื่อเกตเวย์

    genai-nat-us-central1

    เครือข่าย VPC

    genai-secure-vpc (เครือข่าย VPC ที่คุณสร้าง)

    ภูมิภาค

    us-central1

    Cloud Router

    genai-router-us-central1 (เราเตอร์ที่คุณเพิ่งตั้งค่า)

  8. คลิกสร้าง

5. ติดตั้งใช้งานอินสแตนซ์ Vertex AI Workbench ที่ปลอดภัย

เมื่อมีรากฐานเครือข่ายที่ปลอดภัยแล้ว คุณก็สามารถติดตั้งใช้งานอินสแตนซ์ Vertex AI Workbench ที่ได้รับการเสริมความแข็งแกร่งภายใน VPC ที่ปลอดภัยได้ อินสแตนซ์ Workbench นี้จะทำหน้าที่เป็นสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ของคุณ โดยมีพื้นที่ที่ปลอดภัยและแยกไว้ต่างหากสำหรับงานพัฒนา AI การกำหนดค่าเครือข่ายก่อนหน้านี้ช่วยให้มั่นใจได้ว่าอินสแตนซ์นี้จะไม่ได้รับการเปิดเผยต่ออินเทอร์เน็ตสาธารณะโดยตรง ซึ่งเป็นการต่อยอดจากการป้องกันหลายชั้น

สร้างบัญชีบริการที่มีสิทธิ์น้อยที่สุด

การสร้างบัญชีบริการเฉพาะที่มีสิทธิ์น้อยที่สุดที่จำเป็นจะรองรับหลักการให้สิทธิ์ขั้นต่ำที่สุด หากอินสแตนซ์ถูกบุกรุก แนวทางปฏิบัตินี้จะจำกัด "รัศมีการระเบิด" โดยทำให้มั่นใจว่าอินสแตนซ์จะเข้าถึงได้เฉพาะทรัพยากรและดำเนินการที่จำเป็นอย่างชัดเจนสำหรับฟังก์ชันของอินสแตนซ์

  1. จากคอนโซล Google Cloud ให้ไปที่ IAM และผู้ดูแลระบบ > บัญชีบริการ ใช้แถบค้นหาที่ด้านบนของคอนโซล Google Cloud เพื่อค้นหา "บัญชีบริการ" แล้วเลือก
  2. คลิกสร้างบัญชีบริการ
  3. ในส่วนชื่อบัญชีบริการ ให้ป้อน vertex-workbench-sa
  4. คลิกสร้างและต่อไป
  5. มอบหมายบทบาทต่อไปนี้
    • Vertex AI User
    • Storage Object Creator
  6. คลิกเสร็จสิ้น

สร้างอินสแตนซ์ Workbench

ในขั้นตอนนี้ คุณจะทำให้ใช้งานได้อินสแตนซ์ Vertex AI Workbench ของคุณ อินสแตนซ์นี้ได้รับการกำหนดค่าให้ทำงานภายใน VPC ส่วนตัวที่คุณสร้างไว้ก่อนหน้านี้ ซึ่งจะแยกอินสแตนซ์ออกจากอินเทอร์เน็ตสาธารณะเพิ่มเติม นอกจากนี้ คุณยังใช้มาตรการเพิ่มความปลอดภัยเพิ่มเติมกับอินสแตนซ์ได้โดยตรงด้วย

  1. จากเมนูการนำทางของคอนโซล Google Cloud (เมนู 3 ขีด) ให้ไปที่ Vertex AI > Workbench ใช้แถบค้นหาที่ด้านบนของคอนโซล Google Cloud เพื่อค้นหา "Workbench" แล้วเลือกผลการค้นหาที่มี "Vertex AI" เป็นคำบรรยายแทน
  2. คลิกสร้างใหม่ แล้วกำหนดค่าดังนี้

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    ชื่อ

    secure-genai-instance

    ภูมิภาค

    us-central1

  3. คลิกตัวเลือกขั้นสูง
  4. คลิกประเภทเครื่อง แล้วเลือกช่องทําเครื่องหมายสําหรับรายการต่อไปนี้
    • การเปิดเครื่องที่ปลอดภัย
    • Trusted Platform Module แบบเสมือน (vTPM)
    • การตรวจสอบความสมบูรณ์
  5. คลิกเครือข่ายและกำหนดค่าต่อไปนี้

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    เครือข่าย

    genai-secure-vpc

    เครือข่ายย่อย

    genai-subnet-us-central1 (10.0.1.0/24)

    กำหนดที่อยู่ IP ภายนอก

    ยกเลิกการเลือก เนื่องจากคุณเข้าถึงอินสแตนซ์นี้ผ่านพร็อกซีใน Google Cloud เท่านั้น

  6. คลิก IAM และความปลอดภัย แล้วกำหนดค่าต่อไปนี้

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    อีเมลผู้ใช้

    ผู้ใช้รายเดียว แล้วเลือกอีเมลที่คุณใช้ลงชื่อเข้าใช้ Google Cloud อยู่ในปัจจุบัน

    ใช้บัญชีบริการ Compute Engine เริ่มต้น

    ยกเลิกการเลือกช่องทำเครื่องหมาย

    อีเมลบัญชีบริการ

    ป้อนอีเมลที่สร้างขึ้นสำหรับบัญชีบริการที่มีสิทธิ์น้อยที่สุด (แทนที่ [PROJECT_ID] ด้วยรหัสจริงของคุณ): vertex-workbench-sa@[PROJECT_ID].iam.gserviceaccount.com

    สิทธิ์เข้าถึงรูทในอินสแตนซ์

    ยกเลิกการเลือกช่องทำเครื่องหมาย

  7. คลิกสร้าง

เข้าถึงอินสแตนซ์ Vertex AI

ตอนนี้อินสแตนซ์ Vertex AI Workbench ของคุณพร้อมใช้งานแล้ว คุณสามารถเข้าถึงอินสแตนซ์ได้อย่างปลอดภัย คุณเชื่อมต่อกับอินสแตนซ์ผ่านพร็อกซีของ Google Cloud เพื่อให้มั่นใจว่าอินสแตนซ์จะยังคงเป็นส่วนตัวและไม่เปิดเผยต่ออินเทอร์เน็ตสาธารณะ ซึ่งจะช่วยจำกัดความเสี่ยงของการรับส่งข้อมูลที่ไม่พึงประสงค์และอาจเป็นอันตราย

  1. ไปที่ Vertex AI > Workbench คุณอาจอยู่ในหน้านี้อยู่แล้วหากอินสแตนซ์เพิ่งจัดสรรเสร็จ หากไม่เห็น คุณสามารถใช้เมนูการนำทางของคอนโซล Google Cloud (เมนูแฮมเบอร์เกอร์) หรือแถบค้นหาเพื่อไปยังส่วนดังกล่าว
  2. ค้นหาอินสแตนซ์ที่ชื่อ secure-genai-instance ในรายการ
  3. คลิกลิงก์เปิด JupyterLab ทางด้านขวาของอินสแตนซ์

ซึ่งจะเปิดแท็บใหม่ในเบราว์เซอร์เพื่อให้คุณเข้าถึงอินสแตนซ์ได้ คุณมีสิทธิ์เข้าถึงผ่าน Google Cloud แต่ระบบจะไม่เปิดเผยอินสแตนซ์ต่ออินเทอร์เน็ตสาธารณะ ซึ่งจะช่วยลดความเสี่ยงของการเข้าชมที่ไม่พึงประสงค์และอาจเป็นอันตราย

6. ติดตั้งใช้งาน Bucket ของ Cloud Storage ที่ปลอดภัย

ตอนนี้คุณสร้าง Bucket ของ Cloud Storage ที่ปลอดภัยสำหรับชุดข้อมูล ซึ่งเป็นตำแหน่งที่จัดเก็บข้อมูลฝึกฝน โมเดล และอาร์ติแฟกต์ AI การใช้การกำหนดค่าความปลอดภัยที่เข้มงวดกับที่เก็บข้อมูลนี้จะช่วยป้องกันไม่ให้ข้อมูลที่ละเอียดอ่อนเผยแพร่ต่อสาธารณะโดยไม่ตั้งใจ รวมถึงป้องกันการลบและการดัดแปลงโดยไม่ตั้งใจหรือโดยเจตนาร้าย ซึ่งจะช่วยรักษาความสมบูรณ์และความลับของชิ้นงาน AI ที่มีค่า

สร้างและกำหนดค่าที่เก็บข้อมูล

ในขั้นตอนนี้ คุณจะสร้าง Bucket ของ Cloud Storage และใช้การตั้งค่าความปลอดภัยเริ่มต้น การตั้งค่าเหล่านี้จะบังคับใช้การป้องกันการเข้าถึงแบบสาธารณะและเปิดใช้การควบคุมการเข้าถึงระดับ Bucket แบบเดียวกัน ซึ่งมีความสำคัญอย่างยิ่งในการควบคุมผู้ที่เข้าถึงข้อมูลของคุณได้

  1. จาก คอนโซล Google Cloud ให้ไปที่ Cloud Storage > Bucket ใช้แถบค้นหาที่ด้านบนของคอนโซล Google Cloud เพื่อค้นหา "Buckets" แล้วเลือก
  2. คลิกสร้าง
  3. ในส่วนเริ่มต้นใช้งาน ให้ตั้งชื่อเป็นชื่อที่ไม่ซ้ำกันและสุ่มโดยสมบูรณ์
  4. ไปที่เลือกตำแหน่งที่จะจัดเก็บข้อมูล แล้วกำหนดค่าต่อไปนี้

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    ประเภทสถานที่ตั้ง

    ภูมิภาค

    ภูมิภาค

    us-central1

  5. ไปที่เลือกวิธีจัดเก็บข้อมูล แล้วใช้การตั้งค่าเริ่มต้น
  6. ไปที่เลือกวิธีควบคุมการเข้าถึงออบเจ็กต์และใช้การตั้งค่าเริ่มต้นต่อไป

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    เหตุผล

    ป้องกันการเข้าถึงแบบสาธารณะ

    เลือกบังคับใช้การป้องกันการเข้าถึงแบบสาธารณะไว้

    การป้องกันการเข้าถึงแบบสาธารณะจะลบล้างการเปลี่ยนแปลงใดๆ ใน IAM ที่อาจทําให้ออบเจ็กต์เปิดเผยต่ออินเทอร์เน็ตโดยไม่ตั้งใจ

    การควบคุมการเข้าถึง

    เลือกแบบเดียวกันไว้

    แม้ว่า ACL จะดูเหมือนเป็นตัวเลือกที่ดีกว่าสำหรับการควบคุมแบบละเอียด ซึ่งก็คือสิทธิ์ขั้นต่ำที่สุด แต่ก็ทำให้เกิดความซับซ้อนและคาดเดาไม่ได้เมื่อใช้ร่วมกับฟีเจอร์ IAM อื่นๆ พิจารณาข้อดีข้อเสียของสิทธิ์เข้าถึงระดับ Bucket แบบเดียวกันเพื่อป้องกันการเปิดเผยข้อมูลโดยไม่ตั้งใจ

  7. ไปที่เลือกวิธีปกป้องข้อมูลออบเจ็กต์ แล้วใช้การตั้งค่าเริ่มต้น

    พร็อพเพอร์ตี้

    ค่า (พิมพ์หรือเลือก)

    เหตุผล

    นโยบายการทำเครื่องหมายว่าลบ (สำหรับการกู้คืนข้อมูล)

    เลือกนโยบายการลบแบบไม่ถาวร (สำหรับการกู้คืนข้อมูล) ไว้

    ในกรณีที่มีการลบในที่เก็บข้อมูลโดยไม่ตั้งใจหรือโดยเจตนาร้าย การทำเครื่องหมายว่าลบจะช่วยให้คุณกู้คืนเนื้อหาได้ภายในระยะเวลาเก็บรักษา

    การกำหนดเวอร์ชันออบเจ็กต์ (สำหรับการควบคุมเวอร์ชัน)

    เลือกการกำหนดเวอร์ชันออบเจ็กต์ (สำหรับการควบคุมเวอร์ชัน)

    การกำหนดเวอร์ชันของออบเจ็กต์ช่วยให้กู้คืนจากการเขียนทับโดยไม่ตั้งใจหรือการเขียนทับที่เป็นอันตรายได้ เช่น หากผู้โจมตีแทนที่ไฟล์ที่ไม่มีอันตรายด้วยไฟล์ที่มีโค้ดช่องโหว่

    จำนวนเวอร์ชันสูงสุดต่อออบเจ็กต์

    3

    แม้ว่าค่านี้จะเป็นค่าที่กำหนดขึ้นเองและอาจเพิ่มต้นทุน แต่ต้องมากกว่า 1 เพื่อให้คุณย้อนกลับไปใช้เวอร์ชันก่อนหน้าได้ หากผู้โจมตีอาจพยายามเขียนทับหลายครั้ง คุณอาจต้องใช้กลยุทธ์การสำรองข้อมูลและการควบคุมเวอร์ชันที่แข็งแกร่งกว่า

    หมดอายุเวอร์ชันที่ไม่อัปเดตหลังจาก

    7

    7 วันคือระยะเวลาที่แนะนำในการเก็บเวอร์ชันเก่าไว้ แต่จำนวนนี้อาจมากกว่านั้นสำหรับการจัดเก็บระยะยาว

  8. คลิกสร้าง
  9. หากป๊อปอัปปรากฏขึ้นพร้อมข้อความว่า "ระบบจะป้องกันการเข้าถึงแบบสาธารณะ" ให้เลือกช่องเริ่มต้น ("บังคับใช้การป้องกันการเข้าถึงแบบสาธารณะใน Bucket นี้") ไว้ แล้วคลิกยืนยัน

เปิดใช้การคุ้มครองข้อมูลและการบันทึก

คุณเปิดใช้การกำหนดเวอร์ชันออบเจ็กต์และกำหนดค่าบันทึกการเข้าถึงข้อมูลสำหรับที่เก็บข้อมูลเพื่อให้มั่นใจว่าข้อมูลของคุณจะไม่เปลี่ยนแปลงและตรวจสอบได้ การกำหนดเวอร์ชันของออบเจ็กต์ช่วยให้กู้คืนจากการลบหรือเขียนทับโดยไม่ตั้งใจได้ ส่วนบันทึกการเข้าถึงข้อมูลจะแสดงเส้นทางการตรวจสอบที่ครอบคลุมกิจกรรมทั้งหมดใน Bucket ซึ่งจำเป็นต่อการดูแลความปลอดภัยและการปฏิบัติตามข้อกำหนด

  1. จาก คอนโซล Google Cloud ให้ไปที่ IAM และผู้ดูแลระบบ > บันทึกการตรวจสอบ ใช้แถบค้นหาที่ด้านบนของคอนโซล Google Cloud เพื่อค้นหา "บันทึกการตรวจสอบ" แล้วเลือก
  2. ใช้การค้นหาตัวกรองเพื่อค้นหาและเลือก Google Cloud Storage
  3. ในแผงที่ปรากฏขึ้น ให้เลือกช่องสำหรับทั้งการอ่านข้อมูลและการเขียนข้อมูล
  4. คลิกบันทึก

7. จากห้องทดลองสู่ความเป็นจริง

คุณเพิ่งทำตามชุดขั้นตอนในสภาพแวดล้อมห้องทดลองชั่วคราว แต่หลักการและการกำหนดค่าที่คุณใช้เป็นพิมพ์เขียวสำหรับการรักษาความปลอดภัยของโปรเจ็กต์ AI ในโลกจริงบน Google Cloud ต่อไปนี้คือวิธีนำสิ่งที่ได้เรียนรู้ไปปรับใช้กับงานของคุณเอง โดยเปลี่ยนจากการตั้งค่าในห้องทดลองแบบง่ายๆ ไปเป็นการตั้งค่าที่พร้อมใช้งานจริง

ให้คิดว่าทรัพยากรที่คุณเพิ่งสร้างขึ้น ไม่ว่าจะเป็น VPC ส่วนตัว อินสแตนซ์ Workbench ที่ได้รับการปิดช่องโหว่ และ Bucket ที่ปลอดภัย เป็นเทมเพลตเริ่มต้นที่ปลอดภัยสำหรับโปรเจ็กต์ AI ใหม่ๆ เป้าหมายของคุณคือการทำให้รากฐานที่ปลอดภัยนี้เป็นค่าเริ่มต้นและเป็นเส้นทางที่ง่ายสำหรับคุณและทีม

เครือข่ายที่ปลอดภัย: พื้นที่ทำงานส่วนตัว

วิธีใช้ในการตั้งค่า

ทุกครั้งที่คุณเริ่มโปรเจ็กต์ AI ใหม่ (เช่น "การคาดการณ์การเลิกใช้งานของลูกค้า" "โมเดลการแยกประเภทรูปภาพ") คุณจะต้องจำลองการตั้งค่าเครือข่ายนี้ คุณจะสร้าง VPC เฉพาะ (churn-pred-vpc) หรือใช้เครือข่ายที่แชร์ซึ่งได้รับอนุมัติล่วงหน้า ซึ่งจะกลายเป็น "แซนด์บ็อกซ์" ที่แยกจากกันของโปรเจ็กต์ สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ของคุณ เช่น Vertex AI Workbench ที่คุณกำหนดค่าไว้ จะอยู่ในพื้นที่ที่ได้รับการปกป้องนี้ คุณจะเชื่อมต่อกับอินสแตนซ์ผ่านพร็อกซีที่ปลอดภัย (เปิด JupyterLab) โดยไม่เปิดเผยต่ออินเทอร์เน็ตสาธารณะ

การเชื่อมต่อกับเวอร์ชันที่ใช้งานจริง

ในสภาพแวดล้อมการใช้งานจริง คุณจะต่อยอดแนวคิดนี้ได้โดยพิจารณาสิ่งต่อไปนี้

  • โครงสร้างพื้นฐานเป็นโค้ด (IaC): คุณจะกำหนดเครือข่ายนี้โดยใช้เครื่องมือต่างๆ เช่น Terraform หรือ Cloud Deployment Manager แทนการใช้ Cloud Console ซึ่งช่วยให้คุณติดตั้งใช้งานรากฐานระบบเครือข่ายที่ปลอดภัยสำหรับโปรเจ็กต์ใหม่ได้ภายในไม่กี่นาที และมั่นใจได้ว่าทำซ้ำและตรวจสอบได้
  • VPC ที่แชร์: ในองค์กรขนาดใหญ่ ทีมเครือข่ายส่วนกลางมักจะจัดการ VPC ที่แชร์ ในฐานะนักพัฒนาแอป คุณจะได้รับสิทธิ์ในการเปิดใช้อินสแตนซ์และบริการในซับเน็ตที่เฉพาะเจาะจงภายในเครือข่ายที่ปลอดภัยซึ่งได้รับการจัดการจากส่วนกลางนั้น หลักการยังคงเหมือนเดิม นั่นคือคุณยังคงดำเนินการในพื้นที่ส่วนตัว แต่เป็นส่วนหนึ่งของโครงสร้างพื้นฐานที่ใหญ่ขึ้นและใช้ร่วมกัน
  • การควบคุมบริการ VPC: เพื่อความปลอดภัยสูงสุด คุณควรห่อหุ้มสภาพแวดล้อมทั้งหมดนี้ในขอบเขตการควบคุมบริการ VPC นี่เป็นฟีเจอร์ที่มีประสิทธิภาพซึ่งป้องกันการขโมยข้อมูลด้วยการตรวจสอบว่าทรัพยากรที่ได้รับอนุญาตภายในขอบเขตเครือข่ายส่วนตัวเท่านั้นที่เข้าถึงบริการต่างๆ เช่น Cloud Storage ได้

การประมวลผลที่เสริมความแข็งแกร่ง: ศูนย์กลางการพัฒนาและการฝึกอบรมที่ปลอดภัย

วิธีใช้ในการตั้งค่า

secure-genai-instance คือคอมพิวเตอร์สำหรับการพัฒนาซอฟต์แวร์ AI ที่คุณใช้ในแต่ละวัน คุณจะใช้อินเทอร์เฟซ JupyterLab เพื่อทำสิ่งต่อไปนี้

  • เขียนและทดสอบโค้ดโมเดลใน Notebook
  • ติดตั้งไลบรารี Python (pip install ...)
  • ทดลองใช้ชุดข้อมูลขนาดเล็กถึงปานกลาง ความปลอดภัยที่คุณกำหนดค่า (ไม่มี IP สาธารณะ, บัญชีบริการที่มีสิทธิ์น้อยที่สุด, ไม่มีสิทธิ์เข้าถึงระดับรูท, การเปิดเครื่องที่ปลอดภัย) จะทำงานอย่างโปร่งใสในเบื้องหลัง คุณจึงมุ่งเน้นไปที่งาน AI ได้โดยไม่ต้องกังวลว่าอินสแตนซ์จะได้รับการเสริมความแข็งแกร่งเพื่อป้องกันการโจมตีที่พบบ่อย

การเชื่อมต่อกับเวอร์ชันที่ใช้งานจริง

โดยปกติแล้ว คุณไม่ควรเรียกใช้การฝึกขนาดใหญ่ในอินสแตนซ์ Workbench เดียวในการใช้งานจริง แต่คุณสามารถนำงานไปใช้จริงได้ด้วยวิธีต่อไปนี้

  • จาก Notebook ไปยังไปป์ไลน์: คุณจะนำโค้ดจาก Notebook มาจัดรูปแบบเป็นสคริปต์ จากนั้นจะเรียกใช้สคริปต์นี้เป็นงานการฝึกแบบกำหนดเองของ Vertex AI หรือเป็นขั้นตอนในไปป์ไลน์ Vertex AI
  • การทำคอนเทนเนอร์: คุณจะแพ็กเกจโค้ดการฝึกและทรัพยากร Dependency ลงในคอนเทนเนอร์ Docker และจัดเก็บไว้ใน Artifact Registry ซึ่งจะช่วยให้มั่นใจได้ว่าโค้ดจะทำงานในสภาพแวดล้อมที่สอดคล้องและคาดการณ์ได้ทุกครั้ง
  • บัญชีบริการเป็นสิ่งสำคัญ: บัญชีบริการ vertex-workbench-sa ที่คุณสร้างขึ้นมีความสำคัญอย่างยิ่ง ในเวอร์ชันที่ใช้งานจริง งานการฝึก Vertex AI อัตโนมัติจะทํางานโดยใช้บัญชีบริการที่มีสิทธิ์น้อยที่สุดเดียวกันนี้ (หรือบัญชีที่คล้ายกัน) เพื่อให้มั่นใจว่างานอัตโนมัติจะมีเฉพาะสิทธิ์ที่จําเป็นอย่างยิ่งเท่านั้น

ที่เก็บข้อมูลที่ปลอดภัย: ที่เก็บอาร์ติแฟกต์ส่วนกลาง

วิธีใช้ในการตั้งค่า

secure-genai-artifacts Bucket คือแหล่งข้อมูลที่ถูกต้องแห่งเดียวสำหรับข้อมูลของโปรเจ็กต์ ซึ่งไม่ได้ใช้กับชุดข้อมูลเริ่มต้นเท่านั้น คุณจะใช้เพื่อจัดเก็บสิ่งต่อไปนี้

  • ข้อมูลฝึกฝนดิบและที่ประมวลผลล่วงหน้า
  • จุดตรวจสอบโมเดลระหว่างการฝึกที่ใช้เวลานาน
  • อาร์ติแฟกต์ของโมเดลที่ฝึกแล้วขั้นสุดท้าย (ไฟล์ .pkl, .pb หรือ .h5)
  • ผลการประเมินและบันทึก การตั้งค่าความปลอดภัยที่คุณใช้ (การป้องกันการเข้าถึงแบบสาธารณะ, การเข้าถึงระดับ Bucket แบบเดียวกัน, การกำหนดเวอร์ชัน และบันทึกการตรวจสอบ) หมายความว่าคุณใช้ Bucket นี้เป็นที่เก็บส่วนกลางได้อย่างมั่นใจ โดยได้รับการปกป้องจากการรั่วไหลและการลบโดยไม่ตั้งใจ

การเชื่อมต่อกับเวอร์ชันที่ใช้งานจริง

หากต้องการจัดการและควบคุมหลักการในสภาพแวดล้อมการใช้งานจริง คุณควรพิจารณาสิ่งต่อไปนี้ด้วย

  • นโยบายวงจร: หากต้องการจัดการค่าใช้จ่าย คุณจะต้องตั้งค่านโยบายวงจรเพื่อย้ายเวอร์ชันโมเดลหรือชุดข้อมูลที่เก่ากว่าไปยังคลาสพื้นที่เก็บข้อมูลที่ถูกกว่า (เช่น Nearline หรือ Coldline) โดยอัตโนมัติ หรือลบออกหลังจากผ่านไประยะเวลาหนึ่ง
  • สิทธิ์ข้ามโปรเจ็กต์: ในไปป์ไลน์ Production ทีมวิศวกรรมข้อมูลอาจป้อนข้อมูลลงในที่เก็บข้อมูลนี้จากโปรเจ็กต์ที่อยู่ในระบบคลาวด์อื่น การเข้าถึงระดับ Bucket แบบเดียวกันที่คุณเปิดใช้จะช่วยให้การจัดการสิทธิ์ IAM ข้ามโปรเจ็กต์เหล่านี้เป็นเรื่องง่ายและปลอดภัย โดยไม่ต้องใช้ ACL ที่ซับซ้อน (และกำหนดค่าผิดได้ง่าย)

ภาพรวม: การตั้งค่าความปลอดภัยเป็นค่าเริ่มต้น

การใช้โมเดลนี้จะช่วยเปลี่ยนระดับความปลอดภัยจากสิ่งที่ต้องพิจารณาในภายหลังให้กลายเป็นรากฐาน คุณไม่ได้เป็นเพียงนักพัฒนาซอฟต์แวร์อีกต่อไป แต่เป็นแชมป์ด้านความปลอดภัยของทีม เมื่อมีสมาชิกในทีมรายใหม่เข้าร่วม คุณจะไม่มอบเครื่องที่ไม่ปลอดภัยและหันหน้าสู่สาธารณะให้ คุณให้สิทธิ์เข้าถึงสภาพแวดล้อมที่ปลอดภัยและกำหนดค่าไว้ล่วงหน้า ซึ่งวิธีทำงานที่ปลอดภัยก็เป็นวิธีที่ง่ายที่สุดด้วย แนวทางนี้ช่วยลดความเสี่ยงทางธุรกิจโดยตรงด้วยการป้องกันสาเหตุทั่วไปของการละเมิดข้อมูลและการประนีประนอมระบบ ซึ่งช่วยให้ทีมของคุณสร้างสรรค์และสร้างแอปพลิเคชัน AI ที่มีประสิทธิภาพได้อย่างมั่นใจ

8. ยินดีด้วย

ยินดีด้วย คุณสร้างและตรวจสอบโครงสร้างพื้นฐานที่ปลอดภัยแบบหลายชั้นสำหรับสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ AI เรียบร้อยแล้ว คุณสร้างขอบเขตเครือข่ายที่ปลอดภัยด้วยระดับไฟร์วอลล์ "ปฏิเสธโดยค่าเริ่มต้น" ติดตั้งอินสแตนซ์การประมวลผลที่เพิ่มความปลอดภัยแล้ว รักษาความปลอดภัยของที่เก็บข้อมูล และใช้บันทึกเพื่อยืนยันว่าการควบคุมทำงานได้ตามที่ต้องการ

สรุป

ในห้องทดลองนี้ คุณได้ทำสิ่งต่อไปนี้

  • จัดสรร VPC ที่ปลอดภัยด้วยเครือข่ายส่วนตัวเพื่อลดการรับส่งข้อมูลที่ไม่พึงประสงค์
  • ติดตั้งใช้งานอินสแตนซ์ Vertex AI Workbench ที่ได้รับการเสริมความแข็งแกร่งเพื่อป้องกัน Bootkit และการโจมตีเพื่อยกระดับสิทธิ์
  • รักษาความปลอดภัยให้กับที่เก็บข้อมูล Cloud Storage เพื่อลดการโอนข้อมูลที่ไม่ได้ตรวจสอบและการเปิดเผยต่อสาธารณะโดยไม่ตั้งใจ
  • ใช้บัญชีบริการที่มีสิทธิ์ขั้นต่ำเพื่อจำกัด "รัศมีการระเบิด" ที่อาจเกิดขึ้น
  • เปิดใช้การกำหนดเวอร์ชันของออบเจ็กต์และบันทึกการเข้าถึงข้อมูลเพื่อการคุ้มครองข้อมูลและเส้นทางการตรวจสอบที่ไม่เปลี่ยนแปลง