1. บทนำ
คีย์อัตโนมัติของ Cloud KMS ทำให้การสร้างและใช้คีย์การเข้ารหัสที่จัดการโดยลูกค้า (CMEK) ง่ายขึ้นด้วยการจัดสรรและการมอบหมายโดยอัตโนมัติ เมื่อใช้คีย์อัตโนมัติ คุณไม่จำเป็นต้องวางแผนและจัดสรรคีย์ริง คีย์ และบัญชีบริการก่อนถึงความจำเป็น แต่คีย์อัตโนมัติจะสร้างคีย์ตามคำขอของคุณแทนเมื่อมีการสร้างทรัพยากร โดยใช้สิทธิ์ที่ได้รับมอบแทนผู้ดูแลระบบ Cloud KMS
การใช้คีย์ที่สร้างโดยฟีเจอร์คีย์อัตโนมัติจะช่วยให้คุณเป็นไปตามมาตรฐานอุตสาหกรรมและแนวทางปฏิบัติแนะนำด้านความปลอดภัยข้อมูลอย่างต่อเนื่อง ซึ่งรวมถึงระดับการปกป้อง HSM, การแยกหน้าที่, การหมุนเวียนคีย์, ตำแหน่ง และความเฉพาะเจาะจงของคีย์ คีย์อัตโนมัติจะสร้างคีย์ที่เป็นไปตามหลักเกณฑ์ทั่วไปและหลักเกณฑ์เฉพาะสำหรับประเภททรัพยากรสำหรับบริการ Google Cloud ที่ผสานรวมกับ Cloud KMS Autokey หลังจากสร้างคีย์แล้ว คีย์ที่ขอโดยใช้ฟีเจอร์คีย์อัตโนมัติจะเหมือนกับคีย์ Cloud HSM อื่นๆ ที่มีการตั้งค่าเดียวกัน
สิ่งที่คุณจะสร้าง
ใน Codelab นี้ คุณจะเปิดทรัพยากรที่มีการป้องกันโดยใช้คีย์อัตโนมัติของ Cloud KMS โดยการสร้าง:
- ทรัพยากรของโฟลเดอร์
- โปรเจ็กต์ที่จะมีคีย์ของคุณ
- ตัวแทนบริการเพื่อทำหน้าที่เป็นผู้ช่วยจัดการคีย์
- โปรเจ็กต์ที่จะโฮสต์ทรัพยากรที่มีการป้องกัน
- ชุดข้อมูล BigQuery, ดิสก์ถาวร และที่เก็บข้อมูล Cloud Storage ที่เข้ารหัสด้วยคีย์อัตโนมัติของ Cloud KMS
สิ่งที่คุณต้องมี
- องค์กร Google Cloud
- ผู้ใช้หลักของ Google Cloud ต้องมีบทบาทต่อไปนี้ที่ระดับองค์กรเพื่อให้ห้องทดลองนี้เสร็จสมบูรณ์
- ผู้ดูแลระบบ Autokey ของ Cloud KMS (roles/cloudkms.autokeyAdmin)
- ผู้ดูแลระบบ IAM ของโฟลเดอร์ (roles/resourcemanager.โฟลเดอร์IamAdmin)
- ผู้ใช้บัญชีสำหรับการเรียกเก็บเงิน (roles/billing.user)
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
- ประสบการณ์ Linux ระดับพื้นฐาน
2. สร้างโฟลเดอร์
โฟลเดอร์คือโหนดในลำดับชั้นทรัพยากร Cloud Platform โฟลเดอร์อาจมีโปรเจ็กต์ โฟลเดอร์อื่นๆ หรือทั้ง 2 อย่างผสมกัน ทรัพยากรขององค์กรสามารถใช้โฟลเดอร์เพื่อจัดกลุ่มโปรเจ็กต์ภายใต้โหนดทรัพยากรขององค์กรในลำดับชั้น วิธีสร้างโฟลเดอร์:
- ไปที่หน้า จัดการทรัพยากร ในคอนโซล Google Cloud
- ตรวจสอบว่าได้เลือกชื่อทรัพยากรขององค์กรในรายการแบบเลื่อนลงขององค์กรที่ด้านบนของหน้า
- คลิกสร้างโฟลเดอร์
- เลือกโฟลเดอร์มาตรฐาน
- ในช่องชื่อโฟลเดอร์ ให้ป้อนชื่อโฟลเดอร์ใหม่ สำหรับห้องทดลองนี้ ให้พิจารณาใช้ "คีย์อัตโนมัติ-โฟลเดอร์"
- ในส่วนปลายทาง ให้คลิก "เรียกดู" จากนั้นเลือกทรัพยากรหรือโฟลเดอร์ขององค์กรที่คุณต้องการสร้างโฟลเดอร์ใหม่
- คลิกสร้าง
3. สร้างโปรเจ็กต์ทรัพยากร
สิ่งสำคัญในการสร้างโปรเจ็กต์ทรัพยากรที่มีทรัพยากร เช่น ชุดข้อมูล BigQuery, ดิสก์ถาวร และที่เก็บข้อมูล Cloud Storage ที่คุณต้องการเข้ารหัสด้วยคีย์อัตโนมัติ Cloud KMS หากคุณพยายามสร้างทรัพยากรที่ป้องกันด้วยคีย์อัตโนมัติในโปรเจ็กต์คีย์ คีย์อัตโนมัติจะปฏิเสธคำขอคีย์ใหม่ วิธีสร้างโปรเจ็กต์ทรัพยากร
- ไปที่หน้า จัดการทรัพยากร ในคอนโซล Google Cloud
- คลิกสร้างโปรเจ็กต์
- ในรายการแบบเลื่อนลง "เลือกองค์กร" ที่ด้านบนของหน้า ให้เลือก "คีย์อัตโนมัติ-โฟลเดอร์" โฟลเดอร์
- ในหน้าต่างโปรเจ็กต์ใหม่ที่ปรากฏขึ้น ให้ป้อนชื่อโปรเจ็กต์และเลือกบัญชีสำหรับการเรียกเก็บเงินตามความเหมาะสม สำหรับห้องทดลองนี้ ให้พิจารณาใช้ "ทรัพยากรที่เข้ารหัสด้วยคีย์อัตโนมัติ"
- ในช่อง "ตำแหน่ง" ให้เลือก "คีย์อัตโนมัติ-โฟลเดอร์" โฟลเดอร์ ทรัพยากรดังกล่าวจะเป็นระดับบนสุดของโปรเจ็กต์ใหม่ การตั้งค่าของคุณควรมีลักษณะดังนี้
- คัดลอกรหัสโปรเจ็กต์ - ในตัวอย่างด้านบน รหัสโปรเจ็กต์คือ "causal-hours-43319-m4" แต่รหัสของคุณจะแตกต่างออกไป ในเครื่องมือแก้ไขข้อความตามที่คุณต้องการ
- คลิกสร้าง
- เลือกไอคอน Cloud Shell ที่มุมขวาบนของหน้าจอ
- เมื่อเปิดใช้ Cloud Shell แล้ว ให้บันทึกรหัสโปรเจ็กต์ Autokey เป็นตัวแปรโดยเรียกใช้คำสั่งต่อไปนี้
export RESOURCE_PROJECT=<paste your Resource Project ID>
เนื่องจากรหัสโปรเจ็กต์ของฉันคือ "key-management-433319" คำสั่งของฉันมีลักษณะดังนี้
export AUTOKEY_PROJECT=causal-hour-43319-m4
- เรียกใช้คำสั่งต่อไปนี้เพื่อเรียกใช้คำสั่งจากโปรเจ็กต์คีย์ของคุณ
gcloud config set project $RESOURCE_PROJECT
เมื่อได้รับข้อความแจ้ง ให้อนุญาต Cloud Shell โดยคลิก "ให้สิทธิ์"
- เนื่องจากโปรเจ็กต์นี้จะมีทรัพยากรอยู่ เราจึงต้องเปิดใช้ API สำหรับบริการที่คีย์อัตโนมัติจะปกป้อง เรียกใช้คำสั่งต่อไปนี้
gcloud services enable storage.googleapis.com bigquery.googleapis.com compute.googleapis.com
4. สร้างโปรเจ็กต์หลัก
เราขอแนะนำให้สร้างโปรเจ็กต์เพื่อให้มีทรัพยากร Cloud KMS ที่สร้างโดยคีย์อัตโนมัติ โปรเจ็กต์นี้จะเรียกว่า "โปรเจ็กต์หลัก" ตั้งแต่นี้เป็นต้นไป คุณสามารถสร้างโปรเจ็กต์คีย์ภายในโฟลเดอร์เดียวกับที่วางแผนจะเปิดใช้คีย์อัตโนมัติ คุณไม่ควรสร้างทรัพยากรอื่นๆ ภายในโปรเจ็กต์คีย์ หากคุณพยายามสร้างทรัพยากรที่ป้องกันด้วยคีย์อัตโนมัติในโปรเจ็กต์คีย์ คีย์อัตโนมัติจะปฏิเสธคำขอคีย์ใหม่ วิธีสร้างโปรเจ็กต์คีย์
- ไปที่หน้า จัดการทรัพยากร ในคอนโซล Google Cloud
- คลิกสร้างโปรเจ็กต์
- ในรายการแบบเลื่อนลง "เลือกองค์กร" ที่ด้านบนของหน้า ให้เลือก "คีย์อัตโนมัติ-โฟลเดอร์" โฟลเดอร์
- ในหน้าต่างโปรเจ็กต์ใหม่ที่ปรากฏขึ้น ให้ป้อนชื่อโปรเจ็กต์และเลือกบัญชีสำหรับการเรียกเก็บเงินตามความเหมาะสม สำหรับห้องทดลองนี้ ให้พิจารณาใช้ "การจัดการคีย์"
- ในช่อง "ตำแหน่ง" ให้เลือก "คีย์อัตโนมัติ-โฟลเดอร์" โฟลเดอร์ ทรัพยากรดังกล่าวจะเป็นระดับบนสุดของโปรเจ็กต์ใหม่ การตั้งค่าของคุณควรมีลักษณะดังนี้
- คัดลอกรหัสโปรเจ็กต์ - ในตัวอย่างด้านบนรหัสโปรเจ็กต์คือ "key-management-433319" แต่รหัสของคุณจะแตกต่างกัน ในเครื่องมือแก้ไขข้อความที่คุณต้องการ
- คลิกสร้าง
5. เตรียมโปรเจ็กต์คีย์อัตโนมัติ
เมื่อสร้างแต่ละโปรเจ็กต์แล้ว ก็ถึงเวลากำหนดค่าโปรเจ็กต์คีย์เพื่อใช้คีย์อัตโนมัติของ Cloud KMS
- เลือกไอคอน Cloud Shell ที่มุมบนขวาของหน้าจอ
- เมื่อเปิดใช้ Cloud Shell แล้ว ให้บันทึกรหัสโปรเจ็กต์ Autokey เป็นตัวแปรโดยเรียกใช้คำสั่งต่อไปนี้
export AUTOKEY_PROJECT=<paste your Autokey Project ID>
เนื่องจากรหัสโปรเจ็กต์ของฉันคือ "key-management-433319" คำสั่งของฉันมีลักษณะดังนี้
export AUTOKEY_PROJECT=key-management-433319
- เรียกใช้คำสั่งต่อไปนี้เพื่อเรียกใช้คำสั่งจากโปรเจ็กต์คีย์ของคุณ
gcloud config set project $AUTOKEY_PROJECT
เมื่อได้รับข้อความแจ้ง ให้อนุญาต Cloud Shell โดยคลิก "ให้สิทธิ์"
- เปิดใช้ Cloud KMS API โดยการเรียกใช้คำสั่งต่อไปนี้
gcloud services enable cloudkms.googleapis.com kmsinventory.googleapis.com
- เรียกใช้คำสั่งต่อไปนี้เพื่อบันทึกหมายเลขโครงการของคุณเป็นตัวแปรชื่อ AUTOKEY_PROJECT_NUMBER
export AUTOKEY_PROJECT_NUMBER=$(gcloud projects list \
--filter="$(gcloud config get-value project)" \
--format="value(PROJECT_NUMBER)")
- บันทึกอีเมลหลักเป็นตัวแปรโดยเรียกใช้คำสั่งต่อไปนี้
export KEY_ADMIN_EMAIL=<paste your Principal's email>
- ให้สิทธิ์ผู้ดูแลระบบ Cloud KMS ในโปรเจ็กต์หลักแก่ผู้ใช้ที่เป็นผู้ดูแลระบบ Cloud KMS
gcloud projects add-iam-policy-binding $AUTOKEY_PROJECT_NUMBER \
--role=roles/cloudkms.admin \
--member=user:$KEY_ADMIN_EMAIL
6. ตั้งค่า Agent บริการ Cloud KMS
Agent บริการ Cloud KMS สำหรับโปรเจ็กต์คีย์จะสร้างคีย์และใช้การเชื่อมโยงนโยบาย IAM ระหว่างการสร้างทรัพยากรในนามของผู้ดูแลระบบ Cloud KMS ที่เป็นมนุษย์ Agent บริการ Cloud KMS ต้องมีสิทธิ์ของผู้ดูแลระบบ Cloud KMS จึงจะสร้างและกำหนดคีย์ได้
- ค้นหารหัสองค์กรด้วยคำสั่งต่อไปนี้
gcloud organizations list | grep -P -i 'ID:' | grep -i '[0-9]'
- คัดลอกรหัสองค์กร - นี่คือผลลัพธ์ที่เป็นตัวเลขที่ไฮไลต์ด้วยสีแดง
- บันทึกรหัสองค์กรเป็นตัวแปรชื่อ ORG_ID:
export ORG_ID=<paste your Organization ID>
- สร้าง Agent บริการ Cloud KMS โดยเรียกใช้คำสั่งต่อไปนี้
gcloud beta services identity create --service=cloudkms.googleapis.com \
--project=$AUTOKEY_PROJECT_NUMBER
- มอบบทบาทผู้ดูแลระบบ Cloud KMS ให้กับ Agent บริการ:
gcloud projects add-iam-policy-binding $AUTOKEY_PROJECT_NUMBER \
--role=roles/cloudkms.admin \
--member=serviceAccount:service-$AUTOKEY_PROJECT_NUMBER@gcp-sa-cloudkms.iam.gserviceaccount.com
- เพิ่มการเชื่อมโยงนโยบาย IAM เพื่อให้คุณดูการใช้งานคีย์ Cloud KMS ได้ การใช้งานคีย์จะให้ข้อมูลสำหรับแต่ละคีย์ รวมถึงจำนวนทรัพยากรที่มีการป้องกัน โปรเจ็กต์ และผลิตภัณฑ์ Google Cloud ที่ไม่ซ้ำกันซึ่งใช้คีย์ดังกล่าว ทุกคนที่มีบทบาทผู้ดู Cloud KMS เกี่ยวกับคีย์จะดูรายละเอียดระดับนี้ เรียกใช้คำสั่งต่อไปนี้
gcloud organizations add-iam-policy-binding $ORGANIZATION_ID \
--member="serviceAccount:service-org-$ORGANIZATION_ID@gcp-sa-cloudkms.iam.gserviceaccount.com" \
--role='roles/cloudkms.orgServiceAgent'
- มอบบทบาท Agent บริการองค์กร Cloud KMS (cloudkms.orgServiceAgent) ในทรัพยากรองค์กรให้กับบัญชีบริการ Cloud KMS
gcloud organizations add-iam-policy-binding $ORG_ID \
--member="serviceAccount:service-org-$ORG_ID@gcp-sa-cloudkms.iam.gserviceaccount.com" \
--role='roles/cloudkms.orgServiceAgent'
- มอบบทบาทผู้ดูทรัพยากรที่มีการป้องกันของ Cloud KMS บนทรัพยากรองค์กรให้กับทุกคนที่ต้องการดูรายละเอียดการใช้งานที่สำคัญ
gcloud organizations add-iam-policy-binding $ORG_ID \
--member="user:$KEY_ADMIN_EMAIL" \
--role='roles/cloudkms.protectedResourcesViewer'
7. มอบบทบาทของผู้ใช้คีย์อัตโนมัติ
คุณต้องมอบบทบาทที่จำเป็นให้นักพัฒนาแอปของคุณก่อนจึงจะใช้คีย์อัตโนมัติได้ คุณมอบบทบาทในระดับโฟลเดอร์หรือที่ระดับโปรเจ็กต์ได้ บทบาทนี้ช่วยให้นักพัฒนาซอฟต์แวร์ขอคีย์จาก Agent บริการ Cloud KMS ขณะที่สร้างทรัพยากรในโฟลเดอร์หรือโปรเจ็กต์นั้นได้
ขั้นตอนแรกในการให้สิทธิ์บทบาทคือการบันทึกรหัสโฟลเดอร์
- ค้นหารหัสโฟลเดอร์ด้วยคำสั่งต่อไปนี้
gcloud projects describe $AUTOKEY_PROJECT | grep 'id' | grep -P -i '[0-9]+'
- คัดลอกรหัสโฟลเดอร์ - นี่คือส่วนที่ไฮไลต์ด้วยสีแดง
- บันทึกรหัสโฟลเดอร์เป็นตัวแปรชื่อ FOLDER_ID
export FOLDER_ID=<paste the folder ID>
สำหรับวัตถุประสงค์ของห้องทดลองนี้ เราจะกำหนดผู้ดูแลระบบคีย์เป็นผู้ใช้คีย์อัตโนมัติ อย่างไรก็ตาม ในกรณีการใช้งานเวอร์ชันที่ใช้งานจริงและในองค์กรที่มีบุคคลมากกว่า 1 คน ผู้ดูแลระบบคีย์จะแตกต่างจากนักพัฒนาซอฟต์แวร์ที่ใช้คีย์อัตโนมัติ
- มอบบทบาท/cloudkms.autokeyUser ที่ระดับโฟลเดอร์:
gcloud resource-manager folders add-iam-policy-binding \
$FOLDER_ID --role=roles/cloudkms.autokeyUser \
--member=user:$KEY_ADMIN_EMAIL
8. เปิดใช้คีย์อัตโนมัติของ Cloud KMS ในโฟลเดอร์ทรัพยากร
ในขั้นตอนนี้ คุณจะเปิดใช้คีย์อัตโนมัติของ Cloud KMS ในโฟลเดอร์ทรัพยากรและระบุโปรเจ็กต์ Cloud KMS ที่จะมีทรัพยากรคีย์อัตโนมัติสำหรับโฟลเดอร์นั้น การเปิดใช้คีย์อัตโนมัติในโฟลเดอร์นี้จะเป็นการเปิดใช้คีย์อัตโนมัติสำหรับโปรเจ็กต์ทรัพยากรทั้งหมดในโฟลเดอร์
- ในคอนโซล Google Cloud ให้ไปที่หน้าการควบคุม KMS
- คลิกเลือกโฟลเดอร์
- จากเครื่องมือเลือกบริบท ให้เลือกโฟลเดอร์ที่คุณต้องการเปิดใช้คีย์อัตโนมัติ ซึ่งจะเป็นโฟลเดอร์เดียวกับที่คุณสร้างไว้ก่อนหน้านี้ ซึ่งมีโปรเจ็กต์ทรัพยากรและโปรเจ็กต์การจัดการคีย์ ซึ่งควรมีลักษณะดังนี้
- คลิก "เปิดใช้"
- คลิกเรียกดูเพื่อเลือกโปรเจ็กต์คีย์
- เลือกโปรเจ็กต์การจัดการคีย์ แล้วคลิกส่ง
ข้อความจะยืนยันว่ามีการเปิดใช้คีย์อัตโนมัติของ Cloud KMS ในโฟลเดอร์แล้ว หน้าการควบคุม KMS ควรมีลักษณะดังนี้
9. สร้างทรัพยากรที่มีการป้องกันโดยใช้คีย์อัตโนมัติของ Cloud KMS
ดิสก์ถาวรของ Compute Engine
คีย์อัตโนมัติจะสร้างคีย์ใหม่สำหรับดิสก์ อิมเมจ และอิมเมจเครื่องแต่ละรายการในตำแหน่งเดียวกันกับทรัพยากรที่กำลังสร้าง
หากต้องการสร้างดิสก์ ให้ทำตามขั้นตอนต่อไปนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าดิสก์
- คลิก "สร้างดิสก์" แล้วป้อนคุณสมบัติของดิสก์ใหม่
- เลือกคีย์ Cloud KMS ในส่วนการเข้ารหัส
- สำหรับประเภทคีย์ ให้เลือก Cloud KMS ที่มีคีย์อัตโนมัติ แล้วคลิกขอคีย์ใหม่ จะมีข้อความระบุเมื่อสร้างคีย์ของคุณสำเร็จแล้วและพร้อมใช้งานแล้ว
- คลิก "สร้าง" เพื่อสร้างดิสก์ให้เสร็จสิ้น
คุณสามารถทำตามขั้นตอนที่คล้ายกันเพื่อสร้างทรัพยากรอินสแตนซ์ VM, อิมเมจ และอิมเมจเครื่องที่มีการป้องกัน
ที่เก็บข้อมูล Google Cloud Storage
คีย์อัตโนมัติจะสร้างคีย์ใหม่ในตำแหน่งเดียวกับที่เก็บข้อมูล ระบบจะกำหนดคีย์ที่สร้างโดยคีย์อัตโนมัติให้เป็นคีย์เริ่มต้นของที่เก็บข้อมูล
คีย์อัตโนมัติจะไม่สร้างคีย์สำหรับออบเจ็กต์ โดยค่าเริ่มต้น ออบเจ็กต์ที่สร้างในที่เก็บข้อมูลจะใช้คีย์เริ่มต้นของที่เก็บข้อมูล หากต้องการเข้ารหัสออบเจ็กต์โดยใช้คีย์อื่นที่ไม่ใช่คีย์เริ่มต้นของที่เก็บข้อมูล คุณสามารถสร้าง CMEK ด้วยตนเองและใช้คีย์นั้นเมื่อสร้างออบเจ็กต์
- ในคอนโซล Google Cloud ให้ไปที่หน้าสร้างที่เก็บข้อมูล
- เลือกชื่อถาวรที่ไม่ซ้ำกันทั่วโลก
- เลือกตำแหน่งข้อมูล
- ไปที่ "เลือกวิธีปกป้องข้อมูลออบเจ็กต์" ส่วน
- คลิก "เลือกวิธีปกป้องข้อมูลออบเจ็กต์" เพื่อขยายส่วน
- ขยายส่วนการเข้ารหัสข้อมูลและเลือกคีย์ Cloud KMS
- สำหรับประเภทคีย์ ให้เลือก Cloud KMS ที่มีคีย์อัตโนมัติ แล้วคลิกขอคีย์ใหม่ จะมีข้อความระบุเมื่อสร้างคีย์ของคุณสำเร็จแล้วและพร้อมใช้งานแล้ว
- คลิก "สร้าง" เพื่อสร้างที่เก็บข้อมูลให้เสร็จสิ้น หากคุณได้รับข้อความแจ้งพร้อมกล่องโต้ตอบที่อธิบายว่า "ระบบจะป้องกันการเข้าถึงแบบสาธารณะ" คลิก "ยืนยัน"
ชุดข้อมูล BigQuery
สำหรับชุดข้อมูลใหม่แต่ละชุด คีย์อัตโนมัติจะสร้างคีย์ใหม่ในตำแหน่งเดียวกับทรัพยากร ซึ่งจะกลายเป็นคีย์เริ่มต้นของชุดข้อมูล คีย์อัตโนมัติจะไม่สร้างคีย์สำหรับตาราง การค้นหา ตารางชั่วคราว หรือโมเดล โดยค่าเริ่มต้น ทรัพยากรเหล่านี้จะได้รับการปกป้องโดยคีย์เริ่มต้นของชุดข้อมูล หากต้องการปกป้องทรัพยากรในชุดข้อมูลโดยใช้คีย์อื่นที่ไม่ใช่คีย์เริ่มต้นของชุดข้อมูล คุณจะสร้าง CMEK ด้วยตนเองและใช้คีย์นั้นเมื่อสร้างทรัพยากรได้
คุณต้องมีบทบาทผู้ใช้ BigQuery ก่อนจึงจะสร้างชุดข้อมูล BigQuery ได้
- กลับไปที่ Cloud Shell
- ตั้งค่า Cloud Shell เพื่อเรียกใช้คำสั่งจากโปรเจ็กต์ทรัพยากร
gcloud config set project $RESOURCE_PROJECT
- เรียกใช้คำสั่งต่อไปนี้เพื่อบันทึกหมายเลขโครงการของคุณเป็นตัวแปรชื่อ RESOURCE_PROJECT_NUMBER
export RESOURCE_PROJECT_NUMBER=$(gcloud projects list --filter="$(gcloud config get-value project)" --format="value(PROJECT_NUMBER)")
- มอบบทบาทผู้ใช้ BigQuery ให้ตนเอง
gcloud projects add-iam-policy-binding $RESOURCE_PROJECT_NUMBER \
--role=roles/bigquery.user \
--member=user:$KEY_ADMIN_EMAIL
ตอนนี้คุณมีบทบาทผู้ใช้ BigQuery แล้ว คุณจึงสร้างชุดข้อมูลและปกป้องชุดข้อมูลด้วยคีย์อัตโนมัติได้
- ในคอนโซล Google Cloud ให้ไปที่หน้า BigQuery
- ทำตามวิธีการเพื่อสร้างชุดข้อมูลจนกว่าจะไปถึงตัวเลือกขั้นสูง > การเข้ารหัส
- เลือกคีย์ Cloud KMS ในส่วนการเข้ารหัส
- สำหรับประเภทคีย์ ให้เลือก Cloud KMS ที่มีคีย์อัตโนมัติ แล้วคลิกขอคีย์ใหม่ จะมีข้อความระบุเมื่อสร้างคีย์ของคุณสำเร็จแล้วและพร้อมใช้งานแล้ว
- หากต้องการสร้างชุดข้อมูลให้เสร็จสิ้น ให้คลิก "สร้างชุดข้อมูล"
10. สำรวจคีย์ของคุณ
ในขั้นตอนนี้ คุณจะได้สำรวจคีย์ Autokey Cloud KMS ที่สร้างขึ้นในนามของคุณโดยไปที่หน้า Key Inventory หน้าคีย์พื้นที่โฆษณาจะให้ข้อมูลที่ครอบคลุมเกี่ยวกับคีย์การเข้ารหัสในโปรเจ็กต์ของคุณ โปรดทราบว่าข้อมูลอาจล่าช้า ตัวอย่างเช่น หากคุณสร้างทรัพยากรที่มีการป้องกันใหม่ ระบบจะไม่เพิ่มทรัพยากรที่มีการป้องกันและเวอร์ชันคีย์ที่เกี่ยวข้องลงในแท็บการติดตามการใช้งานโดยทันที ดูข้อจำกัดเพิ่มเติมที่นี่
- ในคอนโซล Google Cloud ให้ไปที่หน้าคีย์พื้นที่โฆษณา
- ไม่บังคับ: หากต้องการกรองรายการคีย์ ให้ป้อนข้อความค้นหาในช่อง filter_list ตัวกรอง แล้วกด Enter เช่น กรองตามตําแหน่ง คีย์ริง สถานะ หรือพร็อพเพอร์ตี้อื่นๆ ของคีย์
- คลิกชื่อของคีย์ที่คุณต้องการดูข้อมูลการใช้งาน
- คลิก "ภาพรวม" โปรดสังเกตว่ามีการสร้างคีย์ต่อทรัพยากร ชื่อคีย์แต่ละชื่อมีชื่อของทรัพยากรที่คีย์ปกป้องอยู่ (เช่น "compute-disk" หรือ "storage-bucket") คีย์อัตโนมัติของ Cloud KMS ช่วยให้แน่ใจว่าแต่ละคีย์มีการกำหนดเวลาสำหรับการหมุนเวียน 365 วันหลังจากการสร้างและแต่ละคีย์ได้รับการกำหนด "HSM" ระดับการปกป้อง
- คลิกแท็บการติดตามการใช้งาน โปรดสังเกตระดับของข้อมูลที่แสดง: ทรัพยากรแต่ละรายการที่มีการเข้ารหัสคีย์จะแสดงที่นี่พร้อมกับโปรเจ็กต์ ตำแหน่ง และวันที่สร้าง
- ไม่บังคับ: หากต้องการกรองรายการทรัพยากรที่มีการป้องกัน ให้ป้อนข้อความค้นหาในช่องตัวกรอง filter_list แล้วกด Enter
11. ขอแสดงความยินดี
ยินดีด้วย คุณสร้างทรัพยากร Google Cloud สำเร็จแล้ว และเข้ารหัสทรัพยากรดังกล่าวโดยอัตโนมัติตามคำขอด้วยคีย์อัตโนมัติของ Cloud KMS
ตอนนี้คุณได้ทราบขั้นตอนสำคัญที่จำเป็นสำหรับการตั้งค่าคีย์อัตโนมัติและใช้คีย์นี้ในการเข้ารหัสทรัพยากรโดยอัตโนมัติด้วยคีย์ Cloud KMS แล้ว
12. ขั้นตอนถัดไปคือ
อัปโหลดข้อมูลไปยังทรัพยากรที่เข้ารหัสด้วยคีย์อัตโนมัติ
- สร้างอินสแตนซ์ Google Compute Engine (GCE)
- แนบดิสก์ถาวรที่ป้องกันด้วยคีย์อัตโนมัติกับอินสแตนซ์ GCE
- อัปโหลดข้อมูลลงในชุดข้อมูล BigQuery
- อัปโหลดออบเจ็กต์ไปยังที่เก็บข้อมูล Google Cloud Storage
- โหลดข้อมูล Google Cloud Storage ลงใน BigQuery