Score:3

การใช้เงื่อนไขในการกำหนดบทบาท GCP เพื่อป้องกันไม่ให้ผู้ใช้เชิญผู้ใช้รายอื่นและจัดการเฉพาะบัญชีบริการ

ธง ca

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

ฉันทดลองกับสิ่งต่างๆ เช่น:

โครงการ gcloud add-iam-policy-binding <project> --member="user:[email protected]" --role="roles/accesscontextmanager.policyEditor" --condition='title="allow_admin_service_user_only",expression=resource .name.startsWith("iam.googleapis.com/projects/project/serviceAccounts")
โครงการ gcloud add-iam-policy-binding <project> --member="user:[email protected]" --role="roles/iam.roleAdmin" --condition='title="allow_admin_service_user_only",expression=resource .name.startsWith("iam.googleapis.com/projects/project/serviceAccounts")

พยายามหลายบทบาทเช่นกัน แต่ทั้งหมดล้มเหลวด้วยข้อผิดพลาดเดียวกัน:

ข้อผิดพลาด: (gcloud.projects.add-iam-policy-binding) ผู้ใช้ [[email protected]] ไม่มีสิทธิ์เข้าถึงอินสแตนซ์โครงการ [project:setIamPolicy] (หรืออาจไม่มีอยู่): การเข้าถึงการอัปเดตนโยบายถูกปฏิเสธ

คำถามคือ เป็นไปได้ไหมที่จะอนุญาตให้แก้ไข/เพิ่ม/ยกเลิกบทบาทในบัญชีบริการเท่านั้น และถ้าใช่ อย่างไร?

John Hanley avatar
cn flag
ฉันไม่ทราบคำตอบสำหรับการสร้างเงื่อนไขในบัญชีบริการ อย่างไรก็ตาม หากคุณทำได้ กลยุทธ์ของคุณก็จะล้มเหลว เงื่อนไขอนุญาตให้ผู้ใช้เปลี่ยนบทบาท IAM ในบัญชีบริการ ซึ่งหมายความว่าผู้ใช้จะสามารถใช้บัญชีบริการเพื่อข้ามเงื่อนไขที่คุณพยายามบังคับใช้ได้ ขึ้นอยู่กับตำแหน่งของเงื่อนไข (ORG, โฟลเดอร์, โครงการ) บัญชีบริการอาจสามารถลบเงื่อนไขได้
Score:1

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

1.- ขอให้ผู้ดูแลระบบความปลอดภัยสร้างคีย์ API ให้กับคุณ

2.- ถามผู้ดูแลระบบความปลอดภัยเพื่อ ให้สิทธิ์คุณเข้าถึงโครงการ เพื่อให้คุณสามารถสร้างคีย์ API ในโครงการเดียวกันกับที่เชื่อมโยงกับ API

3.- ถามผู้ดูแลระบบความปลอดภัยเพื่อ อนุญาตให้คุณเข้าถึงเพื่อเปิดใช้งาน API ในโครงการ Google Cloud ของคุณเอง เพื่อให้คุณสามารถสร้างคีย์ API ได้

เมื่อคุณมีแล้ว ให้ทำตามขั้นตอนต่อไป:

1.- ใน Cloud Console ไปที่ API และบริการสำหรับโครงการของคุณ

2.- ในหน้า Library ให้คลิก Private APIs หากคุณไม่เห็น API อยู่ในรายการ แสดงว่าคุณไม่ได้รับสิทธิ์ในการเปิดใช้ API

3.- คลิก API ที่คุณต้องการเปิดใช้งาน หากคุณต้องการความช่วยเหลือในการค้นหา API ให้ใช้ช่องค้นหา

4.- ในหน้าที่แสดงข้อมูลเกี่ยวกับ API ให้คลิก เปิดใช้งาน

URL ต่อไปนี้มีเอกสารอย่างเป็นทางการของ GCP สำหรับกระบวนการนั้น เปิดใช้งาน API ในโครงการ Google Cloud ของคุณ. นอกจากนี้ เราขอแนะนำให้คุณตรวจสอบว่าคุณมีบทบาทผู้ดูแลระบบความปลอดภัยสำหรับ IAM

ตอนนี้ เมื่อพูดถึงบทบาทของบัญชีบริการ ดูเหมือนว่าคุณได้ทดสอบบทบาทที่มีอยู่ทั้งหมดแล้ว และไม่มีบทบาทใดที่ตรงกับความต้องการของคุณ ดังนั้น คุณสามารถลองใช้ Custom Roles ซึ่งหมายถึงบทบาทที่คุณออกแบบโดยละเอียด หากต้องการสร้างบทบาทที่กำหนดเอง คุณสามารถเข้าถึงได้โดยตรงในหน้าจอที่ปรากฏขึ้นหลังจากที่คุณสร้างบัญชีบริการ ในฟิลด์ âSelect Roleâ รายการตัวเลือก เลือกตัวเลือก âManage Rolesâ และในหน้าจอต่อไปนี้ คุณจะเห็นปุ่ม â+Create Roleâ เป็นข้อความสีน้ำเงิน คุณจะสามารถสร้างบทบาทที่กำหนดเองซึ่งตรงกับความต้องการของคุณ ใน URL ต่อไปนี้ ฉันกำลังแชร์ข้อมูลอย่างเป็นทางการของ GCP กับคุณ ทำความเข้าใจกับบัญชีบริการ และ บทบาท.

โพสต์คำตอบ

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