มือใหม่ GCP ที่นี่ หวังว่าจะมีคำตอบด่วนที่ฉันขาดหายไป
ฉันมีโครงการที่มี GCE VM ทำงานอยู่ ฉันต้องการสำรองชุดข้อมูลเป็นครั้งคราวไปยังที่จัดเก็บวัตถุของ GCP แผนของฉันคือเรียกใช้ 'gsutil rsync ...' จากงาน cron
ฉันสร้างบัคเก็ตสำหรับงานที่จะใช้ ฉันไม่ได้แก้ไขสิทธิ์ บทบาท หรือสิ่งใดๆ ในบัคเก็ต
ฉันเรียกใช้ "sudo su -" เพื่อให้ฉันทำงานในฐานะ root เนื่องจากฉันคาดว่างาน cron จะทำ จากนั้นจึงพิมพ์
gsutil rsync -r -d <dir เพื่อสำรองข้อมูล> gs://<bucket>/
และฉันได้รับ
AccessDeniedException: 403 สิทธิ์ไม่เพียงพอ
ขณะอยู่ในสถานะนี้ ฉันพิมพ์ 'gcloud config list' และได้รับ
บัญชี = <xyz>[email protected]
enable_usage_reporting = จริง
โครงการ = <รหัสโครงการ>
การกำหนดค่าที่ใช้งานของคุณคือ: [ค่าเริ่มต้น]
นี่คือบัญชีบริการเริ่มต้นที่สร้างขึ้นเมื่อฉันสร้าง VM ฉันไม่ได้ทำการแก้ไขใดๆ
ในคอนโซล ฉันไปที่ IAM->บัญชีบริการ คลิกที่บัญชีบริการนี้ คลิกที่แท็บสิทธิ์ และฉันเห็นว่าบัญชีบริการนี้เป็นตัวแก้ไขใน <project id>
ในคอนโซล ฉันไปที่ Cloud Storage เรียกดู คลิกที่บัคเก็ตของฉัน ไปที่แท็บสิทธิ์ และฉันเห็นว่าบทบาทของ Editor มีบทบาท 'Storage Legacy Bucket Owner' และ 'Storage Legacy Object Owner' กำลังดูบทบาทเหล่านั้น ฉันได้รับแจ้งอย่างแรกคือการเข้าถึงแบบอ่าน/เขียนไปยังบัคเก็ตที่มีอยู่โดยมีสิทธิ์สร้าง/แสดงรายการ/ลบบนวัตถุ อย่างที่สองทำให้ฉันมีสิทธิ์อ่าน/เขียนวัตถุที่มีอยู่
ฉันได้ตรวจสอบแล้วว่าขณะนี้ถังว่างเปล่า
ฉันต้องทำอย่างไรเพื่อให้คำสั่ง gsutil ทำงานโดยมีสิทธิ์เพียงพอ